Description Usage Arguments Details Value Author(s) See Also Examples
Plot copy number and physical position given by a
CNSet
object for a set of genomic intervals stored in a
RangedDataCVN
object.
1 |
x |
A |
data |
A |
... |
A |
range |
A |
frame |
The genomic distance (basepairs) to the left and right of the start and stop
coordinates in the |
These functions plot copy number estimates versus physical
position. The function is particularly useful for multi-panel displays
in which the copy number estimates for a single range of a
GRanges
object appears in one panel. The size of the
multi-panel display depends on the number of ranges (rows) in the
GRanges
object.
An object of class trellis
.
R. Scharpf
To modify the plot appearance from the default, additional arguments
can be passed to panel.xyplot
, lpoints
, and
lrect
.
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 | ## simulated data
library(oligoClasses)
library(IRanges)
library(VanillaICE)
data(oligoSetExample, package="oligoClasses")
## The oligoSnpSet class will likely be deprecated and made defunct
## in a future release. Instead, we favor
## RangedSummarizedExperiment-derived classes defined in VanillaICE
oligoSet <- oligoSet[chromosome(oligoSet) == 1, ]
cn <- copyNumber(oligoSet)/100
cn <- log2((2^cn)/2)
gt <- calls(oligoSet)[,]
## simulate BAFs
bf <- rep(NA, length(gt))
u <- runif(length(gt))
bf[gt==1 & u > 0.5] <- runif(sum(gt==1 & u > 0.5), 0, 0.05)
bf[gt==1 & u <= 0.5] <- runif(sum(gt==1 & u <= 0.5), 0.95, 1)
bf[gt==2] <- runif(sum(gt==2), 0.45, 0.55)
bf[900:1200] <- runif(length(900:1200), 0, 0.03)
gr <- GRanges(paste0("chr", chromosome(featureData(oligoSet))),
IRanges(position(oligoSet), width=1))
cn <- as.matrix(cn)
bf <- as.matrix(bf)
dimnames(cn) <- dimnames(bf) <- list(featureNames(oligoSet), sampleNames(oligoSet))
se <- SnpArrayExperiment(cn=cn,
baf=bf,
rowRanges=gr,
isSnp=rep(TRUE, length(gr)))
fit <- hmm2(se)
g <- as(segs(fit), "GRanges")
## To visualize each range in it's own panel surrounded by a
## frame of 2,000,000 bases:
## (here the frames are overlapping, but the method could be
## applied more generally to a collection of ranges from
## different chromsomes and samples)
xyplot2(cn~x | range, data=oligoSet,
range=g,
frame=2e6, panel=xypanel,
cex=2,
pch=".",
col.het="salmon",
fill.het="salmon",
col.hom="royalblue",
fill.hom="royalblue",
state.cex=0.5,
border="orange", scales=list(x="free"),
par.strip.text=list(cex=0.5),
xlab="Mb", ylab=expression(log[2]("copy number")))
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.