(1)生信知识-热图

参考链接:热图的解读及边界聚类的意义 - 知乎 (zhihu.com)

热图(heatmap)是分子生物学文章里(尤其是microarray, RNA-seq相关论文)经常出现的图片。但热图一般有哪些用途,具体涉及哪些不同的参数画法,需要清楚了解。

1.热图的用途

热图的用途一般有两个。

以RNA-seq为例,热图可以:
1)直观呈现多样本多个基因的全局表达量变化;
2)呈现多样本或多基因表达量的聚类关系。

第一个很容易理解,通过使用颜色(例如红绿的深浅)来展示多个样本多个基因的表达量高低,既直观又美观。

第二个需要考虑:聚类的对象是什么,是否需要聚类。

这里对典型的聚类进行举例。

例如,下图中即对12个基因的表达量(行代表基因,右侧字符为gene ID)及48个包含正常人和病人的样本(列代表样本,下方字符为样本ID)进行聚类的结果。我们很容易观察到图中基因群及人群样本在系统关系上的分类(图边界上方及图边界左边的树形结构)。
由此,我们从图中了解了人群样本的基因表达模式,并可以对他们进行分类。详细说来,聚类本质上利用的是多组值间两两的差异程度或者相似程度(比如欧式距离、相关系数等)作为依据,对多组值进行层级聚类,以最终得到样本间聚类的远近关系。


两组人12个基因表达的聚类图

那么什么聚类有什么用呢?

从样本角度讲,聚类可以观察到你采集的不同组别样本是否被分类到一起了。因为,理论上如果样本来自于同一个组,其特征应该是相似的,那么在进行聚类的时候就很容易因为相似就被聚在一起。而如果在实际操作中,某一个应该属于该组的样本被聚类到别的组了,那就说明这个样本本身的变异度很高,或者说在之前的样本采集或者测序过程中出了什么问题,则需要在正式进行接来的分析前考虑把该异常样本剔除掉。如下图如示,对照组(C)的样本聚类中出现了实验组(T),说明实验室组样本T可能有异常,需要进一步溯源其差异原因。必要情况下要予以剔除。

示例

从基因表达角度讲,聚类可以观察到那些基因群具体比较一致的表达变化。因为基因的上下游关系一般是连锁反应的,也就是说一个基因的表达增加可能能够带动一系列的基因的表达增加。那么从聚类图中就可以看到这个连锁的相关性,也是就看到一群基因被聚集在了一起(如上图边界左边的树状图)。

当你关心样本(或基因)在检测到的表达量水平如何分类,相关关系如何,那么你可以选择聚类。你可以选择:仅在样本水平聚类、仅在基因水平聚类或两者都进行。

但并非任何时候,聚类都是最佳的选择。尤其,当你预先设定好的样本排序或基因排序已经很有生物学意义,并且想在最终的图片中呈现,就应该放弃聚类。例如,你已经按照一个代谢通路对基因排好序,只想通过热图展示这条通路上基因的表达量如何变化。因为聚类会将原来很有生物学意义的基因排列打乱了。那么选择不聚类,维持原来数据的排序就是最好的选择(如下图)

植物生长激素代谢通路热图
  1. 热图中绘制软件和参数

如果你对R语言有所了解,那么R软件包中的ggplots是不错的选择,ggplots 的heatmap.2 命令中的参数Rowv(行聚类)和Colv(列聚类)。如果你不懂这些编程语言,也有其他简单易用的热图绘制软件供选择.

在对无论是microarray或者RNAseq进行聚类前一定要进行标准化(Normalization)。因为不进行标准化的数值有可能相互差异太大,导致热图的显示扭曲。这种标准化除了是对表达数据进行整理(比如去头去尾,保留数据群的3/4), 还包括对比如z-score变换,如下图有些microarray数据集的热图中可能会出现的图例;再比如有时候进行的log2变换。不过,这些都不会强制的,主要还是看自己数据的表达差异大不大,如果太大,就需要变换一下,使数据范围变窄一点,容易显示。

热图中的图例

比如:以RNAseq为例,某低丰度的基因的表达量在RPKM<10以内。而某高丰度基因则RPKM值达到100000+。如果不对数据进行均一化,很难在同一套颜色变化幅度范围内展现如此大尺度的数值变异。而如果进行Log10变换,则分别为log10(100000)=5,log10(10)=1。此时的层次在一个量级,热图的显示也不至于太跨度太大。通常,热图软件都可以选择对绘图数值进行标准正态分布化(Z score)。也就是将一组值通过均一化(scale),使其符合均值为0,方差为1的标准正态分布。

对于大部分的microarray热图图例的变化范围很小,一般是以0为中心,变异范围在±3以内,这些绘图基本都是基于数据的变换后实现的。对于RNAseq而言,由于counts都是正数的,所以其热图在标准化后也还是正数,此时的图例显示一般在0-10之间。

值得注意的是:(scale之后会有正有负)

在进行均一化时,我们是选择按行均一化、按列均一化还是对所有值均一化。

  • 按行均一化:将每一行数值分别单独处理,使其符合标准正态分布;
  • 按列均一化:将每一列数值分别单独处理,使其符合标准正态分布;
  • 对所有值均一化:将所有的行列数据一起处理,使其符合标准正态分布;

不同处理方式,背后的意义也会有所不同。
例如,如果在聚类过程中,你想让高表达的基因对样本的分类起到更大的作用,那么选择“对所有值均一化”也是较好的选择。
但通常在热图绘制过程中,我们一般是以基因为单位来观测这些表达量数值的变化的。这意味着,这些基因无论表达量高低,其地位理论上是平等的(至少也是相似的)。即,如果A基因表达量从10变化到20,B基因表达量从100变化到200,我们更关心它们变化的倍数(都是2倍)而不是变化的绝对值(10 vs 190)。那么,我们应该以基因为单位进行归一化。

按基因均一化,可以最大程度地呈现每一个基因的变化信息,避免一个超高表达的基因掩盖了其他基因的变化。因此,在热图绘制中,这是常用的归一化策略。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,922评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,591评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,546评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,467评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,553评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,580评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,588评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,334评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,780评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,092评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,270评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,925评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,573评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,194评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,437评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,154评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容