[BioC] About the three weights in limma

Matt Ritchie Matt.Ritchie at cancer.org.uk
Tue Oct 23 20:23:22 CEST 2007


Dear Dejian,

I'm glad to hear that you find the arrayWeights() and printtipWeights()
functions useful.

The heteroscedastic model fitted by these functions uses a gene-by-gene
(spot-by-spot) update algorithm to estimate the parameters in the variance
model by default.  With as few as 100 genes, reasonable parameter estimates
can still be recovered. I haven't tried using fewer than 100 genes though,
so I'm not sure how low you can go before this algorithm becomes unreliable.

You certainly need more than 1 gene to fit the joint mean-variance model
though.  Suppose we have an experiment with n arrays, so n observations for
each gene.  The mean model will have 1 or more parameters and the variance
model has n-1 parameters, which leaves us with as many or typically more
parameters than observations, which cannot be estimated.

I hope this helps.  Best wishes,

Matt

> Dear list members,
> 
> There are three kinds of weights in the latest version of limma
> (ver. 2.12.0). They are spot quality weights which is used in
> function read.maimages, array quality weights, and print-tip quality
> weights. All these three weights can be used in linear model fitting
> and the default weight is spot quality weight. As we can see in the
> source code of lmFit,"if (missing(weights) &&
> !is.null(object$weights))  weights <- object$weights"(type lmFit and
> enter for detail), thus the spot quality weights, inherited from the
> primitive RGList, are utilized in the linear model fitting by
> default. However,it can be changed by assigning to the parameter
> 'weights' of lmFit the array weights or print-tip weights produced
> by arrayWeights or printtipWeights.
> 
> The three weights are at three different levels, i.e. array level,
> print-tip level and spot level. Array level and print-tip level are
> based on heteroscedastic model and the corresponding weights are
> converted from the array variances or print-tip variances while the
> spot quality weights are not. The spot quality weights are generated
> using only the information of an individual spot.
> 
> My question comes. Can we extend the heteroscedastic model to spot
> level?
> 
> At array level, all the genes on a chip share the same weight, or
> the array weight produced by  arrayWeights. At the print-tip level,
> all the genes in the same print tip share the same weight, or
> print-tip weight produced by printtipWeights. In these two weights,
> I prefer the print-tip weight since it has a better resolution and
> it modulates the weight in a finer way. Then I cannot help thinking
> whether the weight can be modulated in an even finer way, or at the
> spot level. If we apply the heteroscedastic model to spots, can we
> convert the variance to  spot weights as done in array weight and
> print-tip weight?
> 
> I am not an expert in mathematics. I wonder whether this proposal is
> reasonable and feasible. Furthermore, I think the best weight for
> linear model fitting is print-tip weight up to now.
> 
> Thanks in advance for your reply.
> 
> Dejian Zhao



More information about the Bioconductor mailing list