Skip to content
@Bio-Babel

Bio-babel

An AI-assisted community stewarding the classics of bioinformatics — in more than one tongue.

Bio-Babel — the classics, kept alive in more than one tongue

An AI-assisted community stewarding the classics of bioinformatics — in more than one tongue.

Website Libraries Started Phase Org


"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.


🧭 What this is

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.

📜 Why "Babel"?

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.

📚 The Libraries

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
Loading

📦 On PyPI: rgrid-python · gtable-python · scales-python · ggplot2-python · pheatmap-python · ggrepel-python · ggalluvial-python · complexheatmap-python · patchwork-python. (R's grid namespace was already taken on PyPI, hence rgrid-python.)

🔬 Downstream example: monocle2-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 (powers monocle2-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.

⚙️ How a port gets made

Every port goes through the same loop:

  1. 🤖 AI drafts. A private pipeline produces an initial port from the canonical source.
  2. 👀 Humans review. A maintainer shapes the API, rejects mimicry, insists on idioms.
  3. ⚖️ The reference judges. Outputs are validated against the origin — numerically where possible, visually where not. Divergence is a bug.
  4. 🌱 The community maintains. When upstream moves, its sibling here moves too.

🎯 Principles

The rules we try not to break:

  1. Semantic parity, idiomatic surface. Behavior trusts the reference; the API feels native to the target language. Not a line-for-line transliteration.
  2. No runtime bridges. No rpy2, no second interpreter — if you can pip install it, it works.
  3. Validated against the origin. Every public function is checked against its reference. Divergence is a bug, not a feature.
  4. 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.

🤝 Join the community

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/.github with 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.

🚧 Status

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.

Popular repositories Loading

  1. ggplot2-python ggplot2-python Public

    ggplot2-python, full original taste of R ggplot2

    Python 19

  2. Monocle3-python Monocle3-python Public

    python version Monocle3

    Python 3

  3. Nichenet-python Nichenet-python Public

    Python Nichenetr

    Python 2

  4. Monocle2-python Monocle2-python Public

    Monocle2 python version

    Python 2

  5. rgrid-python rgrid-python Public

    Python port of the R grid graphics package (Cairo backend)

    Python 1

  6. gtable-python gtable-python Public

    Python port of the R gtable package

    Python 1

Repositories

Showing 10 of 21 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…