今天小编和大家分享一个在KEGG通路分析中可能会经常用到的一个R包,名字叫Pathview。我将分五期进行,从快速上手,再到高级用法,最后在用实例对这个包做一个较全面的讲解。下面我们先简单了解一下这个包并学会快速使用它吧。

1. 简单介绍

Pathview包是最早在2013年发布的一个生信工具,该包的主要功能是基于基因通路的数据整合和可视化。它可以将用户的数据映射到特定的通路图上并显示出来。用户只需要提供自定义的数据并指定目标通路,Pathview就可以自动下载相应的kegg路径图数据,解析数据文件,将用户数据映射和整合到通路上,并显示出通路图。虽然Pathview是作为一个独立的R包 ,但它可以与其它通路和功能分析工具无缝集成,用于大规模和完全自动化的分析。

Pathview包是一个独立的生信分析R包,主要功能是基于基因通路的数据整合和可视化。该包可以被分为四个功能模块:

  • Downloader,下载KEGG通路图

  • Parser, 解析数据

  • Mapper, 将基因数据映射到通路图上

  • Viewer, 浏览结果

此外Pathway在数据整合方面有很强大的功能,包括:

  • 它适用于基本上所有类型的映射到基因通路上的生物学数据

  • 超过10种类型的基因或蛋白质ID,以及20种类型的化合物或代谢物ID

  • 约4800个物种的路径以及KEGG词条

  • 多种数据属性和格式,即连续/离散数据、矩阵/矢量、单个/多个样本数据等

2. 下载和安装

Pathview包是发布在BioConductior上的一个包,所以我们按照相应的方法安装即可。现在在BioConductor上可以下载到的是1.34.0版本

if (!requireNamespace("BiocManager", quietly = TRUE))install.packages("BiocManager")BiocManager::install("pathview")

3. 快速上手

Pathview包中的主函数是pathview(),有着各种参数,使我们用到最多的函数。

Pathview在通路图数据的可视化时有两种输出格式,分别是原始的KEGG视图和Graphviz视图。前者将用户的数据呈现在原始的KEGG路径图上,因此很自然,更容易阅读。后者使用Graphviz引擎布置路径图;因此可以更好地控制节点或边的属性和路径拓扑结构。在使用时可以根据实际需要选择合适的输出格式。

我们下面举例会使用微阵列数据作为基因数据的例子,但Pathview同样适用于RNA-Seq数据和其他类型的基因/蛋白质的高通量数据。

3.1 加载基因数据

我们先以一个实例芯片数据为例,来快速上手Pathview。开始先加载我们的R包和一个包里自带的数据

library(pathview)data("gse16873.d")

数据是6个乳腺癌样本的基因芯片数据,列名为基因的ENTREZ ID。例子中的芯片数据是经过log2转化过的。

3.2 加载通路数据

下面加载一个包内自带的通路数据

data("demo.paths")

观察一下通路数据的结构,是长度为5的列表。包含了通路的ID以及画图的一些参数数据。当然,我们在实际使用时没有必要将通路数据和画图参数做成一个列表,只需要在主函数内设置相应参数就好了。

> str(demo.paths)List of 5$ sel.paths: chr [1:3] "04110" "00620" "00640"$ kpos1 : chr [1:3] "topright" "bottomright" "topright"$ kpos2 : chr [1:3] "topright" "topright" "bottomright"$ spos : chr [1:3] "bottomleft" "bottomleft" "topright"$ offs : num [1:3] -1 -1 -0.8

3.3 使用pathview函数画通路图

我们先来看一下单个样本的基因表达量在“Cell Cycle”这条通路上的变化情况,只需要明确gene.data 和 pathway.id 两个参数即可。我们选择第一个样本的数据做展示,即DISC_1。一些细节如下:

  • pathview()函数是该包中的核心函数,拥有众多参数来调节通路图的细节

  • 我们现在只提供基因数据和通路id,画一个最基本的形式

