🧬 Molecular Clock — PER/CRY/BMAL1 Oscillator
Simulate the transcription-translation feedback loop driving the mammalian circadian clock. PER/CRY proteins inhibit their own transcription via BMAL1:CLOCK, generating self-sustained ~24 h oscillations modelled by Goodwin ODEs.
About this simulation
This simulation animates the Goodwin oscillator, the classic minimal model of the mammalian molecular clock. Three coupled variables — mRNA (M), cytoplasmic PER/CRY protein (Pc) and nuclear PER/CRY (Pn) — are integrated with a 4th-order Runge–Kutta solver. Nuclear PER/CRY represses its own gene through a Hill function with exponent n, and it is that delayed negative feedback loop, not an external timer, that produces the self-sustained ~24 h rhythm you see traced out on the right-hand time-series plot.
🔬 What it shows
The left panel is a schematic cell: mRNA leaves the nucleus, is translated into cytoplasmic PER/CRY, and that protein shuttles into the nucleus (rates k₁, k₂) where it shuts down its own transcription. The right panel plots M, Pc and Pn over the last 24 simulated hours, with day/night bands and a live period estimate from successive threshold-crossings of M.
🎮 How to use
Drag the Hill coefficient n, mRNA degradation k_d, protein degradation v_d, and the cytoplasm↔nucleus transport rates k₁/k₂ to reshape the cycle, or jump straight to a preset: Normal Clock, Tau Mutation (fast, ~20 h), Delayed Phase (slow) or Arrhythmic (n=4). Speed controls playback rate; Play/Pause and Reset let you freeze or restart the integration at any time.
💡 Did you know?
Below a Hill coefficient of about n = 8 the feedback loop is too "soft" to sustain oscillations, and the clock decays to a flat steady state — this is the Arrhythmic preset. Real clock genes achieve an effective n well above that threshold through multiple sequential phosphorylation and complex-assembly steps, which is exactly what the classic CK1ε tau mutation disrupts, shortening the cycle to roughly 20 hours.
Frequently asked questions
What is the Goodwin oscillator modelling here?
It is a three-variable ODE system representing a gene's own transcription-translation feedback loop: mRNA (M) is translated into a cytoplasmic protein (Pc), which moves into the nucleus (Pn) and represses further transcription of its own gene through a Hill-type repression term. This is the textbook mechanism proposed for the PER/CRY/BMAL1 loop that drives the mammalian circadian clock.
Why does the system oscillate instead of settling down?
The nuclear protein's inhibition of transcription is delayed (it has to be translated in the cytoplasm and transported into the nucleus first) and highly nonlinear once the Hill coefficient n is large enough. That combination of delay and steep nonlinearity is what pushes the system away from a stable equilibrium into a repeating limit cycle, rather than a simple decay to steady state.
What does the Hill coefficient n actually control?
It sets how sharply the repression switches on as nuclear PER/CRY accumulates. Low n gives a gradual, graded response that damps out; the simulation needs roughly n greater than or equal to 8 for the feedback to be steep enough to sustain rhythmic oscillations, and at n = 4 (the Arrhythmic preset) the clock stops oscillating altogether.
What causes the Tau Mutation preset to speed up the clock?
The Tau Mutation preset raises the protein degradation rate v_d and the transport rates k1/k2, mimicking the effect of the CK1(tau) kinase mutation, which makes PER protein degrade faster in real animals. Faster protein turnover shortens the delay in the feedback loop, which shortens the period to roughly 20 hours instead of the normal ~24.
How is the oscillation period measured on screen?
The simulation watches the mRNA trace M for the moments it crosses upward through a fixed threshold (0.5) and records the simulated time between consecutive crossings as the estimated period, shown in the stats bar. Because it depends on two consecutive crossings, the readout stays blank for a few seconds after Reset or after changing parameters, until a fresh cycle has been captured.
Simulate the PER/CRY/BMAL1 transcription-translation feedback loop using Goodwin oscillator equations. Visualise protein concentration oscillations with 24h period.
3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install