Skip to main content

tools for comparing DNA sequences with MinHash sketches

Project description

sourmash

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

Documentation Gitter Build Status Bioconda install PyPI codecov DOI License: 3-Clause BSD

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!


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

Primary authors: C. Titus Brown (@ctb) and Luiz C. Irber, Jr (@luizirber).

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 bioconda to install sourmash:

conda install -c conda-forge -c bioconda sourmash

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.7 and later. The base requirements are screed, cffi, numpy, matplotlib, and scipy. Conda (see below) will install everything necessary, and is our recommended installation method.

Installation with conda

Bioconda is a channel for the conda package manager with a focus on bioinformatics software. After installing conda, you can install sourmash by running:

$ conda create -n sourmash_env -c conda-forge -c bioconda sourmash python=3.7
$ source 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.

Research notice

Please note that this repository is participating in a study into sustainability of open source projects. Data will be gathered about this repository for approximately the next 12 months, starting from 2021-06-11.

Data collected will include number of contributors, number of PRs, time taken to close/merge these PRs, and issues closed.

For more information, please visit our informational page or download our participant information sheet.


CTB Feb 2021

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

Uploaded Source

Built Distributions

sourmash-4.2.3-py2.py3-none-musllinux_1_1_x86_64.whl (1.4 MB view details)

Uploaded Python 2 Python 3 musllinux: musl 1.1+ x86-64

sourmash-4.2.3-py2.py3-none-musllinux_1_1_aarch64.whl (1.4 MB view details)

Uploaded Python 2 Python 3 musllinux: musl 1.1+ ARM64

sourmash-4.2.3-py2.py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.6 MB view details)

Uploaded Python 2 Python 3 manylinux: glibc 2.17+ s390x

sourmash-4.2.3-py2.py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.5 MB view details)

Uploaded Python 2 Python 3 manylinux: glibc 2.17+ ppc64le

sourmash-4.2.3-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded Python 2 Python 3 manylinux: glibc 2.17+ ARM64

sourmash-4.2.3-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.4 MB view details)

Uploaded Python 2 Python 3 manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.5+ x86-64

sourmash-4.2.3-py2.py3-none-macosx_10_11_x86_64.whl (612.2 kB view details)

Uploaded Python 2 Python 3 macOS 10.11+ x86-64

File details

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

File metadata

  • Download URL: sourmash-4.2.3.tar.gz
  • Upload date:
  • Size: 8.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/54.1.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.6

File hashes

Hashes for sourmash-4.2.3.tar.gz
Algorithm Hash digest
SHA256 182aa079f093e691f0145e23eba7b75b7139227edc29190a89c314aa453cc084
MD5 416feba69d3276e820f5a99376b4c713
BLAKE2b-256 178c5ed2aef1dc31db07863eb4ec2086f7fcd6b6c8a7e5c555aff22887d908f6

See more details on using hashes here.

Provenance

File details

Details for the file sourmash-4.2.3-py2.py3-none-musllinux_1_1_x86_64.whl.

File metadata

  • Download URL: sourmash-4.2.3-py2.py3-none-musllinux_1_1_x86_64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 2, Python 3, musllinux: musl 1.1+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/54.1.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.6

File hashes

Hashes for sourmash-4.2.3-py2.py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 c2f48db1a9b5944185b9f6b591ef884d1105ff40659345e48d86470dde179294
MD5 7e6cdf3ce90cadde75f14e1472c8b3bb
BLAKE2b-256 1984eb740dea20f6665b5a0e6e46da14aa6129d4c8ac601b08b42a7a8653f7ab

See more details on using hashes here.

Provenance

File details

Details for the file sourmash-4.2.3-py2.py3-none-musllinux_1_1_aarch64.whl.

File metadata

  • Download URL: sourmash-4.2.3-py2.py3-none-musllinux_1_1_aarch64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 2, Python 3, musllinux: musl 1.1+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/54.1.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.6

File hashes

Hashes for sourmash-4.2.3-py2.py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 4767df6aa004d4576dedf2141de3a3d9f232289bcf574def349b743a758fac49
MD5 4a783b50c2f7c693f8b891c62eb31c8d
BLAKE2b-256 c876189eb08a3b5d0a36a38d9b81b7a356dd661ac94ac84d29ce82f57f102d8e

See more details on using hashes here.

Provenance

File details

Details for the file sourmash-4.2.3-py2.py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for sourmash-4.2.3-py2.py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 2f2e58cc08cc1cfbd92f8df62a3793c5d53b00e46974fc0ff8764c86494221dd
MD5 704a8b8836162737cf9e9cbe4fefcba3
BLAKE2b-256 a13e3dfab7d4328c7bc41d34a8547a8501ebebec1e0c1389fdf640623bb88ec9

See more details on using hashes here.

Provenance

File details

Details for the file sourmash-4.2.3-py2.py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for sourmash-4.2.3-py2.py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 724785826e231b26c20251386de35e9b11a676c36c6db5955d1cad3db64ae955
MD5 6e651b258d6e92bfe420269e0d8eafd0
BLAKE2b-256 a10dd43ca1f8adf7f25b2d438eb4920aec0a2970a3a7642d4e6ac4ce3adc9368

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for sourmash-4.2.3-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ee666c74b5f413a11abc23c3413178a6532c47d9e51342b68b24e08299fbf790
MD5 ec6539b69cdea32d3af384c531130543
BLAKE2b-256 a6c3bb1eb21167807bc5d9afade39757797159dd0c0458c77efb81f72fffcad7

See more details on using hashes here.

Provenance

File details

Details for the file sourmash-4.2.3-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for sourmash-4.2.3-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 727cd1dec229a85f1fecd1648ecd8bb828a8d7ede8f5484797cc2b2ab3e04abd
MD5 b40c0a3cba13a7d41c29fe4ab410ebeb
BLAKE2b-256 9439491f1db394c286f45a921a07d0a89c6dafcfbebaa626a55266625b1a1cbf

See more details on using hashes here.

Provenance

File details

Details for the file sourmash-4.2.3-py2.py3-none-macosx_10_11_x86_64.whl.

File metadata

  • Download URL: sourmash-4.2.3-py2.py3-none-macosx_10_11_x86_64.whl
  • Upload date:
  • Size: 612.2 kB
  • Tags: Python 2, Python 3, macOS 10.11+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/54.1.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.6

File hashes

Hashes for sourmash-4.2.3-py2.py3-none-macosx_10_11_x86_64.whl
Algorithm Hash digest
SHA256 c6d749c285e84a31ccbf9346f3fc69d5040ebe89945fc8ccc034b2e1f5158e2c
MD5 71d54e0a7347af81c6eecfe3fa2e9001
BLAKE2b-256 396e64a93547cab03f57b93db8a182303a2ece0450ca7cf29451d2ee301cc22a

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