sketchlib.rust
Description
This is a reimplementation and extension of pp-sketchlib in the rust language. This version is optimised for larger sample numbers, particularly allowing subsets of samples to be compared.
News
- Data format changed in v0.4.0. If you have an older database (see
sketchlib info <db_prefix> | grep "sketch_version") you should resketch samples with >v0.4 if possible. Otherwise you will need to use an older release available on crates.io. - v0.2.0 was the first stable release.
Documentation
Installation
Choose from:
- Download a binary from the releases.
- Use
cargo install sketchliborcargo add sketchlib. - Use conda install -c bioconda sketchlib.
- Build from source
For 2) or 4) you must have the rust toolchain installed.
OS X users
If you have an M1-4 (arm64) Mac, we aren't currently automatically building binaries, so would recommend either option 2) or 3) for best performance.
If you get a message saying the binary isn't signed by Apple and can't be run, use the following command to bypass this:
xattr -d "com.apple.quarantine" ./sketchlib
Build from source
- Clone the repository with git clone.
- Run
cargo install --path .orRUSTFLAGS="-C target-cpu=native" cargo install --path .to optimise for your machine.
Citation
Please cite:
von Wachsmann J, Lorenz LJ, Russell MJ, Gurbich TA, Rodríguez-Bouza V, Horsfield ST, Lees JA, Finn RD (2026).
Rapid and consistent clustering of millions of genomes highlights the diversity of prokaryotic life.
bioRxiv.
https://doi.org/10.64898/2025.12.30.695181
Lees JA, Tonkin-Hill G, Yang Z, Corander J.
Mandrake: visualizing microbial population structure by embedding millions of genomes into a low-dimensional representation.
Philosophical Transactions of The Royal Society B. 2022;377: 20210237.
https://doi.org/10.1098/rstb.2021.0237
We rely on algorithms from:
bindash (written by XiaoFei Zhao):
Zhao, X. BinDash, software for fast genome distance estimation on a typical personal laptop.
Bioinformatics 35:671–673 (2019).
doi:10.1093/bioinformatics/bty651
ntHash (written by Hamid Mohamadi):
Mohamadi, H., Chu, J., Vandervalk, B. P. & Birol, I. ntHash: recursive nucleotide hashing.
Bioinformatics 32:3492–3494 (2016).
doi:10.1093/bioinformatics/btw397