dba.plotMA {DiffBind}R Documentation

Generate MA and scatter plots of differential binding analysis results

Description

Generates MA and scatter plots of differential binding analysis results.

Usage

dba.plotMA(DBA, contrast=1, method=DBA$config$AnalysisMethod, 
           th=DBA$config$th, bUsePval=DBA$config$bUsePval, 
           fold=0, bNormalized=TRUE,
           factor="", bFlip=FALSE, bXY=FALSE, dotSize=.45, 
           bSignificant=TRUE, highlight=NULL,
           bSmooth=TRUE, bLoess=TRUE, xrange, yrange, ...)

Arguments

DBA

DBA object, on which dba.analyze should have been successfully run.

contrast

number of contrast to report on. See dba.show(DBA, bContrast=TRUE) to get contrast numbers.

Alternatively, an MA plot can be generated without a specific contrast, plotting one set of samples against another. In this case, contrast should be a list on length one or two. Each element of the list should be either a logical sample mask, or a vector of sample numbers. If the second set of samples is jot specified (list is length one), all the samples other than those specified will be used for the second group. The list elements should be named; these names will be used as labels for the sample groups in the plot.

method

method or vector of methods to plot results for:

th

significance threshold; all sites with FDR (or p-values, see bUsePval) less than or equal to this value will be colored red in the plot

bUsePval

logical indicating whether to use FDR (FALSE) or p-value (TRUE) for thresholding.

fold

will only include sites with fold change greater than this as significant (colored red).

If fold is greater than zero, and an explicit design was used for the contrast, the p-value and FDR will be re-calculated based on testing for changes greater than the specified fold change. For a DESeq2 analysis, this involves including the fold when calling DESeq2::results. For a edgeR analysis, edgeR::glmTreat is used.

bNormalized

logical indicating whether to plot normalized data using normalization factors computed by differential analysis method (TRUE) or raw read counts (FALSE).

factor

string to be prepended to plot main title; e.g. factor name.

bFlip

logical indicating that order of groups in contrast should be "flipped", allowing control of which sample group will have positive and which will have negative fold changes.

bXY

logical indicating whether to draw MA plot (FALSE) or XY scatter plot (TRUE).

dotSize

size of points on plot (cex).

bSignificant

Logical indicating if points corresponding to significantly differentially bound sites (based on contrast, th, bUsePval, and fold parameters) should be overlaid in red.

highlight

GRanges object with sites to highlight in green.

bSmooth

logical indicating that basic plot should be plotted using smoothScatter. Note that overlaid significant sites will be not plotted using a smoothing function.

bLoess

logical indicating that a MA plot should include a fitted loess curve.

xrange

vector of length 2 containing the desired minimum and maximum concentrations to plot.

yrange

vector of length 2 containing the desired minimum and maximum fold changes to plot.

...

passed to underlying plotting functions.

Author(s)

Rory Stark

See Also

dba.analyze

Examples

data(tamoxifen_analysis)

# default MA plot
dba.plotMA(tamoxifen)

# Show different normalizations
tamoxifen <- dba.normalize(tamoxifen,method=DBA_ALL_METHODS, 
                           library=DBA_LIBSIZE_PEAKREADS, background=FALSE)
tamoxifen <- dba.analyze(tamoxifen, method=DBA_ALL_METHODS)

par(mfrow=c(3,2))
dba.plotMA(tamoxifen,th=0,bNormalized=FALSE,sub="NON-NORMALIZED")
dba.plotMA(tamoxifen,th=0,bNormalized=FALSE,sub="NON-NORMALIZED")

dba.plotMA(tamoxifen,method=DBA_DESEQ2,bNormalized=TRUE,
           sub="DESeq2_RLE-RiP")
dba.plotMA(tamoxifen,method=DBA_EDGER,bNormalized=TRUE,
           sub="edgeR_TMM-RiP")

tamoxifen <- dba.normalize(tamoxifen, method=DBA_ALL_METHODS,
                           normalize=DBA_NORM_LIB, background=FALSE) 
tamoxifen <- dba.analyze(tamoxifen,method=DBA_ALL_METHODS)

dba.plotMA(tamoxifen,method=DBA_DESEQ2,bNormalized=TRUE, 
           sub="DESeq2_LIB-FULL")
dba.plotMA(tamoxifen,method=DBA_EDGER,bNormalized=TRUE,
           sub="edgeR_LIB-FULL")
           
# MA plots of samples without a contrast
data(tamoxifen_counts)
par(mfrow=c(2,2))
dba.plotMA(tamoxifen,list(Resistant=tamoxifen$masks$Resistant,
                          Responsive=tamoxifen$masks$Responsive),
                          bNormalized=FALSE)
dba.plotMA(tamoxifen,list(MCF7=tamoxifen$masks$MCF7),
                          bNormalized=FALSE)
dba.plotMA(tamoxifen, list(Sample1=1), bNormalized=FALSE)
dba.plotMA(tamoxifen, list(Random=sample(1:11,5)), bNormalized=FALSE)

#XY plots (with raw and normalized data)
data(tamoxifen_analysis)
par(mfrow=c(1,2))
dba.plotMA(tamoxifen,bXY=TRUE,bSmooth=FALSE,bNormalized=FALSE, 
           sub="NON_NORMALIZED")
dba.plotMA(tamoxifen,bXY=TRUE,bSmooth=FALSE,bNormalized=TRUE,
           sub="DESeq2-RLE-Background")

[Package DiffBind version 3.4.6 Index]