RAD-seq sex determination — streaming kernels, Bayesian marker evidence, CLI plus Python (pyrsx) and R (rsxr) bindings, RADSex-compatible TSV.
rsx¶
Rust toolkit for RAD-seq marker analysis and sex determination. Bounded-memory streaming, Bayesian triage, and language bindings over a shared C API. Command-compatible with RADSex so prior biological results stay comparable.
Important
New here? → Quick Start
Python / R / C surfaces? → Language bindings
In-process R package? → R integration · rsx-r/README.md
Build the CLI, run process / signif / triage, try pyrsx and rsxr.
Parity matrix and multi-language triage examples (CLI, Python, R, C).
Full CLI reference for RADSex-compatible and Bayesian commands.
Streaming kernels, evidence layer, and how bindings sit on the C API.
Features¶
Original RADSex-compatible commands:
process,distrib,signif,depth,freq,map,subsetSex-linked marker evidence: strict calls, Bayes factors, posterior P(sex-linked), penetrance, bias direction, marker class (
triage)merge(external sort for 75M+ tables) and streamingpcaByte-identical TSV to C++ RADSex when groups are specified explicitly
Bounded-memory streaming on multi-GB tables;
rayonparallelismOptional Parquet for merge (
--features parquet-io)Bindings: Python (
pyrsx), R (rsxr), C (rsx.h/ cargo-c)Cross-platform Linux / macOS / Windows (map feature varies)
Quick start¶
git clone https://github.com/HaoZeke/rsx-rs.git
cd rsx-rs
cargo build --release
# or: pixi run build
pip install pyrsx
# R (needs cargo): pak::pak("HaoZeke/rsx-rs/rsx-r")
rsx process -i reads/ -o markers.tsv -T 8
rsx triage -t markers.tsv -p popmap.tsv -o triage.tsv -d 10 -G M,F
Getting started
Reference
How-to guides
Explanations & meta