KEGG数据库是我们经常用的一个生物医学数据库,虽然KEGG网站用起来很方便,但是如果想批量获取数据并整理成结果的话,使用R语言处理无疑是一个比较好的选择。
今天,米老鼠就带大家学习如何使用KEGGREST这个R包来获取KEGG数据库的信息。
install.packages("BiocManager") #首先安装BiocManager,用于后续安装KEGGREST包(已安装的可以忽略)
BiocManager::install("KEGGREST") #安装KEGGREST这个包
library(KEGGREST) #加载该R包
listDatabases() #查看可以利用的数据库
从上图中,我们可以看到KEGG共提供19个数据集,最常用就是“pathway”和“genes”。
接下来,我将以白介素17(IL-17 pathway)这个通路为例进行简单介绍。
首先,我们在KEGG数据库(https://www.kegg.jp/kegg/pathway.html)中检索到IL-17通路的entry号(has04657),如下图所示:
接下来的代码就帮助我们获取这个通路上的所有基因:
IL17 <- keggGet(c('hsa04657')) #以IL-17通路的entry号来获取该通路的信息
str(IL17) #查看数据结构
从上图中我们可以看出IL-17是由2个大list构成,第一个list底下也有12个小list,其中我们最关心的就是GENE这个小list。
genes <- unlist(lapply(IL17[[1]]$GENE,function(x)strsplit(x,';'))) # 获取genes的信息
IL17_entrez <- genes[seq(1,length(genes),by=3)] # 提取基因的entrez ID
IL17_symbol <- genes[seq(2,length(genes),by=3)]# 提取基因的symbol
IL17_pathway <- data.frame(IL17_entrez,IL17_symbol) # 将entrez ID和symbol合到一个数据框
head(IL17_pathway)
关于通路信息的查询就简单介绍完毕,接下来我们学习如何查询基因信息:
res <-keggFind("genes", c("interleukin 17 receptor")) # 查询白介素17受体相关基因
length(res)
#[1] 2480
head(res)
entry <- names(res)
head(entry,20)
注意entry的hsa和ptr分别是物种的编号,has代表的是人类,而ptr代表的是黑猩猩。
在这一期中,小陈向大家简单介绍了KEGGREST这R包的功能,希望能给大家带来帮助。