Question: FPM value and batch correction
0
6 days ago by
Emir0
Emir0 wrote:

Dear all, I have a bulk-rna dataset which I have analyzed by DESEQ2 and I have batch corrected it using limma package and removeBatchEffect() function. I would like to calculate the FPM value for expression data through fpm() function of deseq2. I know it will use the raw data to calculate these value. I have created a heatmap from my batch corrected data for some genew and I wanted to also plot the fpm value for these genes but then due to the fact I mentioned, the activity of my genes from heatmap in each condition will not exactly correspond to their expression from FPM table. How one should deal with this problem? can I also correct the FPM data for batches? What would be the appropriate way?

Thanks a lot!

limma deseq2 • 70 views
modified 5 days ago by Michael Love25k • written 6 days ago by Emir0
Answer: FPM value and batch correction
0
6 days ago by
Gordon Smyth38k
Walter and Eliza Hall Institute of Medical Research, Melbourne, Australia
Gordon Smyth38k wrote:

You seem to be mixing a lot of things, and it is not clear how you're doing that.

If you have run removeBatchEffect() in limma, then presumably you must have already converted to log-CPM values. So there's no need to run FPM because FPM and CPM are the same thing. If you want to unlog the log-CPM values, just use 2^x where x is the output from removeBatchEffects.

Dear Gordon, Thanks for you reply. Please have a look at my comments below and let me know if I am more clear now.

Dear Gordon, Thanks for you reply. Please have a look at my comments below and let me know if I am more clear now.

Answer: FPM value and batch correction
0
5 days ago by
Michael Love25k
United States
Michael Love25k wrote:

Agree with Gordon that you are mixing various pipelines. As in the DESeq2 vignette if you want to remove batch effect variation for heatmaps etc, we recommend to do so on log scale data, so using vst() first. See the FAQ in our vignette.