\name{plotRegion} \alias{plotRegion} \alias{plotManyRegions} \title{ Plotting BSmooth methylation estimates } \description{ Functions for plotting BSmooth methylation estimates. Typically used to display differentially methylated regions. } \usage{ plotRegion(BSseq, region = NULL, extend = 0, main = "", addRegions = NULL, annoTrack = NULL, cex.anno = 1, geneTrack = NULL, cex.gene = 1.5, col = NULL, lty = NULL, lwd = NULL, BSseqStat = NULL, stat = "tstat.corrected", stat.col = "black", stat.lwd = 1, stat.lty = 1, stat.ylim = c(-8, 8), mainWithWidth = TRUE, regionCol = alpha("red", 0.1), addTicks = TRUE, addPoints = FALSE, pointsMinCov = 5, highlightMain = FALSE) plotManyRegions(BSseq, regions = NULL, extend = 0, main = "", addRegions = NULL, annoTrack = NULL, cex.anno = 1, geneTrack = NULL, cex.gene = 1.5, col = NULL, lty = NULL, lwd = NULL, BSseqStat = NULL, stat = "tstat.corrected", stat.col = "black", stat.lwd = 1, stat.lty = 1, stat.ylim = c(-8, 8), mainWithWidth = TRUE, regionCol = alpha("red", 0.1), addTicks = TRUE, addPoints = FALSE, pointsMinCov = 5, highlightMain = FALSE, verbose = TRUE) } \arguments{ \item{BSseq}{An object of class \code{BSseq}.} \item{region}{A \code{data.frame} (with start, end and chr columns) with 1 row or \code{GRanges} of length 1. If \code{region} is \code{NULL} the entire \code{BSseq} argument is plotted.} \item{regions}{A \code{data.frame} (with start, end and chr columns) or \code{GRanges}.} \item{extend}{Describes how much the plotting region should be extended in either direction. The total width of the plot is equal to the width of the region plus twice \code{extend}.} \item{main}{The plot title. The default is to construct a title with information about which genomic region is being plotted.} \item{addRegions}{A set of additional regions to be highlighted on the plots. As the \code{regions} argument.} \item{annoTrack}{A named list of \code{GRanges} objects. Each component is a track and the names of the list are the track names. Each track will be plotted as solid bars, and we routinely display information such as CpG islands, exons, etc.} \item{cex.anno}{\code{cex} argument when plotting \code{annoTrack}.} \item{geneTrack}{\strong{EXPERIMENTAL}: A \code{data.frame} with columns: \code{chr}, \code{start}, \code{end}, \code{gene_ID}, \code{exon_number}, \code{strand}, \code{gene_name}, \code{isoforms}. This interface is under active development and subject to change.} \item{cex.gene}{\code{cex} argument when plotting \code{geneTrack}.} \item{col}{The color of the methylation estimates, see details.} \item{lty}{The line type of the methylation estimates, see details.} \item{lwd}{The line width of the methylation estimates, see details.} \item{BSseqStat}{An object of class \code{BSseqStat}. If present, a new panel will be shown with the t-statistics.} \item{stat}{Which statistics will be plotted (only used is \code{BSseqStat} is not \code{NULL}.)} \item{stat.col}{color for the statistics plot.} \item{stat.lwd}{line width for the statistics plot.} \item{stat.lty}{line type for the statistics plot.} \item{stat.ylim}{y-limits for the statistics plot.} \item{mainWithWidth}{Should the default title include information about width of the plot region.} \item{regionCol}{The color used for highlighting the region.} \item{addTicks}{Should tick marks showing the location of methylation loci, be added?} \item{addPoints}{Should the individual unsmoothed methylation estimates be plotted. This usually leads to a very confusing plot, but may be useful for diagnostic purposes.} \item{pointsMinCov}{The minimum coverage a methylation loci need in order for the raw methylation estimates to be plotted. Useful for filtering out low coverage loci. Only used if \code{addPoints = TRUE}.} \item{highlightMain}{Should the plot region be highlighted?} \item{verbose}{Should the function be verbose?} } \details{ The correct choice of aspect ratio depends on the width of the plotting region. We tend to use \code{width = 10, height = 5}. \code{plotManyRegions} is used to plot many regions (hundreds or thousands), and is substantially quicker than repeated calls to \code{plotRegion}. This function has grown to be rather complicated over time. For custom plotting, it is sometimes useful to use the function definition as a skeleton and directly modify the code. } \value{This function is invoked for its side effect: producing a plot.} \seealso{ The package vignette has an extended example. } \author{Kasper Daniel Hansen \email{khansen@jhsph.edu}}