热图是使用颜色来展示数值矩阵的图形。通常还会结合行、列的聚类分析,以表达实验数据多方面的结果。 
热图在生物学领域应用广泛,尤其在高通量测序的结果展示中很流行,如样品-基因表达,样品-OTU相对丰度矩阵非常适合采用热图呈现。
 
热图优点
 
因为人读数字需要思考和比较,而对颜色识别能力非常强,采用颜色的深浅代替数据表是非常高效的呈现方式,也便于从中挖掘规律。 
热图在非常小的区域展示了大量的基因表达/细菌丰度数据,即可以快速比较组间的变化,同时还可以显示组内每个样品的的丰度,以及组内各样品间的重复情况。
 
热图数据的转换
 
如果使用原始相对丰度或表达值,范围通常为0-100或0-1000000,而大部分的OTU或基因较低,做出的图会使绝大数据的数量颜色处于低丰度区,很难发现规律;因此需要数据变换,常用的方法有两类: 
1. log2(x+1) x为丰度或表达值 
为什么要原始值+1,是为了保证结果仍为正值,因为2的0次方为1; 
为什么要使用log变换,以log2为例,0-1000的表达范围,经变化为0-10的范围,颜色梯度范围更容易使人与数值建立对应关系。 
为什么常用log2对数变化,因为筛选差异的标准通常为两倍,log2对数变化后,每相差1的两个值都有两倍差异,选择目标很方便;有时也会根据具体情况,选择ln, log10等转换方式; 
标准分数(standard score)也叫z分数(z-score),是一个分数与平均数的差再除以标准差的过程。用公式表示为:z=(x-μ)/σ。其中x为某一具体分数,μ为平均数,σ为标准差。此种方法可以使有差异且稳定变化的两组明显区分为不同的颜色,但却丢失了原始相对丰度、差异倍数的信息。但由于结果比较美观,规律明显,使用较多。
 
常用热图绘制工具
 
最常用的是R语言的包,如heatmap和pheatmap等。
此外Excel, matlab也可以。
不想学语言的可以使用一些专门绘制工具,如HEMI,个人用过,绘图和聚类都很方便,但偶尔会崩溃,不知现在作者更新没有
 
用R绘制热图的教程
 
网上教程很多,因为这个太常用。我推荐”生信宝典”最新发布的教程三步曲,从入门到精通。
 
看图实战(Result)
 
示例1. OTU相对丰度 - 样品
2017新出炉的Nature文章,Jeffery Dangl组作品。这篇文章分析拟南芥细菌组在低磷条件下参与磷吸收,有规律发现,有实验验证,绝对前沿的微生物组研究,正文每一个组图都相当于10分文章的工作量,专业而细致,推荐阅读
图2有7个子图,信息量非常大,我只说其中的e图
图2.e 重组菌体系在不同样品中各菌的相对丰度。
1. 图中元素解释
- X轴标签isolate上面的名称为实验用菌的编号;本实验为人工重组微生物组体系,标签为作者定义的菌编号。自然微生物组鉴定体系一般会聚类为OTU-1/2/3…样式编号;
- 右侧Y轴标签为实验组的名称,共分两列:第一列为材料基因型名称,如Col-0, phf1等;第二列为条件,本实验中为磷浓度;两者组合为一个实验组,每个实验组每组均为6次生物学重复,其中接种起始混合液Inoculum有4次重复;
- 左侧颜色图例Abundance(%),来表示图中颜色的深浅所对应的数值范围,即白色为0,由浅到深连续变化范围,其中刻度对应的颜色丰度为0.01%, 0.14%和2.71%,至最深红棕色;
- 主图区中深浅的色块,代表每组样品每个菌相对丰度的值。
2. 图表结果:展示人工重组菌(起始接种Inoculum浓度相近)在不同实验组中发展成细菌群落后的相对丰度,发现突变体中一些菌的相对丰度发生变化;
3. 经验和技巧:一般OTU或菌的丰度间重复不是很好,尤其是自然样品丰度差异大,需要经过对数变换或做Z-score标准化;而本实验是重组体系,起始菌浓度相当,比较适合原始值直接绘制热图;此外,在扩增子研究中,实验个体间波动很大,一般热图呈现规律不明显,如上图,所以低水平文章很少用,一般只有顶级杂志敢用,尊重事实,尊重个体差异,相信统计上的差异。下面一篇文章也是如此
 
