Heatmap with normalised count from DESEQ2
1
3
Entering edit mode
6.2 years ago
ZheFrench ▴ 590

I was wondering which is better (or if one of this method is wrong ) for plotting in a heatmap normalised count from deseq2 : counts(dds,normalized=TRUE) : z-score( log2(norm count +1) ), z-score(norm count ) or just log2(norm count +1)

deseq2 heatmap • 7.3k views
ADD COMMENT
0
Entering edit mode

Take a look at how they are used in the DESeq2 vignette: Heatmap of the count matrix.

Normalised [unlogged; untransformed] counts are used for QC purposes and are neither logged nor Z-scaled. In addition, the default passed to pheatmap is scale="none".

For downstream analyses, you should really be using the regularised log or variance stabilised counts, and you can Z-scale these, if you wish. You do not have to log these.

Elsewhere, from EdgeR, people use logged CPM-normalised counts for heatmaps. For other tools that derive values in FPKM, people usually log those too (they can also be Z-scaled via the zFPKM function). You'll never see me use FPKM data, though.

ADD REPLY
0
Entering edit mode
6.2 years ago

I've used scale() with scale=TRUE, center=TRUE on rlog-normalized, which is a bit like z-score. I've seen people also plot log-scaled expression values too.

One tip - if you use asinh() instead of log2(), you can create the same kind of scaling, but you don't have to add 1 in order to account for possible cells that equal 0. For comparison:

enter image description here

enter image description here

ADD COMMENT

Login before adding your answer.

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