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

Uploaded Source

Built Distributions

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

Uploaded Python 3 Windows x86-64

sourmash-4.8.11-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.11-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3 macOS 11.0+ x86-64

sourmash-4.8.11-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.11.tar.gz.

File metadata

  • Download URL: sourmash-4.8.11.tar.gz
  • Upload date:
  • Size: 13.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for sourmash-4.8.11.tar.gz
Algorithm Hash digest
SHA256 1a06a76df464b92685779aaaa6ed02a577bdd73a4ab32972e8134581034d34bf
MD5 481d16560efdb7c8ce7bc64550e6b1f3
BLAKE2b-256 68601945250c5b312f23b86f61ab0ca0e1f1b03f9ba44cd6c979a334b6cdab2a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sourmash-4.8.11-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/5.1.1 CPython/3.11.9

File hashes

Hashes for sourmash-4.8.11-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 b584193bddbc5a71e2baf1ea88b21384f8a6a06f3752d9d2b1ae956b255e65b6
MD5 42bfef461d4b19bfa8feb361d733d508
BLAKE2b-256 98171b34fa227c0f2a8f2c83e97c66fa6f5e5a71ab9c87ef4db7880526451f1b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sourmash-4.8.11-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 19141ff6763ca4c59ebfe6ef948a7619cb5cf75c6d12461b7984cc5f76618ecf
MD5 8d1f2beab73cfe90fe1d1a5fc5df613b
BLAKE2b-256 fd504611b4c97c6811b4a534067efc89c082b19d234eb6c40d68baa6dc8ba764

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sourmash-4.8.11-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6d4ccd0429945b57318ab537b9d84c40697d0e3cda3c8cc41c54eb9dc66dc85b
MD5 3c6f0f2a0104ad54244a53834bd7e687
BLAKE2b-256 e36d5f17e969d3d465d466ea8a945d77e052635463a412d7ace6b8a05f31a188

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sourmash-4.8.11-py3-none-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 6dcb358c2122e8e9f0c020ee28466c0a61f12f14506424da69c07f590823c358
MD5 cb0fb25ce4ba9824c35a5e1a3e935e26
BLAKE2b-256 b695d698631c05d2c0b15ce7d5c52f64cedd7996ea39e3174d397abe14f244a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sourmash-4.8.11-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 49304432fd50a02e796c40677a6587565a8fecb87d97168ac770e38e803aa269
MD5 82958b15e2de88abaab1685f9bed20a3
BLAKE2b-256 a36fac146d27d37a120d170c5e13ea01fc8b2b1644f9ec5b4881266ccdec953b

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 Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page