pathview R 包是一个集成 pathway 通路数据与可视化的工具集。它用于把用户的数据映射并渲染到相关的 pathway 通路图上,用户只需要提供基因或者化合物数据(gene or compound data)并指定目标通路(specify the target pathway)即可。

pathview 会产生 native KEGG view 和 Graphviz view 两种 pathway 查看方式,前者以 native KEGG graph (.png) 进行渲染,后者则使用 graphviz layout engine (.pdf)。pathview 作为主程序提供了 downloader, parser, mapper 以及 viewer 四部分功能:自动下载通路图表数据,解析并映射用户数据,最后把 mapped 的数据渲染到通路图上。

Pathview automatically downloads the pathway graph data, parses the data file, maps user data to the pathway, and renders pathway graph with the mapped data.

pathview 安装

在 R 命令行下 pathview 安装:

# pathview 依赖包

> source( "http://bioconductor.org/biocLite.R" )

> biocLite(c("Rgraphviz", "png", "KEGGgraph", "org.Hs.eg.db"))


# pathview 安装

> biocLite("pathview")

我们也可以通过 R-forge 的方式安装:

> install.packages("pathview", repos="http://R-Forge.R-project.org")

或者通过下载 pathview 的源码包进行安装,这里不介绍。

pathview 使用

利用 pathview 自带的 example 数据(data(package="pathview" 可查看 pathview 包所有的 example 数据)绘制人 hsa04110 通路图:

> library(pathview)

> data(gse16873.d)

> pv.out <- pathview(gene.data = gse16873.d[, 1], pathway.id = "04110", species = "hsa", out.suffix = "gse16873")

当前目录得到 hsa04110.gse16873.png 通路图:

其中 gene.data 接收的是矩阵(或向量)的基因数据,这些数据既可以是数值型(like log2 fold change or absolute expression levels)也可以是基因 id 数据(默认为 entrez 的 gene id,gene.idtype = "entrez"),取决于我们想要得到什么样的可视化结果。

使用 gene IDs 的数据,得到的 hsa04110.geneid.png 如下:

> pv.out <- pathview(gene.data = c("1029"), pathway.id = "04110", species = "hsa", out.suffix = "geneid")

pathview 是一款功能强大的工具集,除了可以展示规范信号通路图外,还支持代谢通路图。利用 pathview 的化合物、基因内置数据,绘制代谢通路图如下:

> data(demo.paths)

> sim.cpd.data = sim.mol.data(mol.type = "cpd", nmol = 3000)

> i <- 3

> print(demo.paths$sel.paths[i])

[1] "00640"

> pv.out <- pathview(gene.data = gse16873.d[, 1], cpd.data = sim.cpd.data, pathway.id = demo.paths$sel.paths[i], species = "hsa", out.suffix = "gse16873.cpd",keys.align = "y", kegg.native = T, key.pos = demo.paths$kpos1[i])

其中,cpd.data(与 gene.data 一样)为 KEGG 的化合物 IDs(KEGG compound IDs),CHEMBL 数据库中超过 20 种 ID 都可以用在这里。gene.data 与 cpd.data 不能同时为空。

ok,就先介绍到这里,更加详细的使用请参考:

  • http://pathview.r-forge.r-project.org/

  • https://www.rdocumentation.org/packages/pathview/versions/1.12.0/topics/pathview

本文分享自微信公众号 - 生信科技爱好者(bioitee)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

R 包 pathview 代谢通路可视化的更多相关文章

  1. 多组学分析及可视化R包

    最近打算开始写一个多组学(包括宏基因组/16S/转录组/蛋白组/代谢组)关联分析的R包,避免重复造轮子,在开始之前随便在网上调研了下目前已有的R包工具,部分罗列如下: 1. mixOmics 应该是在 ...

  2. 《R包的分类介绍》

    R分析空间数据(Spatial Data) R机器学习包(Machine Learning) R多元统计包(Multivariate Statistics) R药物(代谢)动力学数据分析包 R计算计量 ...

  3. R包MetaboAnalystR安装指南(Linux环境非root)

    前言 这是代谢组学数据分析的一个R包,包括用于代谢组学数据分析.可视化和功能注释等众多功能.最近有同事在集群中搭建蛋白和代谢流程,安装这个包出现了问题,于是我折腾了一上午. 这个包的介绍在:https ...

  4. 利用R语言进行交互数据可视化(转)

    上周在中国R语言大会北京会场上,给大家分享了如何利用R语言交互数据可视化.现场同学对这块内容颇有兴趣,故今天把一些常用的交互可视化的R包搬出来与大家分享. rCharts包 说起R语言的交互包,第一个 ...

  5. R 包

    [下面列出每个步骤最有用的一些R包] .数据导入 以下R包主要用于数据导入和保存数据: feather:一种快速,轻量级的文件格式:在R和python上都可使用 readr:实现表格数据的快速导入 r ...

  6. 开发自己的R包(转)

    R不必说,数据统计分析可视化的必备语言,R包开发的门槛比较低,所以现在随便一篇文章都会发表一个自己的R包,这样有好处(各种需求早有人帮你解决了)也有坏处(R包太多,混乱,新手上手较难).作为生信工程师 ...

  7. GO 和 KEGG 的区别 | GO KEGG数据库用法 | 基因集功能注释 | 代谢通路富集

    一直都搞不清楚这两者的具体区别. 其实初学者搞不清楚很正常,因为它们的本质是相通的,都是对基因进行归类注释的数据库. 建议初学者自己使用一下这两个数据库,应该很快就能明白其中的区别. (抱歉之前没讲清 ...

  8. 如何制作自己的R包?

    摘自 方匡南 等编著<R数据分析-方法与案例详解>.电子工业出版社 R包简介 R包提供了一个加载所需代码.数据和文件的集合.R软件自身就包含大约30种不同功能的包,这些基本包提供了R软件的 ...

  9. 如何制作自己的R包

    如何制作自己的R包? 摘自 方匡南 等编著<R数据分析-方法与案例详解>.电子工业出版社 R包简介 R包提供了一个加载所需代码.数据和文件的集合.R软件自身就包含大约30种不同功能的包,这 ...

  10. R包对植物进行GO,KEGG注释

    1.安装,加载所用到到R包 用BiocManager安装,可同时加载依赖包 source("https://bioconductor.org/biocLite.R") BiocMa ...

随机推荐

  1. JVM 重点知识归纳

    JVM(Java Virtual Machine:译为 Java虚拟机)内核: 通常指通过软件模拟的具有完整硬件系统功能的运行在一个完全隔离环境汇总的完整计算机系统.如下:  ■  Mware/Vis ...

  2. IO 与 NIO之网络通信

    一.阻塞IO / 非阻塞NIO 阻塞IO:当一条线程执行 read() 或者 write() 方法时,这条线程会一直阻塞直到读取到了一些数据或者要写出去的数据已经全部写出,在这期间这条线程不能做任何其 ...

  3. 设计模式(二十九)----综合应用-自定义Spring框架-Spring IOC相关接口分析

    1 BeanFactory解析 Spring中Bean的创建是典型的工厂模式,这一系列的Bean工厂,即IoC容器,为开发者管理对象之间的依赖关系提供了很多便利和基础服务,在Spring中有许多IoC ...

  4. ES(ECMAScript)标准下中的let、var和const

    ES标准下中的let,var和const let会报重复声明,var则比较随意,重不重复无所谓 // 使用 var 的时候重复声明变量是没问题的,只不过就是后面会把前面覆盖掉 var num = 10 ...

  5. 【Jenkins系列】-Pipeline语法全集

    Jenkins为您提供了两种开发管道代码的方式:脚本式和声明式. 脚本式流水线(也称为"传统"流水线)基于Groovy作为其特定于域的语言. 而声明式流水线提供了简化且更友好的语法 ...

  6. 深入理解 python 虚拟机:令人拍案叫绝的字节码设计

    深入理解 python 虚拟机:令人拍案叫绝的字节码设计 在本篇文章当中主要给大家介绍 cpython 虚拟机对于字节码的设计以及在调试过程当中一个比较重要的字段 co_lnotab 的设计原理! p ...

  7. 3、XmlBeanFactory 对xml文件读取

    全局目录.md 引子 1.容器最基本使用.md 系列1 - bean 标签解析: 2.XmlBeanFactory 的类图介绍.md 3.XmlBeanFactory 对xml文件读取.md 4.xm ...

  8. LeeCode 91双周赛复盘

    T1: 不同的平均值数目 思路:排序 + 双指针 + 哈希存储 public int distinctAverages(int[] nums) { Arrays.sort(nums); Set< ...

  9. 使用Jmeter测试MQTT

    使用Jmeter测试MQTT 准备工作 JMeter本身没有MQTT的压力测试功能需要下载插件进行压力测试下载地址将下载好的mqtt-xmeter-2.0.2-jar-with-dependencie ...

  10. java无效发源版本xx

    这三个地方统一一下 就可以解决了