Highlights
Version 0.4.0 introduces three first-class GSEA tracks across Rust, CLI, Python, and R:
- redundancy-aware Decor GSEA
- classic fgsea-compatible execution
- native Blitz GSEA compatibility
Classic fgsea remains the default; Decor and Blitz are opt-in.
Decor GSEA
- Introduces expression-aware pathway scoring that downweights genes with redundant within-pathway correlation.
- Supports fixed-permutation simple execution and pathway-specific multilevel refinement.
- Adds reusable expression-derived redundancy caches.
- Includes calibrated
sensitive,balanced,specific, andstrictpresets. - Adds a 0–100 stringency control and an optional adaptive tail-reliability pass.
Native Blitz mode
- Adds a native Rust implementation targeting
blitzgsea 1.3.54. - Locks the complete Python reference environment for reproducibility.
- Reproduces SciPy 1.18's numerically stable de Boor-weight interpolation.
- Adds reusable in-process null-model caching and deterministic parallel execution.
- Achieves floating-point-scale agreement with the locked Blitz reference on the large 5,324-pathway audit.
Classic fgsea parity
On the same 63,904-rank, 5,324-result audit:
- ES and NES matched exactly for every pathway.
- Maximum p-value difference was
8.3e-17. - Maximum adjusted-p-value difference was
2.8e-16. - Leading-edge sets and finite-value classifications matched.
Additional improvements
- Adds machine-readable precision evidence and reproducible reference generators.
- Writes floating-point TSV values using round-trip-safe representations.
- Improves WSL2 GPU adapter selection and diagnostic guidance.
- Updates the project to Rust 1.97.1 and modernizes dependencies and release automation.
- Strengthens Linux, macOS, and Windows CI for Rust, Python, and R packages.
Full changelog: v0.3.4...v0.4.0