biom-format
Biological Observation Matrix (BIOM) format
What it is and what it does
biom-format is a Python library for working with the BIOM (Biological Observation Matrix) file format, a standard in microbiome and metagenomic research for storing abundance data—counts of observations such as OTUs, KO categories, or lipid types across multiple biological samples. It provides read/write access to BIOM files, typically in HDF5 format, and allows you to load, manipulate, and export these matrices for downstream analysis.
The package depends on numpy, scipy, pandas, h5py, and click, making it suitable for integration into data pipelines. It supports Python 3.9 through 3.13 on major platforms. The library is designed to be a general-purpose container for observation counts from various high-throughput biological assays.
Use it for:
- Load and parse BIOM files from microbiome pipelines for downstream statistical analysis.
- Convert between BIOM and tabular formats for integration with other analysis tools.
- Manipulate sample metadata and observation taxonomy within a BIOM matrix programmatically.
- Export abundance tables from your own analysis pipeline in the standard BIOM format.
- Batch process multiple BIOM files to extract subsets of samples or observations.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Reads, writes, and manipulates Biological Observation Matrix (BIOM) files, a standard format for storing counts of observations across biological samples.
Yes, if you work with microbiome or metagenomic data in BIOM format. The package is stable, permissively licensed, and widely compatible across platforms and Python versions. However, maintenance is aging (last release 353 days ago), so verify that it meets your specific pipeline requirements before committing to it for production workflows. No known security vulnerabilities.
Install
biom-format on PyPI
pip
pip install biom-formatuv
uv add biom-formatpoetry
poetry add biom-formatInstalling biom-format
Before you install
Medium install friction due to compiled dependencies (numpy, scipy, h5py). Wheels available for Python 3.9–3.13 on macOS, Linux, and Windows. Last release 353 days ago; maintenance status is aging, so expect slower response to issues.
License in practice
BSD license is permissive; you may use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install biom-format
import biom
table = biom.load_table('data.biom')
print(table.shape)
Requires h5py, which depends on HDF5 system libraries; installation may require a C compiler or prebuilt wheels for your platform.
Verify before relying
- Whether the package actively maintains compatibility with major microbiome analysis pipelines.
- Performance characteristics for large matrices.
- Availability of comprehensive documentation beyond the homepage.
Package facts
| License | BSD (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 5 — click, numpy, scipy, pandas, h5py |
| Maintenance | aging — 353 days since the last release |
| First released | |
| Downloads | 134,204/month — #11,483 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: biom_format-2.1.17-cp310-cp310-macosx_10_9_x86_64.whl; biom_format-2.1.17-cp310-cp310-macosx_11_0_arm64.whl; biom_format-2.1.17-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; biom_format-2.1.17-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl; biom_format-2.1.17-cp310-cp310-win_amd64.whl; biom_format-2.1.17-cp311-cp311-macosx_10_9_x86_64.whl; biom_format-2.1.17-cp311-cp311-macosx_11_0_arm64.whl; biom_format-2.1.17-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; biom_format-2.1.17-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl; biom_format-2.1.17-cp311-cp311-win_amd64.whl; biom_format-2.1.17-cp312-cp312-macosx_10_13_x86_64.whl; biom_format-2.1.17-cp312-cp312-macosx_11_0_arm64.whl; biom_format-2.1.17-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; biom_format-2.1.17-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl; biom_format-2.1.17-cp312-cp312-win_amd64.whl; biom_format-2.1.17-cp313-cp313-macosx_10_13_x86_64.whl; biom_format-2.1.17-cp313-cp313-macosx_11_0_arm64.whl; biom_format-2.1.17-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; biom_format-2.1.17-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl; biom_format-2.1.17-cp313-cp313-win_amd64.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
scikit-bioscikit-bio provides data structures,…
permissive · top 15,000 on PyPI
biontyBionty provides access to and management of…
unclear · top 15,000 on PyPI
biotiteBiotite provides a unified Python library for…
permissive · top 5,000 on PyPI
deepbiopDeepBioP is a deep learning preprocessing…
permissive · top 15,000 on PyPI
biocommons.seqrepoSeqRepo stores and retrieves biological…
permissive · top 15,000 on PyPI
peppypeppy reads and manages Portable Encapsulated…
permissive · top 15,000 on PyPI
bioA command-line toolkit that simplifies common…
permissive · top 5,000 on PyPI
python-libsbmlProvides Python bindings to read, write, and…
copyleft · top 15,000 on PyPI
bioversionsRetrieves and caches the current version…
permissive · top 15,000 on PyPI
mudataMuData is a container for multimodal omics data…
permissive · top 15,000 on PyPI