Skip to main content

tools for comparing biological sequences with k-mer sketches

Project description

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 pyOpenSci

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.06830):.

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 history Release notifications | RSS feed

Download files

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

Source Distribution

sourmash-4.8.14.tar.gz (13.3 MB view details)

Uploaded Source

Built Distributions

sourmash-4.8.14-py3-none-win_amd64.whl (2.1 MB view details)

Uploaded Python 3 Windows x86-64

sourmash-4.8.14-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ x86-64

sourmash-4.8.14-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.4 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARM64

sourmash-4.8.14-py3-none-macosx_11_0_x86_64.whl (2.7 MB view details)

Uploaded Python 3 macOS 11.0+ x86-64

sourmash-4.8.14-py3-none-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded Python 3 macOS 11.0+ ARM64

File details

Details for the file sourmash-4.8.14.tar.gz.

File metadata

  • Download URL: sourmash-4.8.14.tar.gz
  • Upload date:
  • Size: 13.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.18

File hashes

Hashes for sourmash-4.8.14.tar.gz
Algorithm Hash digest
SHA256 9e8f7d5633b529513efc950e25c974c4ecf7c99b4cafbd00f2f135ad0563307f
MD5 d1d0731bd682428a78cafa0825bab2b6
BLAKE2b-256 b85b2a55c462e4adc79d56166ac298e11b10c216d9d0fd01645ea205047af556

See more details on using hashes here.

File details

Details for the file sourmash-4.8.14-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for sourmash-4.8.14-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 5d4402662108a3d74a65896316b84c54c2590caabdde88f2e9c440a4cf1498d0
MD5 b6f230e08095979303757409c27b6f4f
BLAKE2b-256 e8bc5a84a31684827cb022bbba102d7d16614013f56671dd83f6289f3a04fad4

See more details on using hashes here.

File details

Details for the file sourmash-4.8.14-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sourmash-4.8.14-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 286788f85844afec3ceafd958777eccd2718e0c7881f325e498e25f30927e5ac
MD5 0b3fb5cc489bc8393a51f51c2375165f
BLAKE2b-256 a53ee0eec2c431c6cc5bd91131ca945343f56eea71bd5d4a58a89e0e795aad35

See more details on using hashes here.

File details

Details for the file sourmash-4.8.14-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for sourmash-4.8.14-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4c1c980cb9c6f33f2422d9ea5af2b60e018c923d60e44deb858c3cbb54c24337
MD5 57489406c451eb99142768591e2dd86e
BLAKE2b-256 b90022890cfd35168895f4a413aa7a16029526c14bcbfaf6c20234b51be5fa3d

See more details on using hashes here.

File details

Details for the file sourmash-4.8.14-py3-none-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for sourmash-4.8.14-py3-none-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 171d7151bb86b2d98b28bb8eba1b00bb953c8da27b7b3a8e3e181f0b359d60f2
MD5 e6fe5e9487e0305015c605b6427d11ba
BLAKE2b-256 45a1b5a718929f24e55d76a2e0ef38981a6e06d13308b0134edb8668dc92bf41

See more details on using hashes here.

File details

Details for the file sourmash-4.8.14-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for sourmash-4.8.14-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 434e4530c5b7d1bdd2a9673a0a26d37e7127e57327de48a8163cab622ad4f3ca
MD5 e12f32c2f33b52a43386763e9c90307c
BLAKE2b-256 37fe1a51f3cc47b7297fd3ef166a89fbd4c2e2b508fe5f6c39d24417b2dd4c96

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page