示例2. 热图+样品聚类展示菌相对丰度(log2%)
 
这篇文章也是Dangl组的,是最早植物人工重组菌群的文章,研究了植物水杨酸对微生物组的影响,开山之作值得阅读
图2C. 热图展示丰度显著差异的菌在所有样品中的相对丰度(相对丰度百分数%经log2对数变换)
1. 图中元素解读
- 左侧聚类图为所有样品聚类的结果,左上角的图例代表三大类样品,紫、灰和绿它们分别代表接种菌、土壤和根样品,颜色标签在热图中第一列,用以区分样品组; 
- 右侧为图的主图区,展示左侧样品中对应筛选的14个差异丰度菌的相对丰度值,丰度值百分比采用log2转换来缩小数据范围,并按从小到大对应的颜色梯度为蓝、白、红,即越红越高,越蓝越低。对应的图例为下方左上角的Color Key;
- 右侧正文区上方红上或蓝下箭头,代表这些菌的表达样式,为上调或下调,对应的图例为下方图例区的左下方(EC-enriched/depleted);
- 右侧正文区下方菌的标签上还有颜色,对应最下面图例区的菌门信息;同时菌还继续分为两类,稳定定殖者(Robust Colonizers)和偶然或非定殖者(Sporadic or Non-Colonizers)。
2. 图表结果:图中展示了人工重组的菌在接种后,也可以形成丰度各异的微生物群体,并与自然条件下很多样式保持一致。
4. 图表结论或规律:受水杨酸调控差异表达的菌,可以在人工重组实验中得到验证。
5. 图片优点:配色采用红白蓝,比较严肃;图中添加了聚类信息、分组信息和菌分类为信息,极大的增加了图片的信息和可读性。有些热图信息量大,标签太小或根本无标签导致理解困难,此图的做法值得学习。

