voomWithDreamWeights {variancePartition} | R Documentation |
Transform count data to log2-counts per million (logCPM), estimate the mean-variance relationship and use this to compute appropriate observation-level weights. The data are then ready for linear mixed modelling with dream(). This method is the same as limma::voom(), except that it allows random effects in the formula
voomWithDreamWeights(counts, formula, data, lib.size = NULL, normalize.method = "none", span = 0.5, plot = FALSE, save.plot = FALSE, BPPARAM = bpparam(), ...)
counts |
a numeric 'matrix' containing raw counts, or an 'ExpressionSet' containing raw counts, or a 'DGEList' object. Counts must be non-negative and NAs are not permitted. |
formula |
specifies variables for the linear (mixed) model. Must only specify covariates, since the rows of exprObj are automatically used a a response. e.g.: ~ a + b + (1|c) Formulas with only fixed effects also work, and lmFit() followed by contrasts.fit() are run. |
data |
data.frame with columns corresponding to formula |
lib.size |
numeric vector containing total library sizes for each sample. Defaults to the normalized (effective) library sizes in 'counts' if 'counts' is a 'DGEList' or to the columnwise count totals if 'counts' is a matrix. |
normalize.method |
the microarray-style normalization method to be applied to the logCPM values (if any). Choices are as for the 'method' argument of 'normalizeBetweenArrays' when the data is single-channel. Any normalization factors found in 'counts' will still be used even if 'normalize.method'="none". |
span |
width of the lowess smoothing window as a proportion. |
plot |
logical, should a plot of the mean-variance trend be displayed? |
save.plot |
logical, should the coordinates and line of the plot be saved in the output? |
BPPARAM |
parameters for parallel evaluation |
... |
other arguments are passed to 'lmer'. |
Adapted from vomm() in limma v3.40.2
An 'EList' object just like the result of limma::voom()
limma::voom()
# library(variancePartition) library(edgeR) library(BiocParallel) data(varPartDEdata) # normalize RNA-seq counts dge = DGEList(counts = countMatrix) dge = calcNormFactors(dge) # specify formula with random effect for Individual form <- ~ Disease + (1|Individual) # compute observation weights vobj = voomWithDreamWeights( dge[1:20,], form, metadata) # fit dream model res = dream( vobj, form, metadata) # extract results topTable(res, coef="Disease1")