scoring-matrices Stars#

Dependency free, Cython-compatible scoring matrices to use with biological sequences.

Actions Coverage PyPI Bioconda AUR Wheel Versions Implementations License Source Issues Docs Changelog Downloads

Overview#

Scoring Matrices are matrices used to score the matches and mismatches between two characters are the same position in a sequence alignment. Some of these matrices are derived from substitution matrices, which uses evolutionary modeling.

The scoring-matrices package is a dependency-free, batteries included Cython library to handle and distribute common substitution matrices:

Self-contained

The matrices are distributed as-is: you don’t need the whole Biopython ecosystem, or even NumPy.

Cython Support

The ScoringMatrix class is a Cython class that can be inherited, and the matrix data can be accessed as either a raw pointer, or a typed memoryview.

Batteries-included

The package distributes most common matrices, such as those used by the NCBI BLAST+ suite, including: PAM, BLOSUM, VTML, BENNER, etc.

I/O Support

Easily load a ScoringMatrix from a file, a file-like object, or by name for common matrices.

Configurable

Easily build your own scoring matrices using the Python interface, including various shortcut constructors to create a ScoringMatrix from a diagonal or a pair of match/mismatch scores.

Versioned

This library follows semantic versioning to guarantee compatibility between patch versions, allowing for a safe API and ABI that can be reused without recompiling on each install.

Setup#

scoring-matrices is available for all modern Python versions (3.7+).

Run pip install scoring-matrices in a shell to download the latest release from PyPi, or have a look at the Installation page to find other ways to install the package.

Library#

License#

This library is provided under the MIT License. Matrices were collected from the MMseqs2, Biopython and NCBI BLAST+ sources and are believed to be in the public domain.

This project was developed by Martin Larralde during his PhD project at the Leiden University Medical Center in the Zeller team.