文章目录
一、工具简介
clusterProfiler 是R/Bioconductor生态中最流行的功能富集分析包之一,由于其强大的兼容性、丰富的可视化和灵活的接口,广泛应用于转录组、蛋白组、表观组等多组学数据的生物学意义挖掘。
主要功能包括:
- GO、KEGG、Reactome、WikiPathways等多数据库的富集分析
- 支持多种ID类型自动转换
- 丰富的可视化(barplot、dotplot、emapplot、cnetplot等)
- 支持多组/多条件比较
- 支持自定义基因集
二、安装方法
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
- KEGG:无需额外包,自动联网获取
安装示例:
BiocManager::install("org.Hs.eg.db")
四、常见分析流程
1. 基因ID转换
clusterProfiler支持多种ID类型,但KEGG等分析通常需要Entrez ID。推荐用bitr
函数转换:
library(clusterProfiler)
library(org.Hs.eg.db)
genes <- c("ENSG00000120658", "ENSG00000163902", "ENSG00000196642", "ENSG00000196924")
gene.df <- bitr(genes, fromType = "ENSEMBL", toType = "ENTREZID", OrgDb = org.Hs.eg.db)
entrez_ids <- gene.df$ENTREZID
2. GO富集分析
ego <- enrichGO(gene = entrez_ids,
OrgDb = org.Hs.eg.db,
keyType = "ENTREZID",
ont = "BP", # BP/CC/MF
pAdjustMethod = "BH",
pvalueCutoff = 0.05,
qvalueCutoff = 0.2)
3. KEGG富集分析
kk <- enrichKEGG(gene = entrez_ids,
organism = 'hsa', # 人类
pvalueCutoff = 0.05)
4. 结果查看与可视化
# 查看结果表格
head(as.data.frame(kk))
# 条形图
barplot(kk, showCategory=10)
# 气泡图
dotplot(kk, showCategory=10)
# 富集网络图
cnetplot(kk, showCategory=5)
5. 多组学/多条件比较
clusterProfiler支持多组基因集的富集对比,详见官方手册 Biological theme comparison。
五、常见问题与解决
- ID类型不符:用
bitr
或bitr_kegg
转换ID。 - 依赖包缺失:用
BiocManager::install()
补装。 - 网络问题:KEGG/Reactome等需联网,建议科学上网。
- 可视化乱码:设置
par(family="wqy-microhei")
等中文字体。