kira-scg is a Rust CLI for preprocessing single-cell RNA-seq count matrices.
It currently covers:
- loading 10x MTX bundles via
kira-scio - QC metrics for cells and genes
- cell/gene filtering
- optional normalization (
log1pafter library-size scaling) - optional HVG selection (
scanpyorkiramode) - optional PCA
- optional AnnData
.h5adexport
- Rust toolchain with
rustc >= 1.95 - HDF5/OpenBLAS system prerequisites depending on platform
kira-scg expects a 10x-style directory. kira-scio resolves plain or gzipped files and supports prefixed file names.
Required dataset members:
matrix.mtxormatrix.mtx.gzfeatures.tsvorfeatures.tsv.gz(fallback:genes.tsv/genes.tsv.gz)barcodes.tsvorbarcodes.tsv.gz
Reads input and writes load summary JSON.
kira-scg load --input /path/to/10x_dir --out stage1.jsonOptions:
--threads <N>: set Rayon global thread pool size (featurethreads)
Runs QC/filtering pipeline and writes summary JSON.
kira-scg qc \
--input /path/to/10x_dir \
--out qc.json \
--min-genes 200 \
--min-cells 3 \
--max-mt 0.2 \
--normalize \
--scale-factor 10000 \
--hvg-mode scanpy \
--hvg-top 2000 \
--hvg-bins 20 \
--pca \
--pca-components 50 \
--pca-oversample 10 \
--pca-power-iters 1 \
--export-h5ad output.h5adNotes:
- HVG is only executed when
--normalizeis enabled. - PCA requires HVG; running PCA without normalization/HVG returns an error.
--threads <N>is supported here too.
- Set
KIRA_STATS=1to print per-stage timings. - Matrix is stored internally as CSC (
u32indices,f32values). - Load summary reports discovered matrix/features/barcodes paths.