文章目錄
- 一、clusterProfiler安裝方法
- 1. Bioconductor官方推薦
- 2. Conda安裝(個人推薦 適合服務器/依賴復雜環境)
- 3. 檢查安裝
- 二、常見依賴包安裝
- 三、常見報錯與解決方案
- 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)
五、參考資料
- clusterProfiler官方手冊
- Bioconductor clusterProfiler主頁