Each cell carries a driver gene modelled by the standard two-species splicing kinetics used in real single-cell RNA velocity analysis (La Manno et al., 2018): unspliced pre-mRNA u is transcribed at rate α(t) and converted to spliced mRNA s at rate β, which is then degraded at rate γ:
du/dt = α(t) − β·u
ds/dt = β·u − γ·s
The quantity ds/dt is the cell's instantaneous RNA velocity for that gene — positive while transcription outruns splicing (the gene is being induced), negative once splicing/decay dominates (the gene relaxes toward steady state). This 2D version embeds every cell in a flat expression-embedding plane instead of 3D space: a shared progenitor trunk that splits into two committed fates once cells pass a branch point (pseudotime d ≈ 0.32). The engine computes each cell's inferred velocity vector directly from its own unspliced/spliced ratio — exactly the per-cell arrow a real scVelo/velocyto analysis draws over a 2D UMAP or t-SNE embedding of real single-cell RNA-seq data — and projects it onto the tangent of the embedding path, producing a vector-field overlay on the cell scatter.
Because this is synthetic data, the true generative direction of travel along the trajectory (pseudotime always advancing, d monotonically increasing) is known exactly — it is what built the scatter in the first place. The Velocity↔truth match readout compares each cell's inferred arrow direction (the sign of its own ds/dt) against that known ground truth direction of motion, cell by cell, and reports the fraction that agree — a live sanity check that the velocity inference is really recovering the underlying trajectory and not just noise.
- α (transcription rate) — how strongly the fate-specific driver gene is induced after commitment; higher α means faster, more forceful differentiation.
- β (splicing rate) — how fast unspliced pre-mRNA is converted to mature spliced mRNA; sets the lag between transcriptional induction and the velocity signal.
- γ (degradation rate) — how fast spliced mRNA decays; sets the final steady-state expression level and how sharply cells relax once past the branch.
- Arrows — each visible arrow is the inferred 2D velocity vector: the tangent of the bifurcating embedding path scaled by that cell's own ds/dt, the same forward/backward prediction a real velocity field encodes.
Real-world relevance: this is the core computation behind tools like scVelo and velocyto.R, used to infer the direction of differentiation, cell-cycle progression or immune activation from a single snapshot of single-cell RNA-seq data, without needing a time-course experiment.