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 Debian Testing Debian Unstable

Python 3.11 Python 3.12 Python 3.13 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.11 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.9.3.tar.gz (25.2 MB view details)

Uploaded Source

Built Distributions

sourmash-4.9.3-py3-none-win_amd64.whl (3.5 MB view details)

Uploaded Python 3Windows x86-64

sourmash-4.9.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

sourmash-4.9.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

sourmash-4.9.3-py3-none-macosx_11_0_x86_64.whl (4.2 MB view details)

Uploaded Python 3macOS 11.0+ x86-64

sourmash-4.9.3-py3-none-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: sourmash-4.9.3.tar.gz
  • Upload date:
  • Size: 25.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.8

File hashes

Hashes for sourmash-4.9.3.tar.gz
Algorithm Hash digest
SHA256 bd23e4ae4caefe3a425f2bb1feefb87757674a432eff8e77a3c0932a693a9576
MD5 a67841c85f1b1effbc976f34f207db79
BLAKE2b-256 135a13843da3628efcff8253ae74ec3f19d9d5a5adeb051f55e636b93899cefe

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for sourmash-4.9.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 41a369cf8a2d03206d323eb09b3b5fc4f4099b879f9cd1bd8d69eb708e168abe
MD5 de1a00c2e0c2c63b3f14e8a25019f807
BLAKE2b-256 46723be894953920cd165101dc5e0b547a94dd6d44111083cd9933e7947c3a0c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sourmash-4.9.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 47204755cb1bd07fdc892785ffac47e74e68cf52a62aadca44359b7130ff9de8
MD5 239e2d801e37e0c131b1f4f754c353cb
BLAKE2b-256 d4796319b5f92153eb4987bd52ccbf37d79560c1a9c4a70eb2d40c90e759ef45

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sourmash-4.9.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fe6f9ea928056a74e6ac1ce3aa636af8d2692efb390b0521cd7840f29029fa89
MD5 ac642d0ee930e27448d72394686d6f1b
BLAKE2b-256 c6508424eace8b833ee8cc95da91b9adc1256169e59a76422ab6204d1a46d514

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sourmash-4.9.3-py3-none-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 e85306447f62ec0808ea46985fd014999555c5060a14516dc20fd6f501e2898c
MD5 66f9835e0bbd6a313152b731879e3a18
BLAKE2b-256 853e7e5cda4adc7eb432ee318f655f8c77d1e88de00b2abdf0db0dff5532a3f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sourmash-4.9.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5d9e077fc3e75d5cfa65e6f052babd7a1a6ab5da6d0fd6a0755d3fb230b23132
MD5 82cc9aaf6ef0a1b1cb27fdb5514d91cc
BLAKE2b-256 a948316e4497818dfa23baec77cf253890e2a73588d862cc811b3bf3fa065dd4

See more details on using hashes here.

Supported by

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