voomWithDreamWeights {variancePartition}R Documentation

Transform RNA-Seq Data Ready for Linear Mixed Modelling with dream()

Description

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

Usage

voomWithDreamWeights(counts, formula, data, lib.size = NULL,
  normalize.method = "none", span = 0.5, plot = FALSE,
  save.plot = FALSE, BPPARAM = bpparam(), ...)

Arguments

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'.

Details

Adapted from vomm() in limma v3.40.2

Value

An 'EList' object just like the result of limma::voom()

See Also

limma::voom()

Examples

# 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")



[Package variancePartition version 1.14.1 Index]