Description Usage Arguments Value Author(s) References See Also Examples
Estimate cross-platform consensus copy number given multi-platform copy number data and a segmentation. This is done by minimizing a weighted least squares criterion.
1 | cross.platform.consensus(segs, sigma2, platform.names, plots = TRUE)
|
segs |
A listed of cross-platform segmentations, returned by mpcbs.mbic. |
sigma2 |
A computed variance for each platform (see example below). |
platform.names |
A list of names for each platform. |
plots |
A logical indicating whether to make diagnostic plots. |
converged |
A logical indicating whether the weighted least squares has converged. |
consensus.cn |
A vector of same length as segs, consensus.cn[[k]] is the consensus copy number estimate over the anchor positions for the segmentation contained in segs[[k]]. |
alpha |
The fitted platform specific offset. |
r |
The fitted platform specific response ratio. |
theta |
Fitted intensity for each platform in each segment. |
Nancy R. Zhang
Zhang, NR, Senbabaoglu, Y. and Li, J.Z. (2009) Joint Estimation of DNA Copy Number from Multiple Platforms. Under review, download manuscript from http://www-stat.stanford.edu/~nzhang/web_multiplatform/
mpcbs, mpcbs.mbic, plot.crossplatform
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | data(mpcbs.example)
# there are 3 platforms represented in this data example: Illumina, Affymetrix, and Agilent.
names(mpcbs.example)
# K is the number of platforms.
K=3
# Store the chromosome positions in vector pos,
# the intensities in vector y:
pos=vector("list",K)
pos[[1]] = mpcbs.example$illu[,1]
pos[[2]] = mpcbs.example$affy[,1]
pos[[3]] = mpcbs.example$agil[,1]
y = vector("list",K)
y[[1]] = mpcbs.example$illu[,2]
y[[2]] = mpcbs.example$affy[,2]
y[[3]] = mpcbs.example$agil[,2]
# Names of the platforms:
platform.names=c("Illumina","Affymetrix","Agilent")
# Get the anchor set.
anchor = merge.pos(pos)
# Perform the segmentation.
seg<-mpcbs.mbic(y,pos,anchor, MAX.CHPTS=10, platform.names=platform.names,plots=TRUE)
# Compute platform specific variance terms.
sigma2 = rep(0,K)
for(k in 1:K) sigma2[k] = compute.var(y[[k]])
# When data from multiple chromosomes are available,
# put them in the list "segs". Now, the list has length 1.
segs=vector("list",1)
segs[[1]] = seg
res=cross.platform.consensus(segs, sigma2, platform.names, plots=TRUE)
consensus.cn = res$consensus.cn[[1]] # consensus.cn[t] is consensus copy number estimate at anchor$merged.pos[t]
# Finally, plot the cross platform consensus.
# Set parameter num.panels to K+1 (default is K), because we will plot consensus in (K+1)th panel.
plot.crossplatform(pos,y, yhat=seg$yhat, anchor=anchor,platform.names=platform.names, num.panels=K+1, col="darkgray")
plot(anchor$merged.pos, consensus.cn, type="l", lwd=2, col="red",
xlab="Genome Position", ylab="Log Ratio", main="Consensus Copy Number Estimate", cex.lab=2)
# Zoom in:
xmin=5.4e7; xmax=5.7e7
plot.crossplatform(pos,y, yhat=seg$yhat, anchor=anchor,platform.names=platform.names, num.panels=K+1, xlim=c(xmin,xmax), col="darkgray")
plot(anchor$merged.pos, consensus.cn, type="l", lwd=2, col="red",
xlab="Genome Position", main="Consensus Copy Number Estimate", cex.lab=2, xlim=c(xmin,xmax))
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.