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. 领域驱动设计DDD应用与最佳实践

    领域驱动设计(Domain Driven Design,简称:DDD)设计思想和方法论早在2005年时候就被提出来,但是一直没有重视和推荐使用,直到2015年之后微服务流行之后,再次被人重视和推荐使用 ...

  2. ArcMap将Python写的代码转为工具箱与自定义工具

      本文介绍在ArcMap软件中,通过已有的Python脚本程序,建立新的工具箱并在其中设置自定义工具的方法.   通过本文介绍的操作,我们便可以实现将自己的Python代码封装,并像其他ArcGIS ...

  3. 机器学习08DAY

    线性回归 波士顿房价预测案例 步骤 导入数据 数据分割 数据标准化 正规方程预测 梯度下降预测 # 导入模块 import pandas as pd # 导入数据 from sklearn.model ...

  4. 11.spring security 认证和授权简单流程了解

    1.总结:昨天主要是对WebSecurityConfigurerAdaptor的三个函数的区分以及了解了spring security的认证和授权流程:再就是动手使用了下thymeleaf和freeM ...

  5. Linux普通用户使用docker以及docker-compose

    # 添加limstorm普通用户到docker用户组 sudo gpasswd -a limstorm docker # 切换docker用户组,该命令类似login指令,当它是以相同的帐号,另一个群 ...

  6. Java SpringBoot 7z 压缩、解压

    Java SpringBoot 7z 压缩.解压 cmd 7z 文件压缩 7z压缩测试 添加依赖 <dependency> <groupId>org.apache.common ...

  7. Python实现网络工具

    使用python编写网络工具 基础内容 介绍基本的网络编程 Socket编程 Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请 ...

  8. 如何打开 plist 文件

      plist 文件是一种用于存储应用程序配置信息的文件格式,其中包含应用程序的各种设置和数据.在过去,plist 文件通常是以.plist 格式存储的.然而,随着时间的推移,人们开始使用.plist ...

  9. 批量上传iOS应用程序截图的实用技巧

      提交iOS应用程序截图到iTunes Connect是一项非常繁琐的任务,因为你必须上传多达数十张屏幕截图,这是一个重复而枯燥的过程.但是,我们有一个好消息要告诉开发者们,现在有一个工具可以帮助你 ...

  10. 笔记:C++学习之旅---try语句和异常处理

        异常处理机制为程序中异常检测和异常处理这两部分的协作提供支持,在C++语言中,异常处理包括:     *throw表达式(throw expression),异常检测部分使用throw表带是来 ...