首页 > 解决方案 > 无法为签名“字符”找到函数“物种”的继承方法

问题描述

我正在尝试按照此管道执行 GSEA 分析:

https://learn.gencore.bio.nyu.edu/rna-seq-analysis/gene-set-enrichment-analysis/

但是当我运行代码时:出现以下消息:

**> (function (classes, fdef, mtable) 中的错误:无法找到

用于签名“字符”的函数“物种”的继承方法**

这是我正在运行的代码:

library(clusterProfiler)
library(enrichplot)
library(ggplot2)

# SET THE DESIRED ORGANISM HERE
organism = "org.Dm.eg.db"
BiocManager::install(organism, character.only = TRUE)
library(organism, character.only = TRUE)

original_gene_list <- df$log2FoldChange
names(original_gene_list) <- df$X
gene_list<-na.omit(original_gene_list)

# sort the list in decreasing order (required for clusterProfiler)
gene_list = sort(gene_list, decreasing = TRUE)

gse <- gseGO(geneList=gene_list, 
             ont ="ALL", 
             keyType = "ENSEMBL", 
             minGSSize = 3, 
             maxGSSize = 800, 
             pvalueCutoff = 0.05, 
             verbose = TRUE, 
             OrgDb = organism, 
             pAdjustMethod = "none")

我读到的是,我可能有两个包,其中存在函数“species”,但在这里我没有运行任何称为物种的函数。

我怎么解决这个问题?

标签: rcluster-analysiscluster-computingontologyhierarchical-clustering

解决方案


在这种情况下,gseGO 的“OrgDb”参数需要对象,而不是变量注释名称。这意味着您不能使用:

OrgDb = "org.Dm.eg.db"

相反,您必须使用:

OrgDb = org.Dm.eg.db

或者我认为是最好的选择,通过它的名称获取对象:

OrgDb = get("org.Dm.eg.db")

最优雅的选择是将您的有机体分配更新为organism = get("org.Dm.eg.db")


推荐阅读