Question: Voom: estimation of mean-variance relationship with gene expression data normalized with methods other than cpm
gravatar for krishna312
2.1 years ago by
krishna3120 wrote:


I understand that voom normalizes the raw count data to log2 cpm data and then estimates the mean-variance relationship from the normalized data.

I want to know if there is strong bonding between log2 cpm data and estimation of mean-variance relationship? In other words, will I get sensible results if I modify the voom code such that it accepts normalized data such as TMM normalized data and then it estimates the mean-variance relationship from TMM normalized data?

I am developing a pipeline and want to implement voom. But, I want to give users option to input normalized data (with their choise of normalization method) if they wish. However, I am not sure if mean-variance relationship will still be as good as that calculated from log2 cpm data.

I will appreciate for any information in this regard!
Thanks in advance!!

ADD COMMENTlink modified 2.1 years ago by Gordon Smyth33k • written 2.1 years ago by krishna3120
gravatar for James W. MacDonald
2.1 years ago by
United States
James W. MacDonald46k wrote:

If you pass a DGEList to voom that has library size information that has been modified by TMM (note that TMM doesn't normalize the count data - it modifies the library sizes), then voom will use those data to calculate the cpm, before taking logs. This is the default for voom, so by definition the authors think this is a sensible thing to do, and you don't have to modify anything for this to occur.

You can also use any of the methods available to normalizeBetweenArrays for single color arrays. So you don't have to 'implement' voom to give your users the option of normalization methods, as it is already implemented in such a way to allow that to happen.

As an aside, have you read the help page for voom? It seems to me that this is clearly explained on the help page, but perhaps something is confusing?

ADD COMMENTlink written 2.1 years ago by James W. MacDonald46k

To add to James' answer; the voom authors probably didn't want to support arbitrary normalization schemes, because there's no guarantee that the users will normalize in a sensible manner that preserves the mean-variance relationship. See A: Differential expression of RNA-seq data using limma and voom() for a discussion of what happens when, say, FPKMs are used for normalization. Sometimes, having more flexible code just gives your users more rope.

ADD REPLYlink modified 2.1 years ago • written 2.1 years ago by Aaron Lun19k
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.2.0
Traffic: 195 users visited in the last hour