40 CpG sites are tracked across a population of 300 simulated cell lineages. After every S-phase, replication leaves each site hemimethylated (only the parental strand still carries the mark). DNMT1 must recognise that hemimethylated site and copy the mark onto the new strand — it does this with maintenance fidelity pm, not certainty:
methylated → stays methylated with prob. p_m · (1 − p_loss)
unmethylated → becomes methylated with prob. p_denovo
Per-site methylation level is a β value, the same quantity real bisulfite-sequencing epigenetic clocks (Horvath, Hannum) measure: βj = (methylated copies at site j) / (population size). Each row of the heatmap is one cell division; each column is one CpG site — so the panel is literally the population's methylation history scrolling downward.
This is a two-state Markov (telegraph) process per site, with loss rate qloss = 1 − pm(1 − ploss) and gain rate qgain = pdenovo. Its exact solution is an exponential relaxation toward equilibrium βeq = qgain / (qgain + qloss):
β(t) = β_eq + (β(0) − β_eq)·(1 − q_gain − q_loss)^t
The simulator inverts this formula, per site, from the population's observed βj(t) to produce a predicted epigenetic age — exactly the logic behind real DNA-methylation age clocks, which read accumulated drift off a panel of CpG sites and translate it back into an age estimate. Because the inversion divides by a shrinking log-ratio as βj(t) approaches equilibrium, the predicted age's variance genuinely grows with elapsed divisions — the same widening-error-with-age behaviour reported for real epigenetic clocks.
- Maintenance fidelity — real DNMT1 in vivo runs roughly 92–99% per division; drop it to see drift and the age estimate diverge faster.
- De novo gain — aberrant DNMT3A/3B activity slowly methylates sites that should stay open.
- TET demethylation — active oxidation (5mC→5hmC→…) erodes existing marks, the other half of the tug-of-war.