打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
KEGG数据库的rest API(附带R语言小技巧)

发现感兴趣的KEGG ID居然不在KEGG.db包里面,比如:

hsa05034 Alcoholism
hsa05030 Cocaine addiction

导致下面的代码失效:

library(KEGG.db)
ls("package:KEGG.db")
cellcycle_genes=KEGGPATHID2EXTID[['hsa04110']]
cytokine_genes=KEGGPATHID2EXTID[['hsa04060']]
KEGGPATHID2EXTID[['hsa05034']]
KEGGPATHID2EXTID[['hsa05030']]

其实,即使不失效,也不能使用这种方法来找属于某个pathway的基因集合了,因为这个R包以及很多年没有更新了。

搜索了一下,发现KEGG数据库的rest API,比如

http://rest.kegg.jp/get/hsa05034 (点击阅读原文可以直达)

本来准备读入到R里面,然后自己解析,发现其实已经有了R包:

library(KEGGREST)
listDatabases()

## ----get_organisms------------------------------------------------------------
org <- keggList("organism")
head(org)
keggGet('hsa05034')
gs <- keggGet('hsa05034')
gs[[1]]$GENE
genes <- unlist(lapply(gs[[1]]$GENE,function(x) strsplit(x,';')[[1]][1]))
genes[1:length(genes)%%2 ==0]

当然了,这个R包的功能不止如此:https://bioconductor.org/packages/release/bioc/html/KEGGREST.html 我就不多演示了,感兴趣的朋友去探索一下。

补充阅读:

pathway gif动画版 可视化 :https://github.com/ajmazurie/kegg-animate-pathway

另外:附赠一个基因ID转换R语言完成方式:

ensembl2symbol <- function(genes){
 library(org.Hs.eg.db)
 eg2symbol=toTable(org.Hs.egSYMBOL)
 eg2ensembl=toTable(org.Hs.egENSEMBL)
 #genes=sample(eg2ensembl$ensembl_id,100)
 tmp=merge(eg2symbol,eg2ensembl,by='gene_id')
 return(tmp[tmp$ensembl_id %in% genes,])
}
genes=sample(eg2ensembl$ensembl_id,100)
ensembl2symbol(genes)
genes=sample(eg2ensembl$ensembl_id,100)
ensembl2symbol(genes)
genes=sample(eg2ensembl$ensembl_id,100)
ensembl2symbol(genes)

就当是我当年参加生信技能树直播编程活动提交的作业吧!

历史题目:

生信编程直播第0题-生信编程很简单!

生物信息学技能面试题(第1题)-人类基因组的外显子区域到底有多长

生物信息学技能面试题(第2题)-探索人类基因组序列

生物信息学技能面试题(第3题)-探索人类基因组注释文件

生物信息学技能面试题(第4题)-多个同样的行列式文件合并起来

生物信息学技能面试题(第5题)-根据GTF画基因的多个转录本结构

生物信息学技能面试题(第6题)-下载最新版的KEGG信息,并且解析好

生信编程直播第七题:写超几何分布检验!

生信编程直播第八题:ID转换大全

生信编程直播第9题-根据指定染色体及坐标得到参考碱基

生信编程直播第10题:根据指定染色体及坐标得到位置信息

生信编程直播第11题:把文件内容按照染色体分开写出

生信编程直播第12题:json格式数据的格式化

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
clusterProfiler——GO和KEGG分析之R代码
KEGG数据本地化,再也不用担心网络问题了
如何利用clusterProfiler获取最新的KEGG和基因对应关系
生信基础 | 人-小鼠基因之间的比较
使用biopython解析kegg数据库
下载最新版的KEGG信息,并且解析好 | 生信菜鸟团
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服