voomWithQualityWeights {limma} | R Documentation

## Combining observational-level with sample-specific quality weights for RNA-seq analysis

### Description

Combine voom observational-level weights with sample-specific quality weights in a designed experiment.

### Usage

    voomWithQualityWeights(counts, design = NULL, lib.size = NULL, normalize.method = "none",
                 plot = FALSE, span = 0.5, var.design = NULL, var.group = NULL,
                 method = "genebygene", maxiter = 50, tol = 1e-5, trace = FALSE, col = NULL, ...)

### Arguments

`counts` | a numeric `matrix` containing raw counts, or an `ExpressionSet` containing raw counts, or a `DGEList` object.
`design` | design matrix with rows corresponding to samples and columns to coefficients to be estimated. Defaults to the unit vector meaning that samples are treated as replicates.
`lib.size` | numeric vector containing total library sizes for each sample. If `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.
`normalize.method` | normalization method to be applied to the logCPM values. Choices are as for the `method` argument of `normalizeBetweenArrays` when the data is single-channel.
`plot` | logical, should a plot of the mean-variance trend and sample-specific weights be displayed?
`span` | width of the lowess smoothing window as a proportion.
`var.design` | design matrix for the variance model. Defaults to the sample-specific model whereby each sample has a distinct quality weight.
`var.group` | vector or factor indicating groups to have different quality weights. This is another way to specify `var.design` for groupwise variance models.
`method` | character string specifying the method used to estimate the quality weights. Choices are `"genebygene"` or `"reml"`.
`maxiter` | maximum number of iterations allowed for quality weight estimation when `method = "reml"`.
`tol` | convergence tolerance for quality weight estimation when `method = "reml"`.
`trace` | logical. If `TRUE` then diagnostic information is output at each iteration of the `"reml"` algorithm, or at every 1000th iteration of the `"genebygene"` algorithm.
`col` | colours to use in the barplot of sample-specific weights if `plot=TRUE`). If `NULL`, then bars are plotted in grey.
`...` | other arguments are passed to `voom` and hence to `lmFit`.

### Details

This function is an alternative to `voom` and, like `voom`, is intended to process RNA-seq data prior to linear modeling in limma. It combines observational-level weights from `voom` with sample-specific weights estimated using the `arrayWeights` function. The method is described by Liu et al (2015).

### Value

An `EList` object similar to that from `voom`, with an extra column `sample.weights` containing the vector of sample quality factors added to the `targets` data.frame. The `weights` component combines the sample weights and the usual voom precision weights.

### Author(s)

Matthew Ritchie, Cynthia Liu, Gordon Smyth

### References

Liu, R., Holik, A. Z., Su, S., Jansz, N., Chen, K., Leong, H. S., Blewitt, M. E., Asselin-Labat, M.-L., Smyth, G. K., Ritchie, M. E. (2015). Why weight? Combining voom with estimates of sample quality improves power in RNA-seq analyses. Nucleic Acids Research 43, e97. http://nar.oxfordjournals.org/content/43/15/e97

### See Also

`voom`, `arrayWeights`

See also `voomLmFit` in the edgeR package.

A summary of limma functions for RNA-seq analysis is given in 11.RNAseq.

[Package limma version 3.50.3 Index]