Installation¶
The recommended way to install SNPick:
Grab the binary for your platform from the latest release — Linux (x86_64, aarch64) and macOS (x86_64, aarch64), with SHA256SUMS.txt published for verification:
# choose one:
# snpick-linux-x86_64 | snpick-linux-aarch64 | snpick-macos-x86_64 | snpick-macos-aarch64
curl -LO https://github.com/PathoGenOmics-Lab/snpick/releases/latest/download/snpick-linux-x86_64
chmod +x snpick-linux-x86_64
./snpick-linux-x86_64 --help
Verify the download
Fetch SHA256SUMS.txt from the same release and compare the checksum of your binary against the matching line.
Requires a Rust toolchain (edition 2021, Rust 1.74 or newer).
git clone https://github.com/PathoGenOmics-Lab/snpick.git
cd snpick
cargo build --release
# Binary at target/release/snpick
Release builds are slow on purpose
The release profile enables fat LTO and a single codegen unit for maximum throughput, so a release build takes noticeably longer than a debug build.
docker run --rm -v "$PWD:/data" ghcr.io/pathogenomics-lab/snpick \
-f /data/alignment.fasta -o /data/snps.fasta
An Apptainer/Singularity image is available too — see the snpick.def recipe.
Library & bindings¶
snpick is also a Rust library crate (these docs' API surface), with Python (maturin/pyo3, under bindings/python) and WebAssembly (under bindings/wasm) bindings for notebooks, pipelines and the browser.