GEMtimize: Genome-Scale Metabolic Modelling for Sustainable Meat-Free Production

Inspiration

The global shift towards sustainable food production inspired us to explore ways to optimise meat-free fermentation. Companies like Pacifico Biolabs are tackling a hard challenge: how to maximize yield, efficiency, and quality of plant-based and fungal products. We wanted to create a tool that would make genome-scale metabolic modeling (GEM) accessible to non-specialists, enabling them to design optimal growth conditions without requiring deep computational expertise.

What We Learned

This project taught us work as a team to bridge systems biology, optimization, and user-friendly software design. We deepened our understanding of:

  • Constraint-based modelling: using COBRA to perform flux balance analysis (FBA) and optimize biomass production.
  • Metabolic network visualization: representing GEMs as bipartite graphs of metabolites and reactions.
  • Graph algorithms: subgraph extraction and k-hop neighborhoods to focus on relevant pathways.
  • Software engineering for scientific tools: creating a robust, interactive Streamlit app that non-specialists can use to upload FASTA files, generate GEMs, visualize networks, run FBA, and download results.

How We Built It

The project workflow combines computational biology and interactive UI design:

  1. FASTA → GEM conversion
    Users upload a protein FASTA file. I process it using genome annotation and reaction prediction tools to generate a genome-scale metabolic model.

  2. GEM representation
    Reactions and metabolites are represented as a bipartite NetworkX graph, with reactions as squares and metabolites as circles. Fluxes from FBA can be used to highlight active pathways.

  3. Flux Balance Analysis (FBA)
    The COBRApy library computes fluxes under user-defined constraints. Optimization maximizes the biomass production function:

$$ \max \; v_{\text{biomass}} \quad \text{s.t.} \quad S \cdot v = 0, \quad v_{\min} \le v \le v_{\max} $$

Where (S) is the stoichiometric matrix, (v) is the flux vector, and (v_{\min}, v_{\max}) are reaction bounds.

  1. Visualization & UI
    PyVis renders interactive metabolic networks in Streamlit. Users can explore subgraphs around metabolites of interest, visualize fluxes, and download results in structured formats.

Challenges

We faced several non-technical challenges:

  • Non-domain expertise: Most of the team had limited background in systems biology, so we had to quickly learn GEM concepts, FBA, and metabolic network visualization.
  • Short time frame: The project needed to be functional within 2 days, requiring rapid prototyping and iterative development.
  • Team coordination: We had to integrate skills across coding, biology, and UI design, ensuring everyone could contribute effectively despite different expertise levels.

These challenges taught us how to learn fast, collaborate efficiently, and build a usable tool under real-world constraints.

Outcome

The result is GEMtimize: an interactive tool for non-specialists that enables:

  • GEM construction from a protein FASTA
  • FBA optimization of biomass production
  • Exploration of active metabolic pathways
  • Structured download of flux and network data

It empowers companies like Pacifico Biolabs to rapidly identify optimal growth conditions, reduce trial-and-error in fermentation, and accelerate meat-free product development.

Built With

  • carveme
  • cobra
  • networkx
  • python
  • streamlit
Share this project:

Updates