arrayWeights {limma}R Documentation

Array Quality Weights

Description

Estimates relative quality weights for each array in a multi-array experiment.

Usage

arrayWeights(object, design = NULL, weights = NULL, var.design = NULL,
     method = "genebygene", maxiter = 50, tol = 1e-10, trace=FALSE)
arrayWeightsSimple(object, design = NULL,
     maxiter = 100, tol = 1e-6, maxratio = 100, trace=FALSE)

Arguments

object

object of class numeric, matrix, MAList, marrayNorm, ExpressionSet or PLMset containing log-ratios or log-values of expression for a series of microarrays.

design

the design matrix of the microarray experiment, with rows corresponding to arrays and columns to coefficients to be estimated. Defaults to the unit vector meaning that the arrays are treated as replicates.

weights

optional numeric matrix containing prior weights for each spot.

var.design

design matrix for the variance model. Defaults to the sample-specific model (i.e. each sample has a distinct variance) when NULL.

method

character string specifying the estimating algorithm to be used. Choices are "genebygene" and "reml".

maxiter

maximum number of iterations allowed.

tol

convergence tolerance.

maxratio

maximum ratio between largest and smallest weights before iteration stops

trace

logical variable. If true then output diagnostic information at each iteration of the '"reml"' algorithm, or at every 1000th iteration of the '"genebygene"' algorithm.

Details

The relative reliability of each array is estimated by measuring how well the expression values for that array follow the linear model.

The method is described in Ritchie et al (2006). A heteroscedastic model is fitted to the expression values for each gene by calling the function lm.wfit. The dispersion model is fitted to the squared residuals from the mean fit, and is set up to have array specific coefficients, which are updated in either full REML scoring iterations, or using an efficient gene-by-gene update algorithm. The final estimates of these array variances are converted to weights.

The data object object is interpreted as for lmFit. In particular, the arguments design and weights will be extracted from the data object if available and do not normally need to be set explicitly in the call; if any of these are set in the call then they will over-ride the slots or components in the data object.

arrayWeightsSimple is a fast version of arrayWeights with method="reml", no prior weights and no missing values.

Value

A vector of array weights.

Author(s)

Matthew Ritchie and Gordon Smyth

References

Ritchie, M. E., Diyagama, D., Neilson, van Laar, R., J., Dobrovic, A., Holloway, A., and Smyth, G. K. (2006). Empirical array quality weights in the analysis of microarray data. BMC Bioinformatics 7, 261. http://www.biomedcentral.com/1471-2105/7/261

See Also

voomWithQualityWeights

An overview of linear model functions in limma is given by 06.LinearModels.

Examples

## Not run: 
# Subset of data from ApoAI case study in Limma User's Guide
RG <- backgroundCorrect(RG, method="normexp")
MA <- normalizeWithinArrays(RG)
targets <- data.frame(Cy3=I(rep("Pool",6)),Cy5=I(c("WT","WT","WT","KO","KO","KO")))
design <- modelMatrix(targets, ref="Pool")
arrayw <- arrayWeightsSimple(MA, design)
fit <- lmFit(MA, design, weights=arrayw)
fit2 <- contrasts.fit(fit, contrasts=c(-1,1))
fit2 <- eBayes(fit2)
# Use of array weights increases the significance of the top genes
topTable(fit2)

## End(Not run)

[Package limma version 3.34.5 Index]