文章目录
-
- 一、clusterProfiler安装方法
- 二、常见依赖包安装
- 三、常见报错与解决方案
-
- 1. 报错:`could not find function "bitr"`
- 2. 报错:`there is no package called ‘qvalue’`
- 3. 报错:`Error: package or namespace load failed for ‘clusterProfiler’ ... there is no package called ‘DOSE’`
- 4. 报错:`Error in enrichKEGG: organism not supported`
- 5. 报错:`--> Expected input gene ID:(没有显示示例)`
- 6. 报错:`Error in .testForValidKeys(x, keys, keytype, fks) : some keys are not valid`
- 7. 报错:`Error in enrichGO: gene ID type is not supported`
- 8. 报错:`Error in barplot: object 'kk' not found`
- 9. 报错:`Error in .local(x, ...) : unused argument (showCategory = 10)`
- 10. 报错:`Error in install.packages : package ‘clusterProfiler’ is not available`
- 四、常用分析流程小结
- 五、参考资料
前面讲了一篇 clusterprofiler安装及使用说明。这篇将详细介绍clusterProfiler的常见报错及解决方案。
一、clusterProfiler安装方法
安装方法简单过一遍
1. Bioconductor官方推荐
在R或RStudio中运行:
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("clusterProfiler")
2. Conda安装(个人推荐 适合服务器/依赖复杂环境)
conda install -c bioconda bioconductor-clusterprofiler
3. 检查安装
library(clusterProfiler)
packageVersion("clusterProfiler")
二、常见依赖包安装
- 人类注释包:
org.Hs.eg.db
- 小鼠注释包:
org.Mm.eg.db
- 大鼠注释包:
org.Rn.eg.db
安装示例:
BiocManager::install("org.Hs.eg.db")
三、常见报错与解决方案
1. 报错:could not find function "bitr"
原因:未成功加载 clusterProfiler 包。需要回溯看加载记录,在加载过程中有什么报错
解决:
library(clusterProfiler)
2. 报错:there is no package called ‘qvalue’
原因:缺少依赖包 qvalue。
解决:
BiocManager::install("qvalue")
3. 报错:Error: package or namespace load failed for ‘clusterProfiler’ ... there is no package called ‘DOSE’
原因:缺少依赖包 DOSE。
解决:
BiocManager::install("DOSE")
4. 报错:Error in enrichKEGG: organism not supported
原因:organism参数填写错误或不支持。我的这篇文章2021.05.17【R语言】丨clusterProfiler注释表——KEGG/GO enrich富集图专用介绍了常见物种缩写名称
解决:
- 人类用
organism = "hsa"
,小鼠用organism = "mmu"
,大鼠用organism = "rno"
等。 - 可用
search_kegg_organism('Homo sapiens', by='scientific_name')
查询支持的物种。
5. 报错:--> Expected input gene ID:(没有显示示例)
原因:R版本过低(已不支持R 3.X版本)
解决:
- 创建新环境,使用R >=4.2版本
6. 报错:Error in .testForValidKeys(x, keys, keytype, fks) : some keys are not valid
原因:输入的基因ID类型与数据库不匹配。
解决:
- 用
bitr
函数转换ID类型,如Ensembl转Entrez:
gene.df <- bitr(genes, fromType = "ENSEMBL", toType = "ENTREZID", OrgDb = org.Hs.eg.db)
entrez_ids <- gene.df$ENTREZID
7. 报错:Error in enrichGO: gene ID type is not supported
原因:keyType参数与输入ID类型不符。
解决:
- 检查
keyType
参数是否与输入ID类型一致(如ENTREZID、ENSEMBL等)。
8. 报错:Error in barplot: object 'kk' not found
原因:富集分析结果对象未生成,可能是输入基因数太少或无显著通路。
解决:
- 检查输入基因数量和ID类型。
- 检查
enrichGO
或enrichKEGG
结果是否为空。 - 如果为空,尝试调整差异分析的参数阈值,增加基因数量
9. 报错:Error in .local(x, ...) : unused argument (showCategory = 10)
原因:包版本过低,不支持新参数。
解决:
- 升级 clusterProfiler 包:
BiocManager::install("clusterProfiler")
10. 报错:Error in install.packages : package ‘clusterProfiler’ is not available
原因:直接用install.packages()
安装,Bioconductor包需用BiocManager::install()
。
解决:
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("clusterProfiler")
四、常用分析流程小结
ID转换(如Ensembl转Entrez):
gene.df <- bitr(genes, fromType = "ENSEMBL", toType = "ENTREZID", OrgDb = org.Hs.eg.db) entrez_ids <- gene.df$ENTREZID
GO富集分析:
ego <- enrichGO(gene = entrez_ids, OrgDb = org.Hs.eg.db, keyType = "ENTREZID", ont = "BP")
KEGG富集分析:
kk <- enrichKEGG(gene = entrez_ids, organism = 'hsa')
可视化:
barplot(kk, showCategory=10) dotplot(kk, showCategory=10)