Skip to main content

sourmash

Quickly search, compare, and analyze genomic and metagenomic data sets.

Project Status: Active – The project has reached a stable, usable state and is being actively developed. License: 3-Clause BSD Documentation Gitter DOI

Bioconda install PyPI Conda Platforms

Python 3.10 Python 3.11 Python 3.12 Build Status codecov

Usage:

sourmash sketch dna *.fq.gz
sourmash compare *.sig -o distances.cmp -k 31
sourmash plot distances.cmp

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

The latest major release is sourmash v4, which has several command-line and Python incompatibilities with previous versions. Please visit our migration guide to upgrade!


sourmash is a k-mer analysis multitool, and we aim to provide stable, robust programmatic and command-line APIs for a variety of sequence comparisons. Some of our special sauce includes:

  • FracMinHash sketching, which enables accurate comparisons (including ANI) between data sets of different sizes
  • sourmash gather, a combinatorial k-mer approach for more accurate metagenomic profiling

Please see the sourmash publications for details.

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

Maintainers: C. Titus Brown (@ctb), Luiz C. Irber, Jr (@luizirber), and N. Tessa Pierce-Ward (@bluegenes).

sourmash was initially developed by the Lab for Data-Intensive Biology at the UC Davis School of Veterinary Medicine, and now includes contributions from the global research and developer community.

Installation

We recommend using conda-forge to install sourmash:

conda install -c conda-forge sourmash-minimal

This will install the latest stable version of sourmash 4.

You can also use pip to install sourmash:

pip install sourmash

A quickstart tutorial is available.

Requirements

sourmash runs under Python 3.10 and later on Windows, Mac OS X, and Linux. The base requirements are screed, cffi, numpy, matplotlib, and scipy. Conda will install everything necessary, and is our recommended installation method (see below).

Installation with conda

conda-forge is a community maintained channel for the conda package manager. installing conda, you can install sourmash by running:

$ conda create -n sourmash_env -c conda-forge sourmash-minimal
$ conda activate sourmash_env
$ sourmash --help

which will install the latest released version.

Support

For questions, please open an issue on Github, or ask in our chat.

Development

Development happens on github at sourmash-bio/sourmash.

sourmash is developed in Python and Rust, and you will need a Rust environment to build it; see the developer notes for our suggested development setup.

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 on getting set up with a development environment.

CTB Jan 2024

Release files for sourmash 4.8.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sourmash 4.8.6
File Size Uploaded
sourmash-4.8.6.tar.gz 13.3 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for sourmash 4.8.6
File
sourmash-4.8.6-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
sourmash-4.8.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
sourmash-4.8.6-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl Python 3 none Linux glibc 2.17+ PowerPC 64-le Details
sourmash-4.8.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
sourmash-4.8.6-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
sourmash-4.8.6-py3-none-macosx_10_14_x86_64.whl Python 3 none macOS 10.14+ x86-64 Details

Total release size: 30.1 MB

Release files / sourmash-4.8.6.tar.gz

Download URL sourmash-4.8.6.tar.gz
Size 13.3 MB
Tags Source
SHA-256 checksum
How to use checksums
5a09c5d12cb07f8d73eb60db8dbd30e4e74aabf53a718610ddb5e6c91b341dca
BLAKE2b-256 checksum
How to use checksums
164d545e575eb148fec48d6b7e085ea980cce35b448b2985239e992057a4baa5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / sourmash-4.8.6-py3-none-win_amd64.whl

Download URL sourmash-4.8.6-py3-none-win_amd64.whl
Size 1.9 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
c9bda2e971a19abcedaf9e42a39c4441c4e031b0e97ce3541ea6af71314e61a2
BLAKE2b-256 checksum
How to use checksums
16119d4e4b91b13bc306787abf2d9413c76317a4e89568d502c3c12f81678329
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / sourmash-4.8.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sourmash-4.8.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 3.6 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
8e15a51b84467f04d1d47a27710a2320b3cf019650e4c0c26abee12ab1ec71eb
BLAKE2b-256 checksum
How to use checksums
fdf835ec688d89e0a3aa073459cc8df4fa2720f66e830ac51d61ef71d987d0d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / sourmash-4.8.6-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL sourmash-4.8.6-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 4.2 MB
Tags Linux glibc 2.17+ PowerPC 64-le Python 3
SHA-256 checksum
How to use checksums
79994cbda8692b51ea7cde5c52466b01fdef75cb2bd07da215d247bca4860558
BLAKE2b-256 checksum
How to use checksums
cfb7827268e01f96da8e01322aa0094b7e96ae672fb70976288b4def820776a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / sourmash-4.8.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL sourmash-4.8.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 2.3 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
f587838a0e1f526dba7a2757f1e699cd72e1b7779ed3a6e6078c2092bcc8596a
BLAKE2b-256 checksum
How to use checksums
f2bafdee2c49c3e801f7f2e8d8a50b47b97c8f1dacd9a1ca9fa45a13f7b7b3d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / sourmash-4.8.6-py3-none-macosx_11_0_arm64.whl

Download URL sourmash-4.8.6-py3-none-macosx_11_0_arm64.whl
Size 2.3 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
46a18ffae995adda42c6e1ec1f738f81236dcc50758e02c9489caf96f969f122
BLAKE2b-256 checksum
How to use checksums
b68bed559bffd75a91637c64509a48ee039bd05c605c810fe4b7ed96f45efff2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / sourmash-4.8.6-py3-none-macosx_10_14_x86_64.whl

Download URL sourmash-4.8.6-py3-none-macosx_10_14_x86_64.whl
Size 2.6 MB
Tags Python 3 macOS 10.14+ x86-64
SHA-256 checksum
How to use checksums
2dd5c89f73e12e196488508010a6fbc90651c235a38418d7a24f274f3bcbc470
BLAKE2b-256 checksum
How to use checksums
b0bb2b1161dbdbb7197e41e3c10c42f18f772d19660275d5cec35e98c99d983c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release history Release notifications | RSS feed

4.9.4

6 release files

4.9.3

6 release files

4.9.2

6 release files

4.9.1

6 release files

4.9.0

6 release files

4.8.14

6 release files

4.8.13

6 release files

4.8.11

6 release files

4.8.10

6 release files

4.8.9

6 release files

4.8.8

7 release files

4.8.7

7 release files

This release

4.8.6 This release

7 release files

4.8.5

5 release files

4.8.4

9 release files

4.8.3

9 release files

4.8.2

9 release files

4.8.1

9 release files

4.8.0

9 release files

4.7.0

9 release files

4.6.1

9 release files

4.6.0

9 release files

4.5.0

9 release files

4.4.3

9 release files

4.4.2

9 release files

4.4.1

9 release files

4.4.0

9 release files

4.3.0

8 release files

4.2.4

8 release files

4.2.3

8 release files

4.2.2

7 release files

4.2.1

7 release files

4.2.0

7 release files

4.1.2

7 release files

4.1.1

7 release files

4.1.0

7 release files

4.0.0

7 release files

3.5.1

7 release files

3.5.0

6 release files

3.4.1

6 release files

3.4.0

6 release files

3.3.1

6 release files

3.3.0

5 release files

3.2.3

4 release files

3.2.2

4 release files

3.2.1

4 release files

3.2.0

4 release files

3.1.0

4 release files

3.0.1

4 release files

3.0.0

4 release files

2.3.1

18 release files

2.3.0

18 release files

2.2.0

12 release files

2.1.0

12 release files

2.0.0

12 release files

1.0

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

1 release file

0.9.3

2 release files

0.9.2

1 release file

0.3

1 release file

0.2

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page