Deterministic, explainable secretion-state QC for single-cell expression data.
- Rust >= 1.95
Install from crates.io:
cargo install kira-secretionStandalone run (cell mode):
kira-secretion run \
--input ./data/inf \
--out ./out/inf \
--mode cell \
--run-mode standaloneStandalone run (sample mode):
kira-secretion run \
--input ./data/inf \
--out ./out/inf-sample \
--mode sample \
--run-mode standalonePipeline run (shared cache lookup + pipeline artifacts):
kira-secretion run \
--input ./data/scc \
--out ./out/scc-cell \
--mode cell \
--run-mode pipelineValidation command:
kira-secretion validate \
--input ./data/inf \
--run-mode pipelinePanels listing:
kira-secretion panels listPanels manifest dump:
kira-secretion panels dump --out ./out/panels--run-mode standalone(default): standard MTX/TSV input flow.--run-mode pipeline: pipeline contract mode forkira-organelle.
In pipeline mode, kira-secretion first searches for shared cache in the input directory:
- exact expected file by prefix:
- no prefix:
kira-organelle.bin - prefixed dataset:
<PREFIX>.kira-organelle.bin
- no prefix:
- if exact file is missing: any file ending with
kira-organelle.bin(deterministic lexicographic choice when multiple match)
Behavior:
- cache exists and valid: use shared cache path.
- cache missing: warn once and fall back to MTX input.
- cache exists but invalid: hard error (no silent fallback).
In pipeline mode, outputs are written to:
--out <DIR>-><DIR>/kira-secretion/
Required artifacts:
secretion.tsv(per-cell contract table)summary.json(run-level aggregates)panels_report.tsv(panel audit)pipeline_step.json(ingestion manifest forkira-organelle)
All TSV float values are fixed %.6f.
- Cache format specification: kira-shared-sc-cache/CACHE_FILE.md