热图是使用颜色来展示数值矩阵的图形。通常还会结合行、列的聚类分析,以表达实验数据多方面的结果。 
热图在生物学领域应用广泛,尤其在高通量测序的结果展示中很流行,如样品-基因表达,样品-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. sql-server-storage-internals

    https://www.simple-talk.com/sql/database-administration/sql-server-storage-internals-101/

  2. JAVA 并发编程-线程池(七)

    线程池的作用: 线程池作用就是限制系统中运行线程的数量. 依据系统的环境情况.能够自己主动或手动设置线程数量,达到运行的最佳效果:少了浪费了系统资源,多了造成系统拥挤效率不高.用线程池控制线程数量,其 ...

  3. GRANT 授权

    sys(管理员)身份登录.创建usernamezsta_new create user zsta_new   identified by password   default tablespace Z ...

  4. POJ2481:Cows(树状数组)

    Description Farmer John's cows have discovered that the clover growing along the ridge of the hill ( ...

  5. timus 1018. Binary Apple Tree

    1018. Binary Apple Tree Time limit: 1.0 secondMemory limit: 64 MB Let's imagine how apple tree looks ...

  6. [算法基础]斐波那契(recursion+loop)两种方式执行时间对比

    一.斐波那契数列求第n项两种方式 1.递归(自上而下)def recur_fibonacci(n): if n <= 0: return 0 if n == 1: return 1 return ...

  7. istio-禁用/允许sidecar设置

    一.在namespace设置自动注入: 给 default 命名空间设置标签:istio-injection=enabled: $ kubectl label namespace default is ...

  8. linux命令 - free -m

    如下显示free是显示的当前内存的使用,-m的意思是M字节来显示内容.我们来一起看看. [root@zabbix ~]# free -m total used free shared buffers ...

  9. js的时间展示

    <script type="text/javascript">$(function() { //方法调用    showtime();        //默认加载首页  ...

  10. [Swift通天遁地]六、智能布局-(8)布局框架的使用:多分辨率适配和横竖屏布局

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...