Logo PyHMMER Stars#

Cython bindings and Python interface to HMMER3.

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

Overview#

HMMER is a biological sequence analysis tool that uses profile hidden Markov models to search for sequence homologs. HMMER3 is maintained by members of the the Eddy/Rivas Laboratory at Harvard University.

pyhmmer is a Python module, implemented using the Cython language, that provides bindings to HMMER3. It directly interacts with the HMMER internals, which has the following advantages over CLI wrappers:

Batteries-included

Just add pyhmmer as a pip or conda dependency, no need for the HMMER binaries or any external dependency.

Flexible

Create input Sequence and HMM objects with the API, or load them from a file.

Practical

Retrieve nested results as dedicated TopHits objects, write them to a file, or use them for further Python analysis.

Fast

Run hmmsearch in parallel using an efficient threading model, which outperforms HMMER in some typical usecases.

Shareable

Distribute and load HMM objects from inside a Python package to facilitate sharing analyses.

Transparent

Access the internals of a HMM, inspect the attributes and manually edit transitions or emissions scores.

Setup#

Run pip install pyhmmer in a shell to download the latest release and all its dependencies from PyPi, or have a look at the Installation page to find other ways to install pyhmmer.

Citation#

PyHMMER is scientific software, with a published paper in the Bioinformatics journal. Check the Publications page to see how to cite PyHMMER.

Library#

License#

This library is provided under the MIT License. The Easel and HMMER3 codes are available under the BSD and BSD 3-clause licenses respectively, which both allow redistribution of the sources in the pyhmmer distribution. See the Copyright Notice section for more information.

This project is in no way not affiliated, sponsored, or otherwise endorsed by the original HMMER authors. It was developed by Martin Larralde during his PhD project at the European Molecular Biology Laboratory in the Zeller team.