BioF3 组学数据分析

03 功能富集与 Reactome 通路

导出日期:2026年6月27日

03 功能富集与 Reactome 通路

差异蛋白列表本身只是中间产物。真正有用的是"这些蛋白对应哪些通路"。本章用 02 DEP 差异分析 的结果,走一遍 GO + Reactome + GSEA。

思路和 bulk RNA-seq 03 富集 完全一致,只是输入从基因换成了蛋白(通过 gene symbol 映射到 Entrez ID)。

真实示例

配套脚本 prot03_enrichment_sci.R 在 UbiLength 的 Ubi6 vs Ctrl 差异蛋白上跑 GO BP、Reactome、GSEA:

Rscript scripts/proteomics/prot03_enrichment_sci.R

每张图看什么

GO BP dotplot 图 1:GO biological process 富集 dotplot。泛素化相关通路(蛋白降解、泛素连接酶活性)排在最前面,符合实验设计。

Reactome pathway 图 2:Reactome 通路富集。Reactome 的通路粒度比 GO 更细,适合定位到具体的信号级联。

GO enrichment map 图 3:GO term 相似度网络。共享蛋白的 term 连在一起,帮助去冗余。

Up vs Down GO 图 4:分别对上调和下调蛋白做 GO 富集。上调蛋白富集在泛素化相关通路,下调蛋白富集在代谢或稳态维持通路。

GSEA waterfall 图 5:GSEA 瀑布图。不依赖阈值,直接看整条通路的蛋白是否整体偏向一个方向。

GSEA running-score 图 6:最强 NES 的 term 的 running-score 图。

下载资源

prot03_enrichment_sci.R
8 KB
下载蛋白组富集分析完整脚本

常见坑

坑 1:蛋白组的 background list 设错

ORA 富集需要一个背景集(universe)。蛋白组的背景应该是"本次实验中检测到的所有蛋白",而不是全基因组 20000 个基因。用全基因组做背景会低估富集显著性,因为很多基因本来就测不到蛋白。

坑 2:Gene symbol 映射丢失大量蛋白

MaxQuant 的 Gene.names 列有时是空的或者包含多个名字(分号分隔)。直接取第一个可能丢失信息,全部展开又会引入重复。建议先检查映射率(成功映射到 Entrez/SYMBOL 的比例),< 80% 时要回头看是否需要换 ID 映射方式(UniProt → SYMBOL)。

坑 3:同 RNA-seq 一样的 p 值阈值可能不适用

蛋白组差异蛋白通常只有几十到几百个,做 ORA 时如果只有 20 个输入蛋白,很多通路的超几何检验统计功效不够。这时候 GSEA(用全部蛋白的 ranked list)比 ORA 更合适,不依赖硬阈值切割。

坑 4:忽略富集结果的冗余

GO 的层级结构会导致很多 redundant terms(比如 "protein ubiquitination" 和 "ubiquitin-dependent protein catabolic process" 高度重叠)。用 simplify() 或 enrichment map(emapplot)去冗余,否则论文里列出 50 个本质相同的 term 没有意义。

下一步

接着深入

横向延伸

参考资源