Inspiration

We were inspired by websites such as primer3, and we hoped to create something that isn't too dependent on APIs, whilst retaining accuracy.

What it does

This is a web-based tool that accepts a fungal protein FASTA file, validates the organism's taxonomy via the NCBI Entrez API, and retrieves or generates a metabolic model for it. It then runs Flux Balance Analysis (FBA) entirely in the browser using a JavaScript LP solver, modelling how the fungus grows under user-specified bioreactor conditions (media concentrations, temperature, pH, RPM). The final output is a set of predicted bioprocess metrics: growth rate, biomass titer, and yield (TRY). The final output is computed by applying five correction factors grounded in bioprocess engineering equations to the raw FBA result.

How we built it

The backend is a plain Python script using only the standard library, running as a background process on a university Apache/PHP/MySQL server with no Docker or virtual environments, communicating progress to the browser via a polled JSON status file. The frontend is built in vanilla PHP and CSS with no frameworks, while the FBA computation layer is custom JavaScript that parses SBML metabolic models, constructs a linear programme, and solves it client-side using a bundled simplex solver. Claude (Anthropic) was used as a coding assistant throughout the hackathon-timeframe development to debug the LP logic, and validate scientific parameter values against primary literature.

Challenges we ran into

We were unable to use the most powerful tools for GEM generation, QC, and ecGEM generation, as they were all designed to be used on the command line, with many dependencies that needed to be downloaded per script implementation. We were blocked from using BV-BRC. We saw this as a creative challenge and wanted to push ourselves to make the program generate accurate results despite not using proven tools. We originally found that the backend simulation logic outputted correct results and predictions, but the results were not being displayed properly on the results page.

Accomplishments that we're proud of

We overcame the limitation of not being able to generate GEMs for each genome input by constructing a minimal GEM that we hard-coded into the program, applicable to most fungal genomes. We overcame the inability to use powerful command-line-exclusive tools by using weaker but still reliable tools that can be implemented on web interface scripts without downloading extra dependencies. We were able to implement the simulation logic and formulae using JavaScript, despite our original preference to implement it using specialised software such as Python.

What we learned

We learnt to write code under extremely tight deadlines and manpower constraints We learnt to use AI properly to accelerate our work instead of using it as our crutch We learnt to keep coding into the night without caffeine dependencies, just sugar

What's next for Cween

Expand to potential business This weekend just proved that we can achieve anything we set our minds to This team is literally unstoppable, like the ceiling can't hold us.....

Share this project:

Updates