#KEGG view: gene data onlyi <- 1pv.out <- pathview(gene.data = gse16873.d[, 1], #取第一个样本pathway.id = demo.paths$sel.paths[i], #选择第一个通路的idspecies = "hsa", #人类样本out.suffix = "gse16873", #输出文件的后缀kegg.native = TRUE) #输出的图片形式为kegg

画好后图片会被保存在当前的工作目录,我们可以找到并打开画好的图像

图像如下,可以看出:

  • 这是我们看到的经典的KEGG通路图

  • 该样本在该通路上基因的表达量映射在了相应基因处,此时展示的是基因的KEGG名称,而不是常规的Symbol

我们将主函数的结果赋值给了pv.out,我们不妨来看一下它的结构:

  • 是一个长度为2的列表:

    • 一个是plot.data.gene,储存画图用到的基因数据

    • 一个是plot.data.cpd,储存的是药物或化合物节点的数据,我们之后会用到

  • plot.data.gene储存量我们画图的各种参数,是一个数据框。我们也可以对数据框中的数据做个性化的修改

  1. #看一下pv.out的组成结构> str(pv.out)List of 2$ plot.data.gene:'data.frame': 92 obs. of 10 variables:..$ kegg.names: chr [1:92] "1029" "51343" "4171" "4998" .....$ labels : chr [1:92] "CDKN2A" "FZR1" "MCM2" "ORC1" .....$ all.mapped: chr [1:92] "1029" "51343" "4171,4172,4173,4174,4175,4176" "4998,4999,5000,5001,23594,23595" .....$ type : chr [1:92] "gene" "gene" "gene" "gene" .....$ x : num [1:92] 532 919 553 494 919 919 188 432 123 77 .....$ y : num [1:92] 124 536 556 556 297 519 519 191 704 687 .....$ width : num [1:92] 46 46 46 46 46 46 46 46 46 46 .....$ height : num [1:92] 17 17 17 17 17 17 17 17 17 17 .....$ mol.data : num [1:92] 0.129 -0.404 -0.42 0.986 0.936 .....$ mol.col : chr [1:92] "#BEBEBE" "#5FDF5F" "#5FDF5F" "#FF0000" ...$ plot.data.cpd : NULL

4. 实例

除了上面普通的KEGG信号通路,Pathview包也可以在那些炫酷的KEGG通路图上进行映射,这里我们以人类的氧化磷酸化通路为例,我们先去到KEGG官网,查询得到氧化磷酸化通路的KEGG ID为00190,如下:

我们可以看到这幅通路图原本的样子就很好看

得到了通路ID后,我们就可以利用pathview()函数将我们的基因数据映射到通路图上啦。函数的参数不用变,只要改变pathway.id参数就可以了。

