周运来
KEGG分析工具:pathview基本操作
2018-7-12 22:48
阅读:29891

什么是KEGG

KEGG(Kyoto Encyclopedia of Genes and Genomes)是系统分析基因功能、基因组信息数据库,它有助于研究者把基因及表达信息作为一个整体网络进行研究。KEGG将基因组信息和高一级的功能信息有机地结合起来,通过对细胞内已知生物学过程的计算机化处理和将现有的基因功能解释标准化,对基因的功能进行系统化的分析。KEGG的另一个任务是一个将基因组中的一系列基因用一个细胞内的分子相互作用的网络连接起来的过程,如一个通路或是一个复合物,通过它们来展现更高一级的生物学功能。KEGG主要包含以下数据库:

解释基因与功能之间的关系

为什么要用KEGG的代谢通路

KEGG提供的整合代谢途径(pathway)查询十分出色,包括碳水化合物、核苷、氨基酸等的代谢及有机物的生物降解,不仅提供了所有可能的代谢途径,而且对催化各步反应的酶进行了全面的注解,包含有氨基酸序列、PDB库的链接等等。KEGG是进行生物体内代谢分析、代谢网络研究的强有力工具。与其他数据库相比,KEGG 的一个显著特点就是具有强大的图形功能,它利用图形而不是繁缛的文字来介绍众多的代谢途径以及各途径之间的关系。

  • 从功能出发,研究功能到通路到基因,迅速锁定某些功能的基因;
  • 从基因出发,获得某个基因在信号通路中的角色(上下游关系)和生物学功能;
  • 发现涉及通路的差异变化和功能分布
  • 形象的图形使我们直观地对某一个基因有了一个由点及面的印象。
KEGG代谢通路怎么看

在KEGG中有两种代谢图

  • 参考代谢通路图reference pathway,是根据已有的知识绘制的概括的、详尽的具有一般参考意义的代谢图,这种图上就不会有绿色的小框,而都是无色的,所有的框都可以点击查看更详细的信息;

    • 特定物种的代谢图species-specific pathway,会用绿色来标出这个物种特有的基因或酶,只有这些绿色的框点击以后才会给出更详细的信息。

这两种图很好区分,reference pathway 在KEGG中的名字是以map开头的,比如map00010,就是糖酵解途径的参考图;而特定物种的代谢通路图开头三个字符不是map而是种属英文单词的缩写(应该就是一个属的首字母+2个种的首字母)比如酵母的糖酵解通路图,就是sce00010,大肠杆菌的糖酵解通路图就应该是eco00010吧。

代谢通路中各种符号标识 :

  • K+num:基因ID号,表示在所有同源物种中具有相似结构或功能的一类同源蛋白
  • ko+num: 代谢通路名称,表示一个特定的生物路径
  • M+ num: 模块名称
  • C+ num: 化合物名称
  • E-,-,-,-: 酶名称
  • R + num : 反应名
  • RC+ num : 反映类型
  • RP+num: 反应物对

图例作用关系:

如何绘制代谢通路图

