富集分析的常用包clusterProfiler,一般都是安装人和小鼠的数据库来进行分析注释。这篇文章将介绍一下非人鼠的物种如何安装目前支持的数据库。
OrgDb目前有20个物种:https://bioconductor.org/packages/release/BiocViews.html#___OrgDb
这里我们以安装鸡的数据库为例。
在上面数据库表格中找到对应的鸡的数据库包名称为org.Gg.eg.db
,这里我们直接在对应的R环境中进行安装:
# export R_USER_CACHE_DIR=/miniconda3/envs/enrichment/tmp/R/ 如果报存储问题,可以自定义指定一个cache目录
BiocManager::install("org.Gg.eg.db")
# 安装好之后导入看看有没有问题
library(org.Gg.eg.db)
KEGG的物种列表: http://rest.kegg.jp/list/organism (需要找到对应物种的第二列的一个简写,比如mmu等)
KEGG数据库我们可以构建一个本地的库然后进行安装:
# 安装本地KEGG库
remotes::install_github("YuLab-SMU/createKEGGdb")
species <-c("mmu","hsa","gga") # 对应物种可以在http://rest.kegg.jp/list/organism查看
createKEGGdb::create_kegg_d(species) # 会生成一个./KEGG.db_1.0.tar.gz
# 安装
install.packages("./KEGG.db_1.0.tar.gz", repos=NULL)
# 导入
library(KEGG.db)
最后,简单的使用示例:
library(clusterProfiler)
library(org.Gg.eg.db)
model = "org.Gg.eg.db"
full = bitr(genes, fromType = "SYMBOL", toType = c("ENSEMBL", "ENTREZID"), OrgDb = model)
go <- enrichGO(gene = full$ENTREZID, OrgDb = model, ont = "ALL", pAdjustMethod = "fdr", pvalueCutoff = 0.05, readable = TRUE)
model_kegg <- "gga"
full = bitr(genes, fromType = "SYMBOL", toType = c("ENSEMBL", "ENTREZID"), OrgDb = model)
kegg <- enrichKEGG(gene = full$ENTREZID, organism = model_kegg, pvalueCutoff = 0.05, pAdjustMethod = 'fdr', use_internal_data = TRUE)
另外,有时候可能会存在导入library(clusterProfiler)
不太稳定的情况:
这里我采用了try catch的方式,导入5次,一般就问题不大了,我测试的时候第二次就可以正常导入。
# 尝试5次导入,如果还是不行就报错退出
for (i in 1:5) {
skip_to_next <- FALSE
skip_to_next <- tryCatch({
library(clusterProfiler)
FALSE
}, error = function(e) {
e = e[1]$message
print(paste0(e, " we try ", i))
TRUE
})
print(skip_to_next)
if (skip_to_next) {
next
}else {
break
}
}
当然这个方法也适用于其他的命令~
综上所述,就是这次所有的分享啦,如有错误欢迎指出~
网友评论