A cytosine base editor (CBE) is a Cas9 nickase fused to a cytidine deaminase (e.g. APOBEC1). Inside the R-loop opened by the sgRNA, the deaminase can only reach cytosines sitting in a narrow catalytic window — canonically protospacer positions 4-8 (counted 5'→3' from the PAM-distal end). Reach isn't uniform across that window: it peaks around the middle (position 6) and falls off toward positions 4 and 8, modelled here as a Gaussian efficiency curve:
w(pos) = exp(-(pos-6)^2 / (2*1.2^2))
p_deam(pos) = d * w(pos) (d = "window exposure" slider)
C + H2O --deaminase--> U + NH3 (fires with probability p_deam)
Every C inside the window is a separate bystander site with its own deamination probability. If deamination succeeds at a given C, the resulting U:G mismatch is resolved by one of three competing cellular pathways — the same conditional-probability model used in the 3D version of this simulator:
P(precise C→T) = min(0.95, 0.20 + 0.45·u + 0.25·n)
P(reversion) = (1-u) · 0.5 · (1 - 0.4·n)
P(indel) = 1 - P(precise) - P(reversion)
u = 1 if UGI fused, else 0
n = 1 if the non-edited strand is nicked, else 0
- UGI (uracil glycosylase inhibitor) — blocks uracil-N-glycosylase (UNG) from excising the U. Without it, base-excision repair (BER) often removes the uracil, leaving an abasic site that either reverts to C or is patched imprecisely into an indel.
- Strand nick bias — nicking the non-edited (G-containing) strand directs mismatch repair to use the edited, U-containing strand as its template, pulling outcomes toward the clean T conversion instead of reversion.
- "Run 20 cells" simulates 20 independent alleles going through the editor; every C in the window is sampled independently in every cell, so the per-position histogram below fills in live and should trace the bell-shaped efficiency curve as more cells accumulate.
This mirrors why first-generation CBEs (BE1, no UGI/nick) gave low, impure editing while BE3 and later architectures — which add UGI and a strand-selective nick — raised precise C→T yields into the 30-70% range with far fewer indels, and why bystander Cs near the window edges (here positions 4 and 8) end up edited far less often than the one in the middle.