控制通路图将自己的基因绘制在一个通路图中

  • 线分析工具—ipath2.0
  • R包:pathview
    今天简单介绍一下这个包。
    #install 
    source("http://bioconductor.org/biocLite.R")
    options(BioC_mirror="http://mirrors.ustc.edu.cn/bioc/")
    biocLite("pathview")
    library("pathview")
    setwd("C:\\Users\\Administrator\\Desktop\\pathview")
    rm(list=ls())
    #载入数据文件
    data(gse16873.d)
    data(demo.paths)
    cpd.data <- read.csv("sim.cpd.data2.csv",row.names=1)
    ?pathview
    View(gse16873.d)
    基因表达变化数据框gse16873.d如下所示,行是基因ID,列是样本ID,变化范围是-1到1.`

代谢通路数据demo.paths结构如下:

基本参数:

#Usage
pathview(gene.data = NULL, cpd.data = NULL, pathway.id,
species = "hsa", kegg.dir = ".", cpd.idtype = "kegg", gene.idtype =
"entrez", gene.annotpkg = NULL, min.nnodes = 3, kegg.native = TRUE,
map.null = TRUE, expand.node = FALSE, split.group = FALSE, map.symbol =
TRUE, map.cpdname = TRUE, node.sum = "sum", discrete=list(gene=FALSE,
cpd=FALSE), limit = list(gene = 1, cpd = 1), bins = list(gene = 10, cpd
= 10), both.dirs = list(gene = T, cpd = T), trans.fun = list(gene =
NULL, cpd = NULL), low = list(gene = "green", cpd = "blue"), mid =
list(gene = "gray", cpd = "gray"), high = list(gene = "red", cpd =
"yellow"), na.col = "transparent", ...)

Note that gene.data and cpd.data can't be NULL simultaneously.

gene.data是需要提供的基因向量,默认是Entrez_ID。其由gene.idtype决定
cpd.data 指的药物分子的名称向量。
Pathway.id指的是在KEGG中的ID。
kegg.native默认是TRUE输出完整pathway的png格式文件,反之输出仅是输入的基因列表的pdf文件。
Map.null默认是TRUE,当使用FALSE时其pdf的文件图像会更漂亮
Split.group 主要是在kegg.native为FALSE的时候会起到一定的作用,主要是将在同一个反应的基因归在一起。
new.signature=FALSE将会将标签去掉,只显示图像

#原始的kegg.native=TRUE时的图像绘制
pv.out <- pathview(gene.data = gse16873.d[, 1], pathway.id =
                     demo.paths$sel.paths[3], species ="hsa", out.suffix = "gse168731", gene.idtype =
                     "entrez", gene.annotpkg = NULL,min.nnodes = 3, kegg.native =TRUE,
                   map.null = FALSE, expand.node =FALSE,split.group =FALSE, map.symbol =
                     TRUE,new.signature=FALSE)

#kegg.native =FALSE:
pv.out <- pathview(gene.data =gse16873.d[, 1], pathway.id =
                     demo.paths$sel.paths[3], species ="hsa", out.suffix = "gse168732", gene.idtype =
                     "entrez", gene.annotpkg = NULL,min.nnodes = 3, kegg.native =FALSE,
                   map.null = FALSE, expand.node =FALSE,split.group =FALSE, map.symbol =
                     TRUE,new.signature=FALSE)

#进一步如果想将所有同一个反应的基因归在一起,那么需要设置参数split.group =TRUE:
pv.out <- pathview(gene.data =gse16873.d[, 1], pathway.id =
                     demo.paths$sel.paths[1], species ="hsa", out.suffix = "gse168733", gene.idtype =
                     "entrez", gene.annotpkg = NULL,min.nnodes = 3, kegg.native =FALSE,
                   map.null = FALSE, expand.node =FALSE,split.group =TRUE, map.symbol =
                     TRUE,new.signature=FALSE)

#KEGG view: both gene and compound data
sim.cpd.data=sim.mol.data(mol.type="cpd", nmol=3000)

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

#multiple states in one graph

pv.out <- pathview(gene.data = gse16873.d[, 1:6], 
                   cpd.data = cpd.data[, 1:6], pathway.id = demo.paths$sel.paths[3], 
                   species = "hsa", out.suffix = "gse16875", keys.align = "y", 
                   kegg.native = TRUE, match.data = FALSE, multi.state = TRUE, same.layer = TRUE)

hsa00640.gse16875.multi.png

pathview在线版
Pathview: An R package for pathway based data integration and visualization
数据分析-【KEGG相关包-clusterProfiler,Pathview的学习】
经典信号通路作图工具包
R语言实现KEGG通路富集可视化
KEGG信号通路的展示
KEGG简介、如何使用KEGG进行通路富集?


名片.jpg

转载本文请联系原作者获取授权,同时请注明本文来自周运来科学网博客。

链接地址:https://wap.sciencenet.cn/blog-1835014-1123749.html?mobile=1

收藏

分享到:

当前推荐数:0
推荐到博客首页
网友评论0 条评论
确定删除指定的回复吗?
确定删除本博文吗?