How to extract the voom normalized value for each observation?
2
1
Entering edit mode
harelarik ▴ 60
@harelarik-13564
Last seen 2.6 years ago
Israel

### I want to use the output values of voomWithQualityWeights as an input for further analysis (e.g., input for network).

#### The outputs of voomWithQualityWeights  are:

1. The $E should actually be: logCpm+0.5 for each gene regardless of voom normalization. That does not include the voom normalization. 2. weights- are "numeric matrix of inverse variance weights" . These are probably only the weights for each observation (observation= gene X sample). 3.$sample.weights- weight normalization per sample

### How do I extract the voom normalized value for each observation? Is it  $E*weight of each observation? (just multiplication?)? How should I combine the sample weight? Thank you. voomWithQualityWeights output • 4.3k views ADD COMMENT 0 Entering edit mode The 'weights' output from running voomWithQualityWeights() already combines both the observational and sample-specific weights. These weights are relative though and only make sense in the context of a linear model (i.e. in a per gene analysis). I would not recommend just multiplying the logCPM values by them and using them in your network analysis. ADD REPLY 0 Entering edit mode Thank you very much. I. Are the$E values are "logCpm+0.5" transformation of raw counts or the of  TMM values (made by calcNormFactors(y))?

II. Considering one found Differentially expressed genes, based on  voom values, and would like to continue to downstream analysis (e.g., network analysis). Which values would you think would be most consistent to use:

* This question was answered by Gordon below.

a. The \$E (logCpm+0.5) values?

b. Some other form of variance stabilization values.

For example the out put of the   varianceStabilizingTransformatio() function from DESeq2?

c. Other option?

1
Entering edit mode
@steve-lianoglou-2771
Last seen 15 months ago
United States

I doubt you can combine these into a single number in any meaningful way.

You need an algorithm that can take observations and their weights and use them productively together ...

0
Entering edit mode

Thank you!

0
Entering edit mode
@gordon-smyth
Last seen 1 minute ago
WEHI, Melbourne, Australia

I always recommend cpm(counts, log=TRUE, prior.count=3) for the purpose of other down-stream analyses, because the voom quantities cannot be summarized in single combined quantity.

This is mentioned briefly in Section 2.15 of the edgeR User's Guide. Section 15.4 of the limma User's Guide is also of interest.

0
Entering edit mode

Thank you!

Would you recommend using logCPM on raw counts on or TMM transformed values?

0
Entering edit mode

Yes, I usually recommend TMM. Just use cpm(dge, log=TRUE, prior.count=3), where dge is the DGEList, and the normalization factors will be used automatically.

0
Entering edit mode

Dear Gordon, Thank you very much!