美文网首页
富集分析clusterProfiler包新加数据库(已有库安装)

富集分析clusterProfiler包新加数据库(已有库安装)

作者: myshu | 来源:发表于2024-06-12 11:17 被阅读0次

富集分析的常用包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
  }
}

当然这个方法也适用于其他的命令~
综上所述,就是这次所有的分享啦,如有错误欢迎指出~

相关文章

网友评论

      本文标题:富集分析clusterProfiler包新加数据库(已有库安装)

      本文链接:https://www.haomeiwen.com/subject/fatgqjtx.html