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

Quickstart

Build the CLI, run process / signif / triage, try pyrsx and rsxr.

Quick Start
Language bindings

Parity matrix and multi-language triage examples (CLI, Python, R, C).

Language bindings
Commands

Full CLI reference for RADSex-compatible and Bayesian commands.

Command Reference
Architecture

Streaming kernels, evidence layer, and how bindings sit on the C API.

Architecture

Features

  • Original RADSex-compatible commands: process, distrib, signif, depth, freq, map, subset

  • Sex-linked marker evidence: strict calls, Bayes factors, posterior P(sex-linked), penetrance, bias direction, marker class (triage)

  • merge (external sort for 75M+ tables) and streaming pca

  • Byte-identical TSV to C++ RADSex when groups are specified explicitly

  • Bounded-memory streaming on multi-GB tables; rayon parallelism

  • Optional 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