plotStackedOverview {ggbio} | R Documentation |
Plot stacked overview for genome with or without cytoband. It's a
wrapper around layout_karyogram
.
plotStackedOverview(obj, ..., xlab, ylab, main, geom = "rect", cytoband = FALSE, rescale = TRUE, rescale.range = c(0, 10)) plotKaryogram(obj, ..., xlab, ylab, main, geom = "rect", cytoband = FALSE, rescale = TRUE, rescale.range = c(0, 10))
obj |
a |
... |
arguments passed to graphic functions to control aesthetics. For
example, if you use geom "point", you need to provide "y" in
|
xlab |
label for x |
ylab |
label for y |
main |
title for plot. |
geom |
geom plotted on the stacked layout. Default is "rect", which showing
interval data as rectangles. It automatically figures out boundary
so you don't have to provide information in |
cytoband |
logical value. Default is |
rescale |
logical value. Default is |
rescale.range |
Numeric range of length 2. Default is (0, 10), because stacked layout draws a white background as chromosome space and this space is of height 10. We hide the y-axis since we don't need it for stacked overview. Sometime users may want to leave some margin for their data, they can use this arguments to control the rescale. |
Stacked overview is just a arbitrary layout for karyogram
layout, it use facets seqnaems ~ . as default to stack the genome. For
accurate mapping, you need to provide seqlengths
information in
your GRanges
object. Otherwise, data space will be computed for
stacked overview chromosome background, this is _NOT_ the actual
chromosome space!.
A ggplot
object.
Tengfei Yin
## Not run:
##D library(biovizBase)
##D data(hg19IdeogramCyto, package = "biovizBase")
##D library(GenomicRanges)
##D
##D ## you can also get ideogram by biovizBase::getIdeogram
##D
##D ## make shorter and clean labels
##D old.chrs <- seqnames(seqinfo(hg19IdeogramCyto))
##D new.chrs <- gsub("chr", "", old.chrs)
##D ## lst <- as.list(new.chrs)
##D names(new.chrs) <- old.chrs
##D new.ideo <- renameSeqlevels(hg19IdeogramCyto, new.chrs)
##D new.ideo <- keepSeqlevels(new.ideo, c(as.character(1:22) , "X", "Y"))
##D new.ideo
##D
##D
##D ## sample data
##D data(darned_hg19_subset500, package = "biovizBase")
##D idx <- is.na(values(darned_hg19_subset500)$exReg)
##D values(darned_hg19_subset500)$exReg[idx] <- "unknown"
##D
##D ## you need to add seqlengths for accruate mapping
##D chrnames <- unique(as.character(seqnames(darned_hg19_subset500)))
##D data(hg19Ideogram, package = "biovizBase")
##D seqlengths(darned_hg19_subset500) <- seqlengths(hg19Ideogram)[sort(chrnames)]
##D
##D
##D dn <- darned_hg19_subset500
##D values(dn)$score <- rnorm(length(dn))
##D
##D ## plotStackedOverview is a simple wrapper around this functions to
##D create a stacked layout
##D plotStackedOverview(new.ideo, cytoband = TRUE)
##D
##D plotStackedOverview(dn)
##D plotStackedOverview(dn, aes(color = exReg, fill = exReg))
##D ## this will did the trick for you to rescale the space
##D plotStackedOverview(dn, aes(x = midpoint, y = score), geom = "line")
##D plotStackedOverview(dn, aes(x = midpoint, y = score), geom = "line", rescale.range = c(4, 6))
##D ## no rescale
##D plotStackedOverview(dn, aes(x = midpoint, y = score), geom = "line", rescale = FALSE,
##D xlab = "xlab", ylab = "ylab", main = "main") + ylab("ylab")
##D
##D ## no object? will ask you for species and query the data on the fly
##D plotStackedOverview()
##D plotStackedOverview(cytoband = TRUE)
## End(Not run)