之前有个帖子介绍了热图,楼主在这里再分享一个画热图的例子
一般我们作热图都会先对数据进行均一化处理,以消除因量纲差异导致的聚类关系失真、数值波动范围过大的影响。(这是正常而又正确的)
但是当分析的样品只有两个的时候,数据均一化就失去了意义了,为什么呢?
先看下面的例子:
左面的图是进行了Z-score均一化后画出来的热图,只有红色和绿色两种颜色,没有过渡色,非常难看。为什么会这样呢?
原因就在于,Z-score是一种对数据进行标准化的方法,其计算方法为减去均值除以标准差。
当只有两个样本时,每个数据减去均值后必定是一正一负,并且绝对值相等,再除以标准差,这就使得所有样本标准化后的值都只有一正一负两个数值了。所以热图就呈现出只有一种红色和一种绿色。
右面的图是没有进行数据均一化的,用基因的表达量RPKM值来画,这就比较正常了,有颜色渐变。但是大家有没有发现,刻度尺范围比较大,绝大部分是绿色?
这是因为绝大部分的基因表达量都在10以下,只有两个基因在30以上,这就使得颜色都往绿色扎堆了。试想想,如果有一两个基因的表达量异常高,这个热图可能也就是几乎一片绿了。
这个时候,比较好的方法是用两个样品基因表达量的差异倍数来作图,这样就变成单列热图了,可以消除异常高表达基因对整体热图的影响,并且直观展现两个样品之间的基因表达量差异。如下图所示,是不是好看清晰多了?
所以,做热图前对数据进行均一化还是非常有必要的。两个样品画热图,不能进行数据均一化,有时候要根据数据具体情况,用两个样品基因表达量的差异倍数来画热图。嗯,就酱紫~
|