bx-python
Tools for manipulating biological data, particularly multiple sequence alignments
Decision gist · record as of 2026-08-14
Yes, if you work with genome-scale sequence alignments or need efficient interval indexing on genomic data. The package is actively maintained, supports current Python versions, carries no known vulnerabilities, and has a permissive license. Install friction is moderate due to liblzo2 dependency, but pre-built wheels are available for common platforms. Not relevant for non-bioinformatics use cases.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires liblzo2-dev system library (e.g., apt-get install liblzo2-dev on Debian/Ubuntu) to build from source.
- Medium install friction due to compiled dependencies (requires liblzo2-dev system library).
- Maintenance is active with recent commits and broad wheel coverage across Python 3.9–3.14 and multiple platforms.
License · maintenance · safety
MIT (permissive) — MIT license is permissive; you may use, modify, and distribute this package freely with minimal restrictions.
last release 2025-07-30 (380 days) · last repo commit 2026-08-01 · 161 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 145,661 downloads/mo, #11,122 on PyPI
Alternatives
Verify before relying
pip install bx-python
import bx.align.maf
reader = bx.align.maf.Reader(open('alignments.maf'))
for alignment in reader:
print(alignment)- Exact performance characteristics for large-scale alignment files or network filesystem access patterns.
- Whether bitset and intersecter implementations are thread-safe or require external synchronization.
- Current state of documentation and examples beyond the repository README.
What it is and what it does
bx-python is a bioinformatics library for working with genome-scale sequence alignments and genomic intervals. It provides specialized data structures for reading multiple local alignments in MAF, AXT, and LAV formats, plus efficient in-memory and on-disk indexing for random access to large alignment files. The library also includes interval-based data structures such as binned bitsets (compact chromosome-sized bit arrays) and an intersecter for fast overlap queries that preserve both query and target intervals with their annotations.
The package is designed for rapid prototyping and implementation of genome-scale analyses. It sits between raw sequence data and higher-level analysis pipelines, offering the low-level data manipulation and indexing primitives that genomics workflows need. Dependencies on numpy and pyparsing keep the core lightweight, though building from source requires the liblzo2 compression library.
Use it for
- Parse and iterate over large MAF alignment files to extract pairwise or multiple sequence alignments for downstream analysis.
- Index genome alignments for random access without loading entire files into memory, especially useful over network filesystems.
- Perform fast interval overlap queries on genomic coordinates while preserving both query and target annotations.
- Build compact representations of genomic features using binned bitsets for memory-efficient chromosome-scale operations.
- Implement custom genome-scale comparative analysis pipelines that require flexible interval and alignment data structures.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you work with genome-scale sequence alignments or need efficient interval indexing on genomic data.
The package is actively maintained, supports current Python versions, carries no known vulnerabilities, and has a permissive license. Install friction is moderate due to liblzo2 dependency, but pre-built wheels are available for common platforms. Not relevant for non-bioinformatics use cases.
Install
bx-python on PyPI
Before you install
Medium install friction due to compiled dependencies (requires liblzo2-dev system library). Maintenance is active with recent commits and broad wheel coverage across Python 3.9–3.14 and multiple platforms.
Requires liblzo2-dev system library (e.g., apt-get install liblzo2-dev on Debian/Ubuntu) to build from source.
License in practice
MIT license is permissive; you may use, modify, and distribute this package freely with minimal restrictions.
Quickstart
pip install bx-python
import bx.align.maf
reader = bx.align.maf.Reader(open('alignments.maf'))
for alignment in reader:
print(alignment)
Verify before relying
- Exact performance characteristics for large-scale alignment files or network filesystem access patterns.
- Whether bitset and intersecter implementations are thread-safe or require external synchronization.
- Current state of documentation and examples beyond the repository README.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 2 packagesnumpypyparsing |
| Maintenance | Actively maintained 380 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 145,661 / month, #11,122 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Science/ResearchOperating System :: POSIXProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Topic :: Scientific/Engineering :: Bio-InformaticsTopic :: Software Development :: Libraries :: Python Modules |
Evidence: bx_python-0.14.0-cp310-cp310-macosx_10_9_x86_64.whl; bx_python-0.14.0-cp310-cp310-macosx_11_0_arm64.whl; bx_python-0.14.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; bx_python-0.14.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; bx_python-0.14.0-cp310-cp310-musllinux_1_2_aarch64.whl; bx_python-0.14.0-cp310-cp310-musllinux_1_2_x86_64.whl; bx_python-0.14.0-cp311-cp311-macosx_10_9_x86_64.whl; bx_python-0.14.0-cp311-cp311-macosx_11_0_arm64.whl; bx_python-0.14.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; bx_python-0.14.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; bx_python-0.14.0-cp311-cp311-musllinux_1_2_aarch64.whl; bx_python-0.14.0-cp311-cp311-musllinux_1_2_x86_64.whl; bx_python-0.14.0-cp312-cp312-macosx_10_13_x86_64.whl; bx_python-0.14.0-cp312-cp312-macosx_11_0_arm64.whl; bx_python-0.14.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; bx_python-0.14.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; bx_python-0.14.0-cp312-cp312-musllinux_1_2_aarch64.whl; bx_python-0.14.0-cp312-cp312-musllinux_1_2_x86_64.whl; bx_python-0.14.0-cp313-cp313-macosx_10_13_x86_64.whl; bx_python-0.14.0-cp313-cp313-macosx_11_0_arm64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “genome sequence alignment tools”
- bx-pythonbx-python provides Python classes and utilities for reading,…
- bioA command-line toolkit that simplifies common bioinformatics tasks…
- pysylphPysylph provides Python bindings to sylph, enabling fast ANI (Average…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also biotite · varcode · biocommons.seqrepo · pybedtools · pyranges · pyensembl · abnumber · refgenie · logomaker · pyBigWig