rsfgsea
High-performance Rust implementation of preranked Gene Set Enrichment Analysis (GSEA), designed as a drop-in, optimized alternative to the R fgsea package.
What it focuses on:
- fgsea-compatible simple and multilevel workflows
- library and CLI use from one Rust crate
- deterministic parity-focused CPU path
- optional hybrid GPU acceleration for large simple-stage screening
Headline results from the main project benchmarks:
- multilevel, small workload, 1 worker:
2 msvs R43 ms(21.5xfaster) - multilevel, large workload, 16 workers:
104 msvs R939 ms(9.0xfaster) - simple, small workload, 1 worker:
814 msvs R2544 ms(3.1xfaster) - simple, large workload, 16 workers:
687 msvs R774 ms(1.13xfaster)
Current CPU multilevel parity vs R is near floating-point noise in this repo's validation setup:
- max
|ES|diff:4.988e-09 - max
|NES|diff:4.983e-09 - max
|pval|diff:4.975e-09 - max
|padj|diff:4.965e-09
Install
Library:
[]
= "0.2.6"
CLI:
Minimal Rust Example
use *;
let ranks = new;
let pathways = vec!;
let results = fgsea;
println!;
CLI
For deeper usage, benchmarks, parity notes, and reproducibility details, see the main repository: https://github.com/deminden/rsfgsea