美文网首页
富集分析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