voom(counts, design = NULL, lib.size = NULL, normalize.method = "none", span = 0.5, plot = FALSE, save.plot = FALSE, ...)
matrix
containing raw counts, or an ExpressionSet
containing raw counts, or a DGEList
object.NULL
and counts
is a DGEList
then, the normalized library sizes are taken from counts
.
Otherwise library sizes are calculated from the columnwise counts totals.method
argument of normalizeBetweenArrays
when the data is single-channel.lmFit
.EList
object with the following components:
counts
save.plot
, list containing x and y coordinates for points in mean-variance plotsave.plot
, list containing coordinates of loess line in the mean-variance plotvoom
is an acronym for mean-variance modelling at the observational level.
The key concern is to estimate the mean-variance relationship in the data, then use this to compute appropriate weights for each observation.
Count data almost show non-trivial mean-variance relationships.
Raw counts show increasing variance with increasing count size, while log-counts typically show a decreasing mean-variance trend.
This function estimates the mean-variance trend for log-counts, then assigns a weight to each observation based on its predicted variance.
The weights are then used in the linear modelling process to adjust for heteroscedasticity.
In an experiment, a count value is observed for each tag in each sample. A tag-wise mean-variance trend is computed using lowess
. The tag-wise mean is the mean log2 count with an offset of 0.5, across samples for a given tag. The tag-wise variance is the quarter-root-variance of normalized log2 counts per million values with an offset of 0.5, across samples for a given tag. Tags with zero counts across all samples are not included in the lowess fit.
Optional normalization is performed using normalizeBetweenArrays
.
Using fitted values of log2 counts from a linear model fit by lmFit
, variances from the mean-variance trend were interpolated for each observation. This was carried out by approxfun
. Inverse variance weights can be used to correct for mean-variance trend in the count data.
voomWithQualityWeights
.
vooma
is similar to voom
but for microarrays instead of RNA-seq.A summary of functions for RNA-seq analysis is given in 11.RNAseq.