pv.out <- pathview(gene.data = gse16873.d[, 1],pathway.id = "00190",species = "hsa", #人类样本out.suffix = "gse16873", #输出文件的后缀kegg.native = TRUE)

得到的结果如下,我们就将我们的单样本在该通路上的数据映射了上去:

5. 小结

我们简单回顾一下,我们用到的主要函数便是pathview(),再提供了一个样本的基因数据和一个指定的KEGG通路的ID后,我们就得到了一副经典的KEGG通路图,并且通路图映射着该样本的基因表达量。

Pathview绘制KEGG通路图相关推荐

  1. matlab画信号图方法,献给初学者:手把手教你绘制信号通路图

    信号通路是指能将细胞外的分子信号经细胞膜传入细胞内发挥效应的一系列酶促反应通路.细胞信号通路图是科研研究过程中最常见也是最常用到的,如何绘制适合我们自己科研课题的信号通路图呢?可以试试 pathway ...

  2. KEGG_cnetplot绘制基因—通路图(展示想要的通路)——R

    以KEGG富集结果为例 首先进行KEGG富集分析 library(clusterProfiler) de_ekp <- enricher(gene,TERM2GENE = pathway2gen ...

  3. 20W+喜爱的Pathview网页版 | 整合表达谱数据KEGG通路可视化

    Pathview网站简介 网址:https://pathview.uncc.edu/ 前段时间介绍了一个R包 - Pathview.它可以整合表达谱数据并可视化KEGG通路,操作是先自动下载KEGG官 ...

  4. Pathview包:整合表达谱数据可视化KEGG通路

    Pathview是一个用于整合表达谱数据并用于可视化KEGG通路的一个R包,其会先下载KEGG官网上的通路图,然后整合输入数据对通路图进行再次渲染,从而对KEGG通路图进行一定程度上的个性化处理,并且 ...

  5. 一文快速读懂 KEGG 数据库与通路图

    一.介绍 在进行生物学实验或者生物信息的学习中,都会听说KEGG富集分析,而且该方法在高通量测序分析中已然成为数据分析中必不可少的一环. 这种分析方法依托的是由 Kanehisa实验室 在1995年开 ...

  6. pvrect r语言 聚类_R语言实现KEGG通路富集可视化

    用过KEGG的朋友应该都很熟悉里面的通路地图.你是否想过如果自己可以控制通路图将自己的基因绘制在一个通路图中,那么今天给大家介绍一个新推出的Bioconductor软件包pathview.这个包可以进 ...

  7. 手把手教你给KEGG pathway图标注颜色

    今天是六一儿童节,祝宝宝们节日快乐. KEGG是一个整合了基因.化合物.酶和系统功能的数据库,它利用图形来表征代谢通路,以及各种通路间的关系,使得研究者能够在系统层面了解所关注的代谢通路(pathwa ...

  8. KEGG数据库与代谢通路图解读

    KEGG的简介 KEGG是一个整合了基因组.化学和系统功能信息的数据库.把从已经完整测序的基因组中得到的基因目录与更高级别的细胞.物种和生态系统水平的系统功能关联起来是KEGG数据库的特色之一.与其他 ...

  9. Echarts绘制差异代谢产物分类与KEGG通路分类的旭日图

    文章目录 前言 数据准备工作 绘图 excel旭日图的绘制 ECharts旭日图的绘制 ECharts旭日图 菜鸟编辑器修改后的旭日图 附演示代码 前言 整理实验数据,进行可视化,旭日图有利于简洁明了 ...

最新文章

  1. 使最新版Code::Blocks支持C++11标准
  2. Windows域信任关系建立全攻略
  3. Tensorflow安装与测试
  4. python爬虫教程:爬虫的基本流程
  5. 二维火:智能餐饮云端互联
  6. 【机器视觉】 halcon中图像获取
  7. MyEclipse 8.0 GA 初体验
  8. (82)zabbix如何选择适合的监控类型
  9. 3d模型多怎么优化_3D打印人像模型是怎么制作出来的呢?
  10. gitglone 指定分支_安装说明 · harryxu/gitube Wiki · GitHub
  11. matlab subplot(figure)如何设置使得图像最终显示出来不一样大小
  12. 阿里面试官居然问我如何设计一个本地缓存
  13. 通信中的“交织”技术
  14. 蚁创互联说:品牌营销误区之“做品牌”就是“做广告”
  15. html和js根据年份计算年龄,JS实现根据出生年月计算年龄
  16. java web play_玩转Java Web应用开发:Play框架
  17. SQL WITH TIES解释与用法
  18. 数据备份与数据还原 ----数据库的异地容灾策略
  19. 织梦网站后台-织梦网站后台登陆方式-织梦CMS模板
  20. MySQL的一级索引和二级索引

热门文章

  1. Vetur can‘t find `tsconfig.json` or `jsconfig.json` in e:\决策测试
  2. hdu 6400 Parentheses Matrix思维
  3. JBPM知识点------JPDL3.1规范
  4. 【OpenFOAM】snappyHexMesh
  5. 4月9日第壹简报,星期日,农历闰二月十九
  6. 中小型企业的仓库管理中常见问题及解决方案
  7. oracle exp imp 导入 正在跳过表 plsql 导入表 成功终止 数据 被导入
  8. 软件研发公司的招聘实习生的工资会有6000~8000这么高?是骗人的吗?
  9. qcc304x笔记之ota升级(十)
  10. seq2seq + attention