[BioC] What wrong with my data using LIMMA

TEXTORIS Julien julien.textoris at gmail.com
Tue Sep 13 20:20:38 CEST 2005

weinong han wrote:

>If i want to downweight the lower quality arrays using the arrayWeights() function in limma, how to do? please in detail.
>Gordon Smyth <smyth at wehi.edu.au> wrote:
>At 08:08 AM 6/09/2005, Adaikalavan Ramasamy wrote:
>>Gordon, this is a good point that you raise. But can I ask you another,
>>somewhat harder, question ?
>>What should one do when the an arrays fail quality assessment. Do we
>>simply omit it or can we possible correct for them. The decision to omit
>>might be the obvious one but it seems a bit wasteful when the the
>>proportion of arrays is large.
>>I would be equally happy to hear from others on the list as well.
>>Regards, Adai
>In some cases poor quality arrays will have to be dropped, but an 
>alternative is to downweight the lower quality arrays using the 
>arrayWeights() function in limma or array level standard errors from affyPLM.
>Bioconductor mailing list
>Bioconductor at stat.math.ethz.ch
>Best Regards
>Han Weinong  
> Click here to donate to the Hurricane Katrina relief effort. 
>	[[alternative HTML version deleted]]
>Bioconductor mailing list
>Bioconductor at stat.math.ethz.ch
 >? arrayWeights

in R that gives you this :

arrayWeights              package:limma              R Documentation

Array Quality Weights


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


     arrayWeights(object, design = NULL, weights = NULL, method = 
"genebygene", maxiter = 50, tol = 1e-15, trace=FALSE)


  object: object of class 'numeric', 'matrix', 'MAList', 'marrayNorm',
          'exprSet' 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

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

 maxiter: maximum number of iterations allowed.

     tol: convergence tolerance.

   trace: logical variable. If true then output diagnostic information
          at each iteration of '"reml"' algorithm.


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

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

     If 'object' is a 'PLMset', then expression values will be taken
     from the slot 'chip.coefs' and weights will be computed from
     'se.chip.coefs'. If 'object' is an 'exprSet', then expression
     values will be taken from the 'exprs' slot, but weights will not
     be computed.


     A matrix of array weights, suitable for use in the 'weights'
     argument of 'lmFit'.


     Matthew Ritchie

See Also:

     An overview of linear model functions in limma is given by


     ## Not run:
     array.wts <- arrayWeights(MA, design)
     fit.wts <- lmFit(MA, design, weights=array.wts)
     ## End(Not run)



More information about the Bioconductor mailing list