An AI-assisted community stewarding the classics of bioinformatics — in more than one tongue.
"And the whole earth was of one language, and of one speech." — Genesis 11:1
Bioinformatics forgot how. We're learning it again — one classic library at a time.
Bio-Babel is an AI-assisted community that stewards classic bioinformatics libraries across language ecosystems — closing the gaps one community never quite filled in the other, and keeping them closed. Not one-shot ports thrown over a fence, but maintained siblings with the same math, the same edge cases, the same quirks that matter. The work is backed by a private AI tooling stack — still in internal development, not yet open. The libraries it produces are already here.
The name nods to the Tower of Babel — the biblical story in which humanity, once speaking a single tongue, was scattered into languages that could no longer understand one another. The punishment was never difference (diversity of thought is a field's wealth); it was that translation became impossible, and ideas that could have traveled were stranded.
Bioinformatics lives its own small version of that story: a beautiful tool blooms on one side of the language line, and half the field that might have used it can't reach for it. What's changed is that semantic code translation — the real, maintainable kind — is finally tractable. Bio-Babel is what happens when we decide not to leave those tools stranded.
One worked example — the visualization stack — a ground-up reimplementation of R's grid → {gtable, scales} → ggplot2 chain and its downstream {pheatmap, ggrepel, ggalluvial, ComplexHeatmap, patchwork}, carried into pure Python on a Cairo backend. No matplotlib. Publication-quality output, by construction.
graph LR
grid[rgrid-python] --> gtable[gtable-python]
grid --> ggplot2[ggplot2-python]
grid --> pheatmap[pheatmap-python]
grid --> CH[complexheatmap-python]
grid --> ggrepel[ggrepel-python]
grid --> ggalluvial[ggalluvial-python]
grid --> patchwork[patchwork-python]
scales[scales-python] --> ggplot2
scales --> pheatmap
scales --> ggrepel
gtable --> ggplot2
gtable --> pheatmap
gtable --> patchwork
ggplot2 --> ggrepel
ggplot2 --> ggalluvial
ggplot2 --> patchwork
📦 On PyPI:
rgrid-python·gtable-python·scales-python·ggplot2-python·pheatmap-python·ggrepel-python·ggalluvial-python·complexheatmap-python·patchwork-python. (R'sgridnamespace was already taken on PyPI, hencergrid-python.)
monocle2-python — a port of R's single-cell trajectory toolkit — builds its entire visualization layer on the Bio-Babel stack. No matplotlib, no seaborn. Two wins:
- Pixel-close R-visual fidelity.
plot_cell_trajectory, branched BEAM heatmaps, pseudotime curves render like the R tutorials without adapter code. - Cleaner AI workflow. Staying inside one lineage (R's
grid → ggplot2) gives an AI agent a single, self-consistent API to reason about — fewer guesses, fewer hallucinations, lighter review.
Other classics already in the catalog (and on PyPI):
monocle3-python— AnnData-based single-cell trajectory, clustering, and differential expression.nichenet-python— ligand → target modeling of intercellular communication.copykat-python— CNV-based aneuploidy detection from scRNA-seq.tradeseq-python— NB-GAM trajectory-based differential expression.ddrtree-python— reversed graph embedding for principal-graph learning (powersmonocle2-python).
Beyond these, our focus is the interface between bioinformatics and computation — creating and maintaining standardized, language-shared, high-quality libraries that the field can reach for no matter which language it happens to be working in. More classics will follow as the community nominates them. The full, live catalog lives on the 🏠 organization page.
🔒 A note on the tooling. The AI pipeline behind these ports is still in internal development and is not yet public. It will be. In the meantime, the libraries it produces are what we're asking you to judge us on.
Every port goes through the same loop:
- 🤖 AI drafts. A private pipeline produces an initial port from the canonical source.
- 👀 Humans review. A maintainer shapes the API, rejects mimicry, insists on idioms.
- ⚖️ The reference judges. Outputs are validated against the origin — numerically where possible, visually where not. Divergence is a bug.
- 🌱 The community maintains. When upstream moves, its sibling here moves too.
The rules we try not to break:
- Semantic parity, idiomatic surface. Behavior trusts the reference; the API feels native to the target language. Not a line-for-line transliteration.
- No runtime bridges. No
rpy2, no second interpreter — if you canpip installit, it works. - Validated against the origin. Every public function is checked against its reference. Divergence is a bug, not a feature.
- Docs and stewardship, first-class. A port is alive when someone is learning it and someone is maintaining it — every package has a caretaker, not just an author.
Bio-Babel is a community as much as it is a codebase. Five ways in, in rough order of commitment:
- 💡 Nominate a library. Open an issue on
Bio-Babel/.githubwith a classic package you wish existed on the other side, and the workflow that's painful without it. - 🐞 Report a divergence. If a port behaves differently from its reference, that's the most valuable bug report we can receive.
- 🔧 Pick up a port. Tell us which classic you'd like to help bring over; we'll help you scope it.
- 📖 Port in public. Rough drafts welcome — our pipeline assists the draft, but review and stewardship need more hands.
- 🗝️ Adopt a package. The scarcest resource here is long-term maintainers. If a library matters to your work, consider becoming its caretaker.
Every library in the catalog is currently under testing — APIs stabilizing, edges still being filed. Use for verifiable work; tell us when it's wrong & welcome contribution.
The classics, kept alive in more than one tongue.