专栏名称: Freescience联盟
Freescience联盟是由高校、医院FS公众号和科研技能公众号等百家单位联合创建的科研交流分享平台;联盟的宗旨:“公正至上,自由分享,平等共赢”。欢迎您的关注,让我们共同学习进步!
目录
相关文章推荐
分享迷  ·  我的天!支持10+平台,全新音乐神器 ·  5 天前  
世界音乐  ·  “100年前的图瓦电视台,传来祖先的呼麦” ·  5 天前  
世界音乐  ·  2025,故宫又放王炸!错过再等100年! ·  5 天前  
51好读  ›  专栏  ›  Freescience联盟

为什么要学习作图、R语言可视化?

Freescience联盟  · 公众号  ·  · 2017-10-04 09:50

正文

发送 生信 到本公众号后台,学习各种作图技能


好的分析和图形化展示,可以提供大量的信息,同时兼顾简洁优雅。我们以Ravel以在PNAS(2010)发表的研究为例,该研究分析了396个生育期女性的生殖道细菌群落。这是其中的一张热图:



乍一眼看上去眼花缭乱,其实我们可以把这个图分成一个个的模块,并分别解释。


  1. 对样品进行聚类,菌群组成接近的样品会聚在一起。对得到的聚类进行命名。

  2. 标记每个样品的PH值和Nugent Score,值越高,代表“越不健康”。

  3. 对所有的物种进行聚类,丰度接近的物种会聚在一起。

  4. 标记PH,NugentScore和菌群相关系数的颜色。颜色越红,代表菌群对PH/NugentScore的“贡献越大”。

  5. 计算菌群的菌群多样性,用的是shannon index,菌群多样性越高,代表杂菌越多“越不健康”。

  6. 每类菌的丰度,注意用的是log值换算。


这是我看到的最好的热图之一(缺点是颜色搭配略老气)。如何把这个图做出来?


再复杂的分析,再好看的图,其实都可以拆解为一个个简单的模块,再组合起来。


我们现在拆解一下,为了做出这个热图,需要哪些数据?需要哪些计算?用哪个工具?


模块

说明

需要什么数据?

需要做什么计算?

R语言的什么工具实现?

A

样品聚类

菌群组成

计算样品距离

hclust

B

PH/N score 用颜色标记

每个病人的PHN score数据

不需要计算

RColorBrewer

C

物种聚类

菌群组成

计算物种距离

hclust

D

PH/N 和菌群相关性

每个病人的PHN score数据,菌群组成

计算PH/Nscore和菌群的两两相关系数(有几个菌,就有几个系数)

cor.test

E

barplot展示每个样品的物种多样性

菌群组成

计算shannon指数

diversity

F

菌群丰度展示

菌群组成

不需要计算

heatmap.2 / superheat


实际上,R语言的工具太多了,我只是罗列出了基本的几种。有一些工具是集成的,比heatmap.2 和 superheat 实际上整合了hclust,可以直接计算聚类。


还有一些所谓的“高大上”的图,比如Liu等发表的糖尿病人的肠道菌群和代谢组(Nature Medicine 2017)。这张图怎么做出来的?



肥胖人群富集的菌群在右边,健康人群富集的菌群在左边,红色连线代表负相关,蓝色为正相关,点的颜色代表物种种类,点的大小代表菌群的平均丰度。


看起来复杂,实际需要的数据比刚才的热图简单多了,只有一张表而已,用R语言3行代码就可以做出来:


抬头

名称

解释

Source node

Bacteria1

源点的名称

Target node

Bacteria2

目标点的名称

Interaction

positve/negative

连线的属性

Source node atrribute

GenusA

源点的特征(比如来自哪个菌群)

Target node atrribute

GenusB

目标点的特征(比如来自哪个菌群)

Source node atrribute 1

mean(Bacteria1)

源点的特征(比如其平均丰度)

Target node atrribute 1

mean(Bacteria2)

目标点的特征(比如其平均丰度)


将这张表导入cytoscape,然后调色,拖拽每个点,按照你的审美慢慢调整,这部分实际上是有点费事。



所以我建议,在做这种相对复杂的图之前,一定要想好:我的数据是是什么?期待达到什么样的效果?而不是为了要图而作图,否则纯粹是浪费时间。


图和统计只是为研究结论服务的,不是研究的主体。


不同类型的组学和不同类型的研究(前瞻vs回顾),目的无非都是“诊断”和“治疗”:寻找biomarker,用于诊断或者预后评估。


如果还有时间(和经费),就尝试做下动物模型和机制,以研究因果关系,如结果和预期一致,就有希望往下做人体实验。。。


在这个基础上我们发现,需要掌握的统计分析其实只有3类:

#在这里我推荐大家,好好阅读下宁光院士团队2017年发表的Gut microbiome and serum metabolome alterations in obesity and after weight-loss intervention。可谓组学研究的标本,从:人体标本看到结论>动物实验证实>人体手术侧证。


有同学提出问题,图形的种类是不是有点少?不少,五花八门的图无非是基础图形的“资料片”


举个例子,经常有同学向我提出需求:帮我画个PCA图。当然,我明白他实际上的意思是:把所有的数据用PCA降纬分析,然后用散点图展示。


附相关方法介绍:

一文看懂PCA主成分分析


用R语言对表达谱样本做PCA分析


R语言学习 - 散点图绘制


R语言学习 - 热图绘制 (heatmap)


听说你还不会画热图


以这个为目标前进,一定事半功倍。Anyway,talk is cheap,就说这么多,动手练习吧。