Skip to content

SNPick logo

Fast, memory-efficient extraction of variable sites from FASTA alignments.

Documentation Bioconda Downloads License: GPL v3 DOI

📖 Read the documentation →

Paula Ruiz-Rodriguez and Mireia Coscolla, Institute for Integrative Systems Biology, I2SysBio, University of Valencia-CSIC, Valencia, Spain


SNPick pulls the variable (SNP) sites out of a whole-genome FASTA alignment and writes a reduced alignment ready for phylogenetics: ascertainment-bias correction (ASC fconst) for IQ-TREE and RAxML, plus an optional VCF. A zero-copy, memory-mapped scan handles thousands of genomes in seconds on a laptop, where snp-sites runs out of memory (250 sequences in 1.7 s; at 1000 it is killed).

Quick start

# Install from Bioconda
conda install -c bioconda snpick

# Extract the variable sites
snpick -f alignment.fasta -o snps.fasta

# ...with a VCF, on 8 threads
snpick -f alignment.fasta.gz -o snps.fasta --vcf -t 8

That is the core of it. The flags for per-site filtering, region masking, VCF coordinates, alternative output formats (PHYLIP / NEXUS) and QC all live in the documentation, and snpick --help prints the authoritative list.

Documentation

Everything is at pathogenomics-lab.github.io/snpick:

  • Installation: Bioconda, pre-built binaries, from source, Docker / Apptainer
  • Usage: the complete flag reference and common recipes
  • Tutorial: a hands-on walkthrough
  • Output formats: FASTA, PHYLIP, NEXUS and the VCF layout
  • Benchmarks: how it scales against snp-sites
  • Architecture: the two-pass memory-mapped scan

snpick is also a Rust library crate, with Python (bindings/python) and WebAssembly (bindings/wasm) bindings.

Citation

If SNPick helps your research, please cite it:

@software{snpick,
  author  = {Ruiz-Rodriguez, Paula and Coscolla, Mireia},
  title   = {SNPick: Fast extraction of variable sites from FASTA alignments},
  url     = {https://github.com/PathoGenOmics-Lab/snpick},
  doi     = {10.5281/zenodo.14191809},
  license = {GPL-3.0}
}

✨ Contributors

Released under the GPL-3.0 license.

About

snpick is a fast and memory-efficient Rust-based SNP extraction tool designed to handle large genomic alignments with minimal RAM usage and high-speed performance.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

17 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages