Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

162 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cyano

An interactive cellular metabolism simulator. You step through biochemical reactions one at a time. Cofactor pools shift in real time, and you can see how glycolysis, the Krebs cycle, photosynthesis, and the electron transport chain all connect through shared metabolites.

Try it | Part of the a9l.im portfolio

What it covers

Interconnected pathways mapped onto a shared metabolite grid: glycolysis and gluconeogenesis, the pentose phosphate pathway, the Calvin cycle, the Krebs cycle, beta-oxidation and fatty acid synthesis, PDH, pyruvate decarboxylase, ADH (ethanol fermentation and salvage), ALDH, ACS, plus three ETC chains (linear light reactions, cyclic light reactions, oxidative phosphorylation). Bidirectional pathways (glycolysis, beta-oxidation) reverse direction with distinct cofactor requirements.

A 14-component membrane chain (PSII, NDH-1, SDH, PQ, Cyt b6f, PC, PSI, Fd, FNR, ATP synthase, Cyt c oxidase, bacteriorhodopsin, NNT, UCP) renders its proteins and electron carriers with distinct visual silhouettes.

Allosteric control points (PFK, PK-reverse, citrate synthase, isocitrate DH, PDH, G6PDH, RuBisCO activase, ACAD, FA synthesis) gate reactions based on ATP/ADP ratio, NADH/NAD+ balance, and cofactor availability. Reactive oxygen species accumulate from electron leak at Complex I and the Q-cycle; SOD, catalase, and GPx scavenge them.

How to use it

Click highlighted enzyme labels on the canvas to advance reactions. Available reactions depend on substrate levels and regulation state. Right-click bidirectional enzymes to run the reverse direction.

Toggle sunlight and oxygen to shift the network between photosynthesis, aerobic respiration, and fermentation. Choose from five stylized presets (cyanobacterium, animal cell, obligate anaerobe, plant chloroplast, archaeon); each locks a different pathway/environment subset and resets the initial cofactor ratios.

Auto-play mode runs the full metabolic program with allosteric regulation gating reaction rates. Real-time sparklines track ATP, NADH, NADPH, and FADH2 ratios plus the proton gradient over a 60-second window.

Keyboard shortcuts: Space (auto-play), G (glucose), F (fatty acid), L (light), O (oxygen), U (uncoupling), 1-5 (pathway toggles), X (forward/reverse mode), R (reset), T (theme), S (sidebar).

Running locally

cd path/to/a9lim.github.io && npm run build && python -m http.server --directory dist

The project itself has no compile or package-install step; the parent staging build assembles shared assets. Shared design modules load from the root site via absolute paths, and reference math loads KaTeX from the configured CDN, so build from the parent repository root and serve dist/.

Architecture

Vanilla JavaScript with ES6 modules loaded via <script type="module">. Canvas 2D rendering uses requestAnimationFrame. Cofactor pools (ATP+ADP, NAD+NADH, NADP+NADPH, FAD+FADH2) are strictly conserved closed systems.

main.js                 Entry point, render loop, sparkline sampling
colors.js               Pathway color palette extending shared tokens
src/
  state.js              Simulation state, conserved cofactor pools
  renderer.js           Canvas 2D engine: layout, zoom, hit detection
  enzymes.js            ETC complex shapes, metabolite nodes, enzyme tags
  layout.js             Membrane and metabolite position computation
  dashboard.js          Stat bars, sparklines, active step display
  particles.js          Electron, proton, and photon animations
  autoplay.js           Automated pathway cycling, proton leak, ROS damage
  regulation.js         Allosteric regulation factors
  organisms.js          Five organism preset configurations
  anim.js               Fade and rotation accumulator helpers
  theme.js              Three-state theme toggle
  ui.js                 DOM cache, event binding, keyboard shortcuts
  info.js               Metabolite info-tip data
  reference.js          Reference-overlay content (net equations, notes)
  reactions/
    dispatch.js         Unified reaction dispatcher
    glycolysis.js       Glycolysis and gluconeogenesis
    krebs.js            Krebs cycle
    calvin.js           Calvin cycle
    ppp.js              Pentose phosphate pathway
    etc.js              ETC complexes, ATP synthase, bacteriorhodopsin, NNT
    fermentation.js     PDH, PDC, ADH, ALDH, ACS, ethanol fermentation
    betaoxidation.js    Beta-oxidation and fatty acid synthesis
    ros.js              ROS production and scavenging

Sibling projects

License

AGPL-3.0

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages