R语言的KEGG和Go富集分析
时间: 2025-03-26 20:10:04 浏览: 69
### 使用R语言进行KEGG和GO富集分析
#### 安装所需软件包
为了执行KEGG和GO富集分析,在R环境中需安装并加载一些必要的库。这些库包括`clusterProfiler`、`org.Hs.eg.db`(针对人类基因)、`DOSE`以及其他辅助性的图形展示库如`ggplot2`。
```r
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install(c("clusterProfiler", "org.Hs.eg.db", "DOSE"))
library(clusterProfiler)
library(org.Hs.eg.db)
library(ggplot2)
```
#### 准备差异表达基因列表
假设已经获得了差异表达基因的Entrez ID列表,命名为`degEntrezId`[^1]。
#### 执行KEGG路径富集分析
利用`enrichKEGG()`函数可以方便地完成KEGG数据库中的通路富集情况统计,并通过`dotplot()`来直观呈现结果。
```r
degKEGG <- enrichKEGG(
gene = degEntrezId,
organism = "hsa",
pvalueCutoff = 0.05,
qvalueCutoff = 0.05
)
print(dotplot(degKEGG)) # 展示点状图形式的结果
```
#### GO术语富集分析
对于GO分类下的分子功能(MF),细胞组分(CC),以及生物过程(BP)三个层面分别实施富集度评估:
```r
egoBP <- enrichGO(
gene = degEntrezId,
OrgDb = org.Hs.eg.db,
ont = "BP",
pAdjustMethod = "BH",
pvalueCutoff = 0.05,
qvalueCutoff = 0.05,
readable = TRUE
)
egoCC <- enrichGO(
gene = degEntrezId,
OrgDb = org.Hs.eg.db,
ont = "CC",
pAdjustMethod = "BH",
pvalueCutoff = 0.05,
qvalueCutoff = 0.05,
readable = TRUE
)
egoMF <- enrichGO(
gene = degEntrezId,
OrgDb = org.Hs.eg.db,
ont = "MF",
pAdjustMethod = "BH",
pvalueCutoff = 0.05,
qvalueCutoff = 0.05,
readable = TRUE
)
# 绘制气泡图表示不同类型的GO项富集状况
p_BP <- plot(egoBP, showCategory=10)
p_CC <- plot(egoCC, showCategory=10)
p_MF <- plot(egoMF, showCategory=10)
gridExtra::grid.arrange(p_BP, p_CC, p_MF, ncol=3)
```
上述操作不仅实现了对指定物种(这里以人类为例)内目标基因集合在KEGG代谢途径上的显著聚集检测,同时也完成了基于Gene Ontology体系下三大类别的功能性关联探索[^4]。
阅读全文
相关推荐


















