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.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 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.9.tar.gz (13.4 MB view details)

Uploaded Source

Built Distributions

sourmash-4.8.9-py3-none-win_amd64.whl (1.9 MB view details)

Uploaded Python 3 Windows x86-64

sourmash-4.8.9-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ x86-64

sourmash-4.8.9-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.3 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARM64

sourmash-4.8.9-py3-none-macosx_11_0_x86_64.whl (2.5 MB view details)

Uploaded Python 3 macOS 11.0+ x86-64

sourmash-4.8.9-py3-none-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded Python 3 macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: sourmash-4.8.9.tar.gz
  • Upload date:
  • Size: 13.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for sourmash-4.8.9.tar.gz
Algorithm Hash digest
SHA256 b11f5eeaf99e6ea58c6d76602a454bb3ed1bf6e8607e6418e01b9722da439fa3
MD5 139e551dfce1bd81b2433e42d86c0944
BLAKE2b-256 ab37202dcc1338ad0a26cbd644f0649b4994649a53a26478a87b30797263a0d4

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: sourmash-4.8.9-py3-none-win_amd64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for sourmash-4.8.9-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 ed7b322bce85f4a7d9d094441e3578d85e74425b9ce0fca236fa798eaf3ddc03
MD5 f5641d231a4e80046b68a3154b67eb6a
BLAKE2b-256 a8069d71ca9d3b5f6be81beefa061144d03d34a71c47ea31f6d27d9e9bdabdfe

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for sourmash-4.8.9-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ad732fc5ee6da1b18057d74d5847bcdfdcdd8a7f1826f27bbddaf3b8004a5f94
MD5 9ee29ec303ff2c88af9aa2dc13bc4c9a
BLAKE2b-256 7d7a09f416525f168f368431f59251b213cb8613b6365f577dff3844b8b5341e

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for sourmash-4.8.9-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c76fc62dbc9d914c651ff2efa7f733633289efbac221ec6d24d94919674d21e1
MD5 a50324ff5d216be740ab59921a223c8f
BLAKE2b-256 891dddf16cd3d4b16cb9a83c1f9aa067df89ca7042262db0158ac60c711e224a

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for sourmash-4.8.9-py3-none-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 1e84c474ee9af31f6da12a5c5837634cc50cea9583ba99bcff6a747f57004a57
MD5 8cfecf72a243394a9536e457cd902c06
BLAKE2b-256 baad138aa942294903d9141e512a46ea8f29a0a55ecddade9432249b6b6e0cab

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for sourmash-4.8.9-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b67da800f3513c69bbb0c8e4baf192126a9130f93f212d848e8c58772bed6821
MD5 c87081cecacbc6b7b7ce825b460e7a0b
BLAKE2b-256 461b2ceaff662c89f75e1b03e7e2851c9074cb327ac0b6dd9151d6a713146afb

See more details on using hashes here.

Provenance

Supported by

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