{"library":"pyhmmer","title":"pyhmmer: Python Interface to HMMER3","description":"pyhmmer provides high-performance Cython bindings and a Pythonic interface to the HMMER3 C library, enabling powerful sequence analysis using Hidden Markov Models. It is used for searching protein and nucleic acid sequence databases, identifying remote homologs, and building profile HMMs. The current stable version is 0.12.0, with a release cadence of several minor versions per year, indicating active development.","language":"python","status":"active","last_verified":"Thu May 14","install":{"commands":["pip install pyhmmer"],"cli":null},"imports":["from pyhmmer.easel import Alphabet","from pyhmmer.easel import Sequence","from pyhmmer.hmm import HMM","from pyhmmer.pipeliner import Pipeline","from pyhmmer.plan7 import HMMFile"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import pyhmmer\nfrom pyhmmer.easel import Alphabet, Sequence\nfrom pyhmmer.hmm import HMM\nfrom pyhmmer.pipeliner import Pipeline\n\n# 1. Define the alphabet for sequences and HMMs\nalphabet = Alphabet.amino()\n\n# 2. Create a simple HMM from a seed sequence (or load from .hmm file)\n# For a real application, you would typically load an HMM from a file\n# using `pyhmmer.plan7.HMMFile('your_file.hmm').read_one()`\nseed_sequence = Sequence(name=b\"seed_seq\", sequence=b\"AGILRVAG\")\nhmm = HMM.from_sequence(seed_sequence, alphabet)\nhmm.name = b\"my_simple_hmm\"\n\n# 3. Create target sequences to search against\ntarget_sequences = [\n    Sequence(name=b\"target1\", sequence=b\"AGILRVAGGPPPL\"),\n    Sequence(name=b\"target2\", sequence=b\"GPPPLGGAGILRV\"),\n    Sequence(name=b\"target3\", sequence=b\"XXXXXAGILRVXXXX\") # Contains mismatching chars\n]\n\n# 4. Initialize the HMMER pipeline\n# The pipeline manages memory and resources for the search process\npipeline = Pipeline(alphabet)\n\n# 5. Run the search: search the HMM against the target sequences\n# This method returns a pyhmmer.search.SearchResult object\nresults = pipeline.search_hmm(hmm, target_sequences)\n\n# 6. Process and print the results\nfound_hits = False\nfor hit in results.hits:\n    found_hits = True\n    print(f\"\\n--- Hit Found ---\")\n    print(f\"Query HMM: {hit.query_name.decode()}\")\n    print(f\"Target Sequence: {hit.target_name.decode()}\")\n    print(f\"  E-value: {hit.evalue:.2e}, Bit Score: {hit.score:.2f}\")\n    for dom in hit.domains:\n        print(f\"    Domain: Query {dom.query_start}-{dom.query_end} (HMM positions)\")\n        print(f\"            Target {dom.target_start}-{dom.target_end} (Sequence positions)\")\n\nif not found_hits:\n    print(\"No significant hits found for the HMM against target sequences.\")","lang":"python","description":"This quickstart demonstrates how to create a simple HMM from a sequence, define target sequences, and perform a basic HMMER search using `pyhmmer.pipeliner.Pipeline`. It then iterates through the search results to display hits and their associated domains. Note that sequence names and data must be bytes.","tag":null,"tag_description":null,"last_tested":"2026-04-25","results":[{"runtime":"python:3.10-alpine","exit_code":1},{"runtime":"python:3.10-slim","exit_code":1},{"runtime":"python:3.11-alpine","exit_code":1},{"runtime":"python:3.11-slim","exit_code":1},{"runtime":"python:3.12-alpine","exit_code":1},{"runtime":"python:3.12-slim","exit_code":1},{"runtime":"python:3.13-alpine","exit_code":1},{"runtime":"python:3.13-slim","exit_code":1},{"runtime":"python:3.9-alpine","exit_code":1},{"runtime":"python:3.9-slim","exit_code":1}]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-14","installed_version":"0.12.1","pypi_latest":"0.12.1","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":50,"avg_install_s":2,"avg_import_s":0.21,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pyhmmer","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pyhmmer","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pyhmmer","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.2,"import_time_s":0.12,"mem_mb":4.9,"disk_size":"32M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pyhmmer","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.14,"mem_mb":4.9,"disk_size":"32M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pyhmmer","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pyhmmer","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pyhmmer","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2,"import_time_s":0.23,"mem_mb":6,"disk_size":"35M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pyhmmer","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.24,"mem_mb":6,"disk_size":"34M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pyhmmer","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pyhmmer","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pyhmmer","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.9,"import_time_s":0.27,"mem_mb":6.6,"disk_size":"26M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pyhmmer","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.29,"mem_mb":6.6,"disk_size":"26M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pyhmmer","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pyhmmer","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pyhmmer","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.8,"import_time_s":0.25,"mem_mb":7.1,"disk_size":"26M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pyhmmer","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.28,"mem_mb":7.1,"disk_size":"25M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pyhmmer","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pyhmmer","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pyhmmer","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.3,"import_time_s":0.14,"mem_mb":4.7,"disk_size":"32M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pyhmmer","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.19,"mem_mb":4.7,"disk_size":"32M"}]}}