biotite
A comprehensive library for computational molecular biology
What it is and what it does
Biotite is a comprehensive Python library for computational molecular biology that unifies common bioinformatics workflows into a single API. It handles sequence and biomolecular structure data through file I/O (reading and writing popular formats), database queries (searching and fetching from biological databases), analysis and editing, visualization, and external tool integration. The library stores most data internally as NumPy ndarray objects, enabling fast C-accelerated computation, NumPy-like indexing syntax, and direct access to underlying arrays for custom analysis.
The package targets both small analysis scripts and larger bioinformatics software projects. It depends on numpy, requests, msgpack, networkx, and biotraj at runtime, with optional matplotlib support for plotting. The library is actively maintained, supports current Python versions (3.12+), and has no known security vulnerabilities.
Use it for:
- Download protein sequences from NCBI Entrez and perform sequence alignment using substitution matrices.
- Parse and analyze biomolecular structure files (PDB, mmCIF) to identify structural features like disulfide bonds.
- Identify homologous sequence regions across a protein family using sequence search and alignment tools.
- Build custom bioinformatics pipelines by combining file parsing, analysis, and visualization in a single workflow.
- Visualize sequence alignments and protein structures for publication or interactive exploration.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Biotite provides a unified Python library for computational molecular biology, handling sequence and biomolecular structure data through file I/O, analysis, visualization, and database integration.
Yes. Biotite is production-stable (Development Status 5), actively maintained, carries no known vulnerabilities, and offers a cohesive API for common bioinformatics tasks. Medium install friction is offset by prebuilt wheels and strong community adoption (top 5000 PyPI). Install if you work with sequences or structures; the unified interface and NumPy integration reduce boilerplate significantly.
Install
biotite on PyPI
pip
pip install biotiteuv
uv add biotitepoetry
poetry add biotiteInstalling biotite
Before you install
Medium install friction with prebuilt wheels for Python 3.12–3.14 across macOS, Linux, and Windows. Active maintenance (last commit 2026-08-11, release 53 days ago) and 969 GitHub stars indicate solid community support.
License in practice
BSD-3-Clause (permissive) allows commercial and private use with minimal restrictions; attribution and license text inclusion are required.
Quickstart
pip install biotite
import biotite.sequence.align as align
import biotite.database.entrez as entrez
file_name = entrez.fetch_single_file(
uids=["CAC34569", "ACL82594"], file_name="sequences.fasta",
db_name="protein", ret_type="fasta"
)
matrix = align.SubstitutionMatrix.std_protein_matrix()
alignments = align.align_optimal(seq1, seq2, matrix)
Requires Python 3.12 or later; network access needed for database fetching via entrez module.
Verify before relying
- Whether matplotlib is bundled or must be installed separately for visualization features.
- Performance characteristics when handling large-scale sequence datasets or structure files.
- Compatibility with third-party bioinformatics tools beyond what the description mentions.
Package facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.12) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 6 — numpy, biotraj, requests, msgpack, networkx, packaging |
| Maintenance | actively maintained — 53 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,319,784/month — #2,662 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: biotite-1.7.1-cp312-cp312-macosx_11_0_arm64.whl; biotite-1.7.1-cp312-cp312-manylinux_2_28_aarch64.whl; biotite-1.7.1-cp312-cp312-manylinux_2_28_x86_64.whl; biotite-1.7.1-cp312-cp312-win_amd64.whl; biotite-1.7.1-cp313-cp313-macosx_11_0_arm64.whl; biotite-1.7.1-cp313-cp313-manylinux_2_28_aarch64.whl; biotite-1.7.1-cp313-cp313-manylinux_2_28_x86_64.whl; biotite-1.7.1-cp313-cp313-win_amd64.whl; biotite-1.7.1-cp314-cp314-macosx_11_0_arm64.whl; biotite-1.7.1-cp314-cp314-manylinux_2_28_aarch64.whl; biotite-1.7.1-cp314-cp314-manylinux_2_28_x86_64.whl; biotite-1.7.1-cp314-cp314-win_amd64.whl
Tags
More Bio-Informatics packages
NetworkX provides data structures and…
permissive · top 1,000 on PyPI
biopythonBiopython provides Python tools for…
unclear · top 5,000 on PyPI
firecrawl-pyClient library for the Firecrawl API that…
permissive · top 5,000 on PyPI
intervaltreeA self-balancing interval tree data structure…
permissive · top 5,000 on PyPI
albumentationsAlbumentations applies image transformations to…
permissive · top 5,000 on PyPI
PubChemPyPubChemPy is a Python wrapper around the…
permissive · top 5,000 on PyPI
bioA command-line toolkit that simplifies common…
permissive · top 5,000 on PyPI
bx-pythonbx-python provides Python classes and utilities…
permissive · top 15,000 on PyPI
deepbiopDeepBioP is a deep learning preprocessing…
permissive · top 15,000 on PyPI
fastpdbfastpdb is a Rust-based drop-in replacement for…
permissive · top 15,000 on PyPI
logomakerLogomaker creates customized sequence…
permissive · top 15,000 on PyPI
python-libsbmlProvides Python bindings to read, write, and…
copyleft · top 15,000 on PyPI
scikit-bioscikit-bio provides data structures,…
permissive · top 15,000 on PyPI
tmtoolsProvides Python bindings to the TM-align…
copyleft · top 15,000 on PyPI
pipebioA Python SDK for the PipeBio cloud platform…
permissive · top 15,000 on PyPI