Array weights in dpcDE
1
0
Entering edit mode
Matt • 0
@1578aa84
Last seen 15 hours ago
United States

How does limpa handle imputed values when calculating array weights? The imputation of values can substantially reduce the range of weights-- is the amount of imputation in a sample somehow accounted for? This particular dataset has heavy imputation in some samples.


# data_pre: log2 intensities as measured, before limpa imputation by dpcImpute()
# data_post: log2 intensities as output by dpcImpute()

> tt = data.frame(pre_weights=arrayWeights(data_pre),
+            post_weights=arrayWeights(data_post[,colnames(data_pre)]))

>            
> summary(tt)
  pre_weights         post_weights   
 Min.   : 0.009924   Min.   :0.5663  
 1st Qu.: 0.011596   1st Qu.:0.5762  
 Median : 5.983867   Median :1.1323  
 Mean   : 8.051758   Mean   :1.1037  
 3rd Qu.:14.724002   3rd Qu.:1.5426  
 Max.   :22.258503   Max.   :1.6646  
> tt
    pre_weights post_weights
1   2.306591830    0.7541554
2   2.498446087    0.8467711
3   2.450250245    0.8759457
4  13.167538830    1.3885982
5  17.361643218    1.4867901
6  17.193338162    1.5182567
7   9.469287812    1.6144494
8  13.161585607    1.6088279
9  12.145731036    1.6645804
10 17.608502263    1.4903662
11 22.258502590    1.5507118
12 15.242823334    1.6368382
13  0.009924181    0.5776928
14  0.011284997    0.5757023
15  0.011490783    0.5677605
16  0.011463586    0.5663395
17  0.011570698    0.5704572
18  0.011671709    0.5716048
limpa • 110 views
ADD COMMENT
2
Entering edit mode
@gordon-smyth
Last seen 9 hours ago
WEHI, Melbourne, Australia

The uncertainty of quantification is fully accounted for in the dpcDE() analysis, including in the computation of sample weights.

However, you can't use arrayWeights() in conjunction with limpa. To estimate sample weights in a limpa pipeline, you must specify sample.weights=TRUE as part of the dpcDE() call. Running arrayWeights() yourself is not equivalent to what dpcDE() does, because it will simply ignore the limpa standard errors. See limpa FAQs 4 and 5: https://smythlab.github.io/limpa/FAQ.html. FAQ 8 might be relevant to your data as well.

Even in regular limma pipelines, it doesn't make sense to run arrayWeights() without a design matrix. Your use of arrayWeights() without a design matrix on the pre data doesn't seem relevant, and the resulting weights seem quite wild.

Note that there is no particular reason why samples with lots of missing values should necessarily get large or small sample weights. The uncertainty of quantification is already built into the regular dpcDE-vooma observation weights, so the sample weights are something extra.

See https://smythlab.github.io/limpa/ccRCC.html for a fully worked limpa case study including sample weights.

BTW, I've renamed the dpcImpute() function to dpcQuantByRows() in the latest version of limpa, in order to emphasise that the limpa quantification process is not the same as imputation.

ADD COMMENT

Login before adding your answer.

Traffic: 1869 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