R语言可视化通路富集网络图

Python013

R语言可视化通路富集网络图,第1张

我们输入的数据包含 gene ID 和 vector(单样本)部分,这里的 gene ID 是一个通用概念,可以是基因、转录本、酶或蛋白质。这里的 vector 可以是样本的表达量、倍数变化, p-value, 组蛋白修饰数据等可测量的属性。下面我们以一个 RNA-seq 差异分析后的数据为例,来学习 pathview 的用法。

在 KEGG PATHWAY Database 查询,例如查询小鼠的"Cell Cycle"这条通路:

得到通路 ID 为"04110",物种为"mmu"

我们通过指定 gene.data pathway.id 来观察我们数据里的基因在信号通路“Pathways in cancer”上的表达变化:

相比于原始的 KEGG 图,我们可以使用 graphviz 产生一个新的布局,并且输出 PDF 格式的文件:

以下是输出结果图

如果我们想要运行的更快一点,并且不介意输出图片的大小,我们可以分图层,用 same.layer = F 将节点颜色和标签添加到另一个图层中,并且原来的 KEGG 基因标签会变成官方的 gene symbols :

在此基础上,修改 kegg.native = FALSE ,我们就可以得到一个主图与图例分成两个页面的 PDF 文件

在原始的 KEGG 视图中,一个基因节点可能代表具有相似或者冗余功能的基因/蛋白质,我们可以将这种包含多个基因的节点拆分成独立的节点,这样可以更好的从基因层面而不是节点层面来查看数据。同时也可以通过汇总基因数据来可视化节点数据:

为了画面有更好的清晰度和可读性,默认不分裂节点,也不单独标记每个成员基因。

代谢途径中,除了基因节点还有化合物节点,我们可以尝试利用代谢途径( Propanoate metabolism)整合基因数据和化合物数据。这里的化合物数据包括代谢物、药物,对它们的测量和它们的属性。在这里我们仍然使用之前 RNA-seq 差异分析的数据作为 gene data,然后,我们生成模拟化合物或代谢组数据,并加载适当的化合物 ID 类型以进行演示:

结果如下

pathview 可以集成并将多个样本或状态绘制成一个图,我们可以使用多个重复样本模拟化合物数据:

结果如下,可以看到基因节点和化合物节点被分成多份,对应不同的样本:

我们可以根据将化合物数据分为绝对值大于 5 和小于 5 两类,构成一组离散型数据:

结果如下:

Pathview 包中的主函数是 pathview() ,有着各种参数,是我们用到最多的函数。在这篇文章中,我们介绍了 pathview()的比较常见的用法,包括包安装,数据准备,以及其他有用的特性。我们也可以使用 pathxiew 的网页版,地址是 https://pathview.uncc.edu/ 。此外,Pathview 在数据整合方面有很强大的功能,包含 4800 个物种,能处理的数据属性和格式包括 连续/离散数据、矩阵/矢量、单个/多个样本数据 ,包中还具有强大的 ID 转换功能,这些都值得我们进一步探索。

生活很好,有你更好

pathview是一个通路可视化友好的R包,最主要的是它支持多组学数据映射(基因/蛋白-代谢)。自己用过它的R包,后来发现有网页版的,果断介绍给学员。因为不常用,记录要点,以后温习备用。

目前web版本和R包访问和应用次数如下,显然R群体用户占主导。Web界面是在PHP上使用Laravel Framework和R构建的。地址: https://pathview.uncc.edu/

使用时可以游客快速访问,不过注册的话会保留一段时间分析的结果。

工具使用的帮助文档详见: https://pathview.uncc.edu/tutorial#input ,包括了示例说明,输入输出参数,结果说明。

New Analysis是我们要导入分析的数据,并设置的一些参数。怎么使用呢?或者说有哪些功能呢?它提供了example1-example4的4个案例,了解了这四种分析,后续我们只要依葫芦画瓢设置一下就OK了。下面我们先看下示例1.

多样本KEGG可视化。第一个选项,输入输出在这个demo数据中,基因有3个样本,代谢组有2个样本:

第二个选项Graphics,即图形参数。没有特殊需求的话默认就好,不懂点击图中小图标。

映射上的分子都标颜色了,基因三个样本,不同颜色不同丰度(经过归一化);代谢2个样本,即2种颜色,顺序应该是按tab中样本先后顺序来的。

combo.res.sig.tsv是个什么文件,帮助文档里好像没有解释。我的理解是两个组学combine做的富集分析结果,重点看p值和q值。

gaga.res.sig.gene.tsv也没有解释,对于文件中的每一列不是很懂。但知道GAGA是FCS的一种富集分析方法,重点看p值和q值。

只是不明白,结果中图只有6个,为何两个富集分析结果中有这么多通路。

示例2是多个样本的Graphviz视图。和示例1的分析几乎是一样的,只是图形不同。Graphviz图是通过使用Graphviz引擎对pathway图进行布局,可以更好地控制节点或边缘属性和pathway拓扑,更重要的是可以保存为PDF格式的矢量图像(KEGG pathway视图只有png,不清晰)。

打开其中一个图,可以看到Graphviz简化了很多。

示例3是ID映射,这是最常用的功能吧。

demo数据中是单个样本的丰度,基因ID变成了Ensemble,化合物ID来自CAS。

基因数据:

代谢组数据:

得到的结果就只有映射的图片了,没有富集的结果。

查看下图片:

整合Pathway分析,要花费更长的时间。分析方法和上三个示例是一样的,只是默认的参数Pahtway Selection为“Auto”(其他三例为Manual)。

另外,和示例1相比就是demo数据的样本数增加了。

基因示例数据如下:

结果如下:

图形如下:

帮助文档中没说明以上数据是否重复。我查了下这6个图,基因都是1-3色,化合物都是1-2色,所以我推测基因是三个样,每个2重复,代谢两个样,每个2重复。

关于结果数据,和示例1比,除了combo.res.sig.tsv和gage.res.sig.gene.tsv外,还多了一个gage.res.sig.cpd.tsv文件,格式和gene的是一样的,如下:

经检查,示例2和示例4是可以设置重复的。点击下面这个铅笔:

我们自己数据导入时,也会弹出窗口提醒我们是否进行分组,设置的方式参考示例2和示例4(指明列数)。

对于New Analysis来说没啥区别,只是说明了两种不同的输入方式作为参考,如不同数据和分组信息,在Pathway Selection选择了Auto。自己输一次就知道了。

输入时,可以选择单组学或多组学: