Repository navigation
RustScenic: gene-network inference with PyO3, NumPy views and Rayon #6558
Ekin-Kahraman
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
I’m sharing RustScenic, my Rust/Python package for studying gene regulation in single-cell data. The Python API accepts AnnData inputs while the numerical work runs in Rust.
The PyO3 boundary may be interesting to people building scientific extensions. The dense GRN entry point takes a
PyReadonlyArray2<f32>, obtains an ndarray view, and usespy.detacharound inference. Separate Rust crates implement GRN inference, AUCell scoring, topic modelling and preprocessing. The bindings use PyO3 0.29 and rust-numpy, with maturin packaging the mixed Python/Rust project.Binding implementation · Package configuration
One benchmark ran RNA GRN inference on 1,306,127 mouse-brain cells in 46m42s on 16 CPU cores, using 2,095 selected genes and 256 transcription factors. This measures inference on prepared input. Separate input preparation peaked at 71.49 GB, versus 4.28 GB during inference. Full output parity with the original SCENIC tools is not claimed.
Code and measurements · Interactive network example
The example lets you choose a regulator and inspect its predicted targets without installing the package. For Python 3.10–3.13 on the supported platforms:
AI-assisted drafting.
All reactions