Hi BioStars community,
I wanted to share a project that grew out of a frustration most people here will recognise — watching capable bench biologists spend more time fighting installation failures than doing actual science.
A note on where this comes from: I am not a developer. I am a microbiologist who has been teaching bioinformatics for over thirty years — from the days of radioactive sequencing gels and Solaris workstations through to Oxford Nanopore and cloud computing. I grew up with these tools. I have watched every generation of sequencing technology arrive with new file formats, new dependencies, and new ways to spend a week installing software before doing any biology. I built this project because I have lived the problem it tries to solve — and because I have watched too many capable students and researchers give up on computational biology not because they lacked the ability, but because the barrier to entry was never designed with them in mind.
Why this problem persists
Dependency conflict hell has been a barrier since the early days of computational biology. Tools written by different groups, in different languages, on different timelines, with documentation aimed at developers rather than biologists. The assumption has always been that if a tool failed to install, the user had done something wrong. There was rarely a troubleshooting guide. There was just a citation count.
The result is that every research group rebuilds the same infrastructure from scratch, spends weeks resolving conflicts, and produces pipelines that work on one machine and fail silently on another — or disappear entirely when the postdoc who built them moves on.
This is not a technical problem. It is a training and infrastructure problem. And it compounds directly with the confidence gap — biologists who are genuinely expert in their domain but have never been given a structured pathway into computational tools. The barrier is not intelligence. It is exposure.
What taxonomy_bundle tries to do about it
taxonomy_bundle is a pixi-managed suite of 17 isolated bioinformatics environments covering the full arc of microbial genomics — assembly, annotation, taxonomy, pangenomics, comparative genomics, and trait prediction. Each environment isolates one stage of the pipeline, solving conflicts that are genuinely irreconcilable in a single Conda environment — CheckM2 requires Python 3.12, antiSMASH requires Python 3.11, bacLIFE requires Snakemake 7, EzAAI requires Java 8.
Pixi locks every dependency to exact versions via a pixi.lock file. The same environment reproduces identically on any Linux machine, on any day, for any user — including a student who wasn't there when the pipeline was first built. That reproducibility is not a convenience feature. It is the difference between science that can be verified across labs and time, and science that cannot.
One-command install:
git clone https://github.com/bharat1912/taxonomy_bundle
cd taxonomy_bundle
pixi install --all
What it covers:
| Environment | Key tools |
|---|---|
| default | GTDB-Tk, MiGA, PHANTASM, GToTree, IQ-TREE, R phylogenetics stack |
| env-a | Autocycler, Hybracter, Flye, Canu, Hifiasm, Bakta, FastQC |
| env-b | Snakemake, GToTree, BUSCO_phylogenomics (workflow orchestration) |
| env-checkm2 | CheckM2, DFAST_QC (isolated — avoids ete3 conflict) |
| env-pan | PIRATE, Panaroo, PPanGGOLiN, OrthoFinder |
| env-baclife | bacLIFE pangenomics + lifestyle prediction |
| env-anti | antiSMASH 8 biosynthetic gene cluster detection |
| env-egg | eggNOG-mapper COG/KEGG/Pfam annotation |
| env-nf | DRAM2 metabolic annotation via Nextflow + Apptainer |
| env-cm2 | CompareM2 comparative genomics |
| env-cat | CAT/BAT/RAT MAG taxonomy |
| + 6 more | EzAAI, PGAP2, BUSCO, LJA, Symclatron, Salmon |
Four Snakemake pipelines are included for hybrid assembly, long-read assembly, Hybracter automated assembly, and NCBI SRA search — all invoked via pixi run.
On documentation and AI
The accompanying documentation is written for biologists coming from a Windows background with no prior Linux experience — not because the biology is simplified, but because the pathway to it should not require a systems administrator.
The documentation suite — covering everything from what Linux is through to running full Snakemake pipelines — was developed with the assistance of Claude (Anthropic). Every section was directed by domain expertise, verified against real analysis runs, and corrected where the output was biologically or technically wrong. The AI accelerated the writing. The thirty years of microbiology determined whether it was accurate.
This matters because it illustrates a broader point about AI in bioinformatics: it amplifies existing expertise. It does not replace the need for it. A biologist who understands their domain and uses AI as a skilled assistant will move significantly faster. A biologist who uses AI without that foundation will produce confident-sounding errors at scale. The confidence gap this project tries to address — giving inexperienced biologists a working environment they can actually run — is the same gap that determines whether AI becomes an accelerator or a liability in their hands.
Source: https://github.com/bharat1912/taxonomy_bundle Active development — core environments stable, documentation in progress.
Questions for the community:
- Does the 17-environment approach feel manageable, or would a curated single-environment subset be more useful for most labs?
- Are there tools you commonly use for microbial genomics that are missing?
- Would per-workflow Docker/Apptainer containers be a useful alternative fo HPC users?
- For those teaching bioinformatics — would a pre-configured bundle like this change how you structure practical sessions?
- Have you found ways to use AI effectively in bioinformatics that genuinely required domain expertise to get right — or examples where it went wrong without it?
0 answers
No answers yet.
Log in to answer this question.
Update — annotation-demo: a minimal proof-of-concept for new users
Since posting taxonomy_bundle, several people asked for a simpler starting point before tackling 17 environments. I have published a minimal 4-environment proof-of-concept:
https://github.com/bharat1912/annotation-demo
It downloads an E. coli K-12 genome from NCBI and annotates it with both Prokka and Bakta — two tools with incompatible dependencies that cannot coexist in a single Conda environment. A Snakemake pipeline ties all three steps together.
Full setup from scratch:
The demo deliberately uses the same patterns as taxonomy_bundle at a smaller scale — the symlink database pattern for Prokka, [activation.env] for Bakta, and pixi run -e <env> inside Snakemake rules. Understanding the demo makes the jump to 17 environments much easier.
Two questions for anyone who tries it:
How long did it take pixi to install -depends on your machine?
How long did download-bakta-db take to download the database with your connection?