扩增子图表解读3热图:差异菌、OTU及功能的更多相关文章

  1. 扩增子图表解读5火山图:差异OTU的数量及变化规律

    火山图 Volcano plot 在统计学上,火山图是一种类型的散点图,被用于在大数据中快速鉴定变化.由于它的形成像火山喷发的样子,所以被称为火山图.和上文讲的曼哈顿图类似.   火山图基本元素 火山 ...

  2. 扩增子图表解读4曼哈顿图:差异分类级别Taxonomy

    曼哈顿图 Manhattan Plot 曼哈顿图本质上是一个散点图,用于显示大量非零大范围波动数值,最早应用于全基因组关联分析(GWAS)研究展示高度相关位点.它得名源于样式与曼哈顿天际线相似(如下图 ...

  3. 扩增子图表解读6韦恩图:比较组间共有和特有OTU或分类单元

    韦恩图 Venn Diagram Venn Diagram,也称韦恩图.维恩图.文氏图,用于显示元素集合重叠区域的图示.   韦图绘制工具 常用R语言的VennDiagram包绘制,输出PDF格式方便 ...

  4. 扩增子图表解读8网络图:节点OTU或类Venn比较

    网络图 Network 网络图虽然给人高大上的感觉,但是由于信息太多,无法给读者提供读有效的可读信息或是读者不知道该理解什么,总是让人望尔却步.那是因为大家太不了解网络,自己读不懂网络想表达的意思及其 ...

  5. 扩增子图表解读1箱线图:Alpha多样性

    箱线图 箱形图(Box-plot)又称为盒须图.盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图.因形状如箱子而得名.在宏基因组领域,常用于展示样品组中各样品Alpha多样性的分布 第一种情 ...

  6. 宏基因组扩增子图表解读2散点图:组间整体差异分析(Beta多样性)

    散点图 数据点在直角坐标系平面上的分布图.在宏基因组领域,散点图常用于展示样品组间的Beta多样性,常用的分析方法有主成分分析(PCA),主坐标轴分析(PCoA/MDS)和限制条件的主坐标轴分析(CP ...

  7. 扩增子分析解读6进化树 Alpha Beta多样性

    分析前准备 # 进入工作目录 cd example_PE250 上一节回顾:我们的OTU获得了物种注释,并学习OTU表的各种操作————添加信息,格式转换,筛选信息.   接下来我们学习对OTU序列的 ...

  8. Python图表数据可视化Seaborn:3. 线性关系数据| 时间线图表| 热图

    1. 线性关系数据可视化 lmplot( ) import numpy as np import pandas as pd import matplotlib.pyplot as plt import ...

  9. seaborn线性关系数据可视化:时间线图|热图|结构化图表可视化

    一.线性关系数据可视化lmplot( ) 表示对所统计的数据做散点图,并拟合一个一元线性回归关系. lmplot(x, y, data, hue=None, col=None, row=None, p ...

随机推荐

  1. Android学习路线(十八)支持不同设备——支持不同的屏幕

    Android系统使用两个普通属性:尺寸和密度,来对设备屏幕进行分类. 你须要先预測你的应用将会在什么样屏幕的设备上安装,包含屏幕尺寸和密度.这种话,你就须要提供一些可选的资源类让你的应用在不同屏幕的 ...

  2. 从内核源代码配置文件预測泛泰新品(A920 ?)

    泛泰的IRON2 A910刚公布不久, 但近期在最新的泛泰890的内核源代码的config文件中又看到了这种编号,例如以下图: 图上ef63s 明显是A910S. 但这ef65s 又是什么呢, 看到这 ...

  3. 1.3-动态路由协议EIGRP②

    LAB3:Wildcard Mask in EIGRP (通过反掩码,控制运行EIGRP的接口的范围             作用:控制有哪些接口在运行EIGRP) ~~~~~~~~~~~~~~~~~ ...

  4. 扩展VirtualBox中的centos硬盘大小

    一.克隆文件 我之前安装的时候建的是centos 6.3.可是后来空间不够,没办法,又不想重装centos.由于好多东西要配置,特麻烦,所以先想到了使用resize命令,可是在win8中运行D:\Pr ...

  5. 第K顺序统计量的求解

    一个n个元素组成的集合中,第K个顺序统计量(Order Statistic)指的是该集合中第K小的元素,我们要讨论的是如何在线性时间(linear time)里找出一个数组的第K个顺序统计量. 一.问 ...

  6. 浅谈java缓存

    java中要用到缓存的地方很多,首当其冲的就是持久层缓存,针对持久层谈一下: 要实现java缓存有很多种方式,最简单的无非就是static HashMap,这个显然是基于内存缓存,一个map就可以搞定 ...

  7. sed 之 模式空间 & 保持空间

    模式空间:容纳当前输入行的缓冲区: 保持空间:作为辅助的一个缓冲区,可以和模式空间进行交互,但是命令不能直接作用于保持空间. 由上面定义可以知道,模式空间和保持空间是两个独立的缓冲区,可以进行交互,命 ...

  8. bzoj3545

    线段树合并+离线+启发式合并 半年前这道题t成狗... 离线的做法比较好想,按照边的权值排序,询问的权值排序,然后枚举询问不断加边,加到上限后查找第k大值,这里平衡树,权值线段树都可以实现. 那么我们 ...

  9. AbstractRoutingDataSource动态选择数据源

    当我们项目变大后,有时候需要多个数据源,接下来我们讲一种能等动态切换数据源的例子. 盗一下图: 单数据源的场景(一般的Web项目工程这样配置进行处理,就已经比较能够满足我们的业务需求) 多数据源多Se ...

  10. PCB SVN 服务端VisualSVN Server与TortoiseSVN

    PCB 工程系统SVN源代码招病毒破坏以后,一周时间都没有源代码同步更新了,今天终于将SVN源代码数据恢复并重建SVN服务器,这里将SVN搭建安装过程整理如下 一.服务端SVN安装 1.下载地址:ht ...