Skip to main content

tools for comparing DNA sequences with MinHash sketches

Project description

<meta charset="utf-8"/>


Documentation Build Status PyPI codecov DOI License: 3-Clause BSD

Compute MinHash signatures for nucleotide (DNA/RNA) and protein sequences.


sourmash compute *.fq.gz
sourmash compare *.sig -o distances
sourmash plot distances

sourmash 1.0 is published on JOSS; please cite that paper if you use sourmash (doi: 10.21105/joss.00027):.

The name is a riff off of Mash, combined with @ctb's love of whiskey. (Sour mash is used in making whiskey.)

Primary authors: C. Titus Brown (@ctb) and Luiz C. Irber, Jr (@luizirber).

sourmash is a product of the Lab for Data-Intensive Biology at the UC Davis School of Veterinary Medicine.


We recommend using bioconda to install sourmash:

conda install -c conda-forge -c bioconda sourmash

This will install the latest stable version of sourmash 3.

You can also use pip to install sourmash:

pip install sourmash

A quickstart tutorial is available.


sourmash runs under both Python 2.7.x and Python 3.5+. The base requirements are screed and ijson, together with a Rust environment (for the extension code). We suggest using rustup to install the Rust environment:

curl -sSf | sh

The comparison code (sourmash compare) uses numpy, and the plotting code uses matplotlib and scipy, but most of the code is usable without these.

For search and gather you also need khmer version 2.1+.

Installation with conda

Bioconda is a channel for the conda package manager with a focus on bioinformatics software. After installing conda you will need to add the bioconda channel as well as the other channels bioconda depends on. Once you have setup bioconda, you can install sourmash by running:

$ conda create -n sourmash_env -c conda-forge -c bioconda sourmash python=3.7
$ source activate sourmash_env
$ sourmash compute -h

which will install the latest alpha release.


Please ask questions and files issues on Github.


Development happens on github at dib-lab/sourmash.

After installation, sourmash is the main command-line entry point; run it with python -m sourmash, or do pip install -e /path/to/repo to do a developer install in a virtual environment.

The sourmash/ directory contains the Python library and command-line interface code.

The src/core/ directory contains the Rust library implementing core functionality.

Tests require py.test and can be run with make test.

Please see the developer notes for more information.

CTB Jan 2020

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for sourmash, version 3.2.3
Filename, size File type Python version Upload date Hashes
Filename, size sourmash-3.2.3-py2.py3-none-macosx_10_11_intel.whl (473.8 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size sourmash-3.2.3-py2.py3-none-manylinux1_x86_64.whl (1.1 MB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size sourmash-3.2.3-py2.py3-none-manylinux2010_x86_64.whl (1.1 MB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size sourmash-3.2.3.tar.gz (7.3 MB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page