关于"同样的代码和数据,GSEA 两次运行结果不一样"
TL;DR - clusterProfiler developers explain why identical GSEA inputs can produce different results and report fixes restoring explicit seed control and historical filtering behavior. Reproducibility requires a fixed seed and recorded package versions and methods.
- Unseeded multilevel Monte Carlo sampling can move borderline pathways across significance thresholds.
- clusterProfiler 4.19.3+ switched from simple permutation to the fgsea-recommended multilevel method, causing legitimate version-dependent differences.
- enrichit 0.2.1 and clusterProfiler 4.21.1 restore explicit
seedsupport and dualpvalue/p.adjustfiltering. - Expanding gene-set sizes and setting
pvalueCutoff = 1does not ensure reproducibility;seed = 123orset.seed(123)does.