PyHMMER
#
Cython bindings and Python interface to HMMER3.
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:
Just add pyhmmer as a pip or conda dependency, no need
for the HMMER binaries or any external dependency.
Retrieve nested results as dedicated TopHits objects,
write them to a file, or use them for further Python analysis.
Run hmmsearch in parallel using an efficient threading model, which
outperforms HMMER in some typical usecases.
Distribute and load HMM
objects from inside a Python package to facilitate sharing analyses.
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.