尝试使用clusterProfiler包中的bitr函数进行基因注释,想将ENSEMBLID转为Symbol,但出现报错信息:
Error in .testForValidKeys(x, keys, keytype, fks) :
None of the keys entered are valid keys for 'ENTREZID'. Please use the keys method to see a listing of valid arguments.
原始数据信息如下,请大家解答。
首先,我们需要确认数据是否有误。尝试使用其他方式将ENSEMBL ID转换为Symbol,例如使用biomaRt包或DAVID工具。如果数据没有问题,那么可能是clusterProfiler内置的数据库过期或者不支持所选的物种。此时,我们需要手动下载并更新相应物种的数据库。具体步骤如下: 1. 打开clusterProfiler包所在的文件夹。 2. 进入./clusterProfiler/libs/clusterProfiler/文件夹,找到enricher.R文件,并打开。 3. 在文件中找到以下代码段:
if (!(db %in% c("GO", "KEGG", "Reactome"))) {
if (!db %in% availableEnsDbs()) {
stop(sQuote(db), " is not a valid choice for the 'db' argument.\n",
"The available choices for 'db' argument are: ", paste(availableEnsDbs(), collapse = ", "), "\n",
"Or\n",
"please refer to ?getGeneID to retrieve data from other databases.")
}
}
library(clusterProfiler)
updateEnsDb(species = "Homo sapiens")
注意:此步骤可能需要一定时间来下载和更新数据库,具体时间取决于数据库的大小和下载速度。 7. 尝试重新运行bitr函数进行转换,检查是否仍然出现报错。如果问题仍然存在,请尝试使用其他方式进行基因注释或者寻求其他专家的帮助。
问题解决,是我数据库用错了。我之前用的是大鼠的数据库(org.Rn.eg.db),但应该使用小鼠的数据库(org.Mm.eg.db)。