什么是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)
pathview在線版
Pathview: An R package for pathway based data integration and visualization
數據分析-【KEGG相關包-clusterProfiler,Pathview的學習】
經典信號通路作圖工具包
R語言實現KEGG通路富集可視化
KEGG信號通路的展示
KEGG簡介、如何使用KEGG進行通路富集?