Five active sites (drawn as Pac-Man-style discs with a closing "jaw") sit in a 2D diffusion arena. Free substrate (green) and inhibitor (red) particles wander by Brownian motion. This is a genuine discrete-event stochastic kinetics engine, not a re-projected 3D scene: every binding, unbinding and catalytic step is its own Poisson process with an explicit rate constant, exactly like the classic reaction network below — including the E+S back-reaction (k−1) that a simplified demo often leaves out.
E + S ⇌(k1,k-1) ES --kcat--> E + P
E + I ⇌(k3,k-3) EI (dead-end, no turnover)
p(event in dt) = 1 − e^(−k·dt) Km = (k-1 + kcat) / k1
- [S] slider — how many substrate particles are active in the arena, i.e. substrate load.
- Flexibility slider — induced fit: raises k1 and kcat and lowers k-1, so a floppier site both captures substrate faster and turns it over faster once bound — the textbook reason induced fit beats a rigid lock-and-key pocket.
- Temperature slider — every rate constant scales with an Arrhenius factor 2^((T−15)/12) up to the site's ~37 °C optimum, then a folded-fraction sigmoid collapses k1 and kcat as the protein denatures above ~55 °C (k-1 keeps rising — an unfolding site lets go faster, it just can't rebind or catalyze).
- Inhibitor slider — spawns red particles that compete for the same open sites via their own k3/k-3 pair without ever being converted, i.e. classic competitive inhibition.
Because catalysis and unbinding are two competing exponential-waiting-time events on every bound complex each frame, the apparent Km shown is read directly off the rate constants actually driving the simulation (k-1+kcat)/k1 — not a cosmetic number laid on top of unrelated animation timers.