用途:对已排序的基因向量做无阈值基因集富集分析(GSEA),判断 GO、KEGG、Reactome 或 MSigDB 基因集成员是否在排序两端聚集。适用于已有全基因组排序统计量、不想设任意截断的场景;若只有预先选定的非排序基因列表,应改用 ORA(go-enrichment)。
主要能力:gseGO 做 GO 富集,gseKEGG 做 KEGG 通路,gsePathway 做 Reactome,GSEA(TERM2GENE) 配合 msigdbr 支持任意集合(如 hallmark)。底层默认 by='fgsea',用 fgseaMultilevel 解析极小 p 值。另提供 ssGSEA/GSVA 生成基因集×样本活性矩阵,用于聚类、生存或机器学习,而非对比检验。
使用方式:先构建命名、去重、严格降序的数值向量,推荐用 DESeq2 的 stat 或 limma 的 moderated t 等带符号且方差校准的指标;不要用原始 p 值或裸 log2FC 排序。随后调用 gseGO/gseKEGG/GSEA,设置 set.seed 与 seed=TRUE,eps=0 解析极小 p 值,minGSSize=10、maxGSSize=500,pAdjustMethod='BH'。gseKEGG/gsePathway 需 ENTREZ 类 ID;GSVA ≥1.50 使用 gsvaParam/ssgseaParam 参数对象 API。
限制:gseKEGG 查询实时 KEGG REST API,结果随数据库更新变化,需固定运行日期;gseGO/gsePathway 与 MSigDB 使用本地注释,在包版本固定时可复现。clusterProfiler/fgsea 预排序被强制为基因置换,忽略基因间相关性,偏反保守,报告时须注明置换类型;需要相关性诚实的竞争检验时用 limma::camera,小样本或含协变量时用 roast/fry。nPerm 参数已移除,p.adjust 为 BH 而非 Broad 经验零分布 FDR,不应套用 0.25 阈值。参考版本:clusterProfiler 4.18.4+、org.Hs.eg.db 3.22+、msigdbr 26+、fgsea 1.36+;GSVA 未在参考环境安装,运行前需用 ?gsva 核对签名。