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,
      quiet = 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?
`quiet` | suppress message, default FALSE
`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.18.3 Index]