bio
What it is and what it does
bio is a command-line toolkit designed to reduce the friction of routine bioinformatics tasks. It wraps common operations—fetching sequences from GenBank, converting between FASTA/GFF/VCF formats, aligning sequences, and querying taxonomic lineages—into short, composable commands that can be chained together using Unix pipes. The package is built on biopython, mygene, gprofiler-official, and other established bioinformatics libraries, and is oriented toward stream processing so that output from one command naturally feeds into the next.
The project is in active beta and targets students, educators, and researchers working with similar genomes (bacterial or viral strains) or investigating specific genomic regions. It aims to replace multi-step workflows and arcane command sequences with explicit, readable commands. The toolkit is maintained actively and supports Python 3.10 through 3.12.
Use it for:
- Fetch viral or bacterial genome sequences by accession number and convert them to FASTA or GFF format for downstream analysis.
- Extract and align coding sequences for a specific gene across multiple genomes, then generate variant calls in VCF format.
- Query taxonomic lineages and descendants for a given taxon ID to understand evolutionary relationships.
- Teach bioinformatics concepts in a classroom setting using readable, composable commands rather than complex scripting.
- Investigate precise details of a genomic region by combining fetch, format conversion, and alignment in a single pipeline.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A command-line toolkit that simplifies common bioinformatics tasks like fetching sequences, converting formats, aligning genomes, and querying taxonomic data through composable commands.
Yes, if you work with genomic data and want to reduce command-line friction. The package is actively maintained, has no known vulnerabilities, uses a permissive MIT license, and depends on stable bioinformatics libraries. It is explicitly designed for learning and exploration, so it suits educational and investigative use well. Consider whether its command set covers your specific workflows before committing to it as a primary tool.
Install
bio on PyPI
pip
pip install biouv
uv add biopoetry
poetry add bioInstalling bio
Before you install
Low friction installation as a pure Python wheel. Active maintenance with recent releases; last commit 2026-05-11. Depends on established bioinformatics libraries (biopython, mygene, gprofiler-official) and common utilities (pandas, requests, tqdm, pooch).
License in practice
MIT license permits commercial and private use with minimal restrictions, making it suitable for both educational and production bioinformatics workflows.
Quickstart
pip install bio
bio fetch NC_045512 > genome.gb
bio fasta genome.gb --end 10
Requires Python 3.10 or later (supports 3.10, 3.11, 3.12); works on Linux, Mac, and Windows with Linux Subsystem.
Verify before relying
- Whether all runtime dependencies (biopython, gprofiler-official, mygene) install reliably across all supported Python versions without system-level prerequisites.
- Performance characteristics when processing large genomic datasets or deeply nested taxonomic queries.
- Stability of external data sources (GenBank, taxonomic databases) that bio queries.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<3.15,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 7 — biopython, gprofiler-official, mygene, pandas, pooch, requests, tqdm |
| Maintenance | actively maintained — 95 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,391,453/month — #3,963 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: bio-1.8.3-py3-none-any.whl
Tags
More Information Analysis packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyarrowpyarrow provides Python bindings to Apache…
permissive · top 100 on PyPI
networkxNetworkX provides data structures and…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
contourpyContourPy calculates contours of 2D…
permissive · top 1,000 on PyPI
snowflake-snowpark-pythonSnowpark Python provides APIs to query and…
permissive · top 1,000 on PyPI
biotiteBiotite provides a unified Python library for…
permissive · top 5,000 on PyPI
biontyBionty provides access to and management of…
unclear · top 15,000 on PyPI
pyensemblPyEnsembl provides a Python interface to query…
permissive · top 15,000 on PyPI
biopythonBiopython provides Python tools for…
unclear · top 5,000 on PyPI
biothings-clientbiothings_client provides Python wrappers to…
permissive · top 5,000 on PyPI
latchLatch SDK is a framework for building,…
unclear · top 15,000 on PyPI
pysampysam reads, manipulates, and writes genomic…
permissive · top 5,000 on PyPI
mygeneMygene is a Python wrapper for the MyGene.Info…
permissive · top 5,000 on PyPI
gtfparseParses GTF (gene transfer format) files into…
permissive · top 15,000 on PyPI
gprofiler-officialPython interface to g:Profiler toolkit for…
permissive · top 5,000 on PyPI