About the three weights in limma
1
0
Entering edit mode
De-Jian ZHAO ▴ 240
@de-jian-zhao-2012
Last seen 10.2 years ago
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
• 1.1k views
ADD COMMENT
0
Entering edit mode
Matt Ritchie ▴ 460
@matt-ritchie-2048
Last seen 10.2 years ago
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
ADD COMMENT

Login before adding your answer.

Traffic: 805 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6