Research

Steering cellular attractor trajectories

×

I wrote this for the Global Research Challenge 2026. It placed in the Top 40. Credential GRC26-G5XH86.

Why order matters

Here is the whole problem in one go. Say you switch on gene A in a cell. The cell changes. Now you switch on gene B. That second edit is not landing on the cell you started with, it is landing on the one the first edit already moved. So the order you make the edits in changes where the cell ends up.

Why other models can't

Most models that predict what an edit does are built for one edit on an untouched cell. You give them a starting cell and an edit, they give you the end state. They have no slot for "the cell as it is right now, halfway through a sequence," so they cannot plan a second step.

Bowls and marbles

The title says attractor, so here is what that means. A cell does not wander anywhere it likes. It settles into a handful of stable states, the way a marble rolls to the bottom of a bowl and stays. Biologists call those bowls attractors, and a cell type is basically which bowl you are in. Steering is picking edits that walk the cell out of one bowl and into another, instead of shoving once and hoping.

This is the bowl the title is talking about.

starting cell typethe type you wantedits, in order
Waddington's picture. The cell sits in a well, and an edit has to roll it over the ridge into another well. It does not teleport.

How I built it

So I built it as a control problem, the same shape as steering a vehicle: read the state, pick a move, see what happened, pick again. Three pieces do that. A VAE squeezes each cell's gene activity readout, thousands of numbers, down to a small set, so the model plans on a compact map instead of the raw data. A neural SDE learns how a cell drifts across that map over time, and it models the randomness on purpose, because two identical cells given the same edit do not land in the same spot. Then PPO, a reinforcement learning algorithm, chooses which gene to edit next, watches where the cell went, and updates its policy.

Read the state, pick a move, see what happened, pick again.

  1. 01ZINB-VAE1.32B · 10,000 genes → 50 numbers
  2. 02Neural SDE607.4M · how the cell drifts
  3. 03Spatial GNN549.5M · talks to neighbours
  4. 04PPOpicks the next gene, then looks again

2.47 billion parameters. Thousands of paths on one GPU.

Three models, 2.47 billion parameters. A VAE reads the cell, a neural SDE walks it through time, a spatial GNN talks to neighbours. PPO picks the next gene.Redrawn from Figure 1.

The training actually finished.

ZINB-VAE, 1.32B · ends at 2390.73

Neural SDE, 607.4M · ends at 1.9249

Both models settle over 10 epochs. The VAE ends at 2390.73. The SDE ends at 1.9249. Neither plot blows up.Redrawn from Figure 3. Ends are the paper numbers.

The data

The data is Norman et al. 2019, a Perturb-seq dataset. Perturb-seq means a lab used CRISPR to change one or two specific genes in each cell across a large pool, then sequenced the cells one at a time, so you get thousands of labelled before-and-afters instead of one averaged result. K562 is the cell line they used, a leukemia line labs pick because it grows predictably and everyone's numbers stay comparable.

Most two-gene pairs do not add. That is the whole paper.

131 two-gene pairs from Norman et al. 2019. 71 of them, 54.2%, sit more than 3.5 PCA units away from A plus B. Order is not a rounding error.Redrawn from Figure 2. Bar heights reconstructed from the printed plot.

The model grouped the genes by what they do, not by their names.

GATA1 / KLF1 · SPI1 / ZFPM1TGFB1 / SNAI1TP53 / CDKN1Aunlabelled groupMYC and the rest

TGFB1 / SNAI1 · cells loosening up and moving

The 512-dimensional action embeddings, flattened with UMAP. Genes that do the same job sit next to each other: GATA1 with KLF1, TGFB1 with SNAI1.Redrawn from Figure 5. Cluster positions follow the paper labels.

One GPU, thousands of paths

Because it is a simulator, thousands of these trajectories run on a single GPU. That is the actual point. It does not tell you the answer, it tells you which edit orders are worth spending real lab time on.

The continuous path hits the target. The discrete one misses.

PC1PC2controlafter AA then B
Control to A to A+B in the top PCA plane. The neural SDE stays on the empirical path. The discrete map drifts. STF-seq is 0.620 against 0.343.Redrawn from Figure 4. Path shape reconstructed from the printed plot.

This is the number the paper is selling.

Sequential Transition Fidelity on the 131 held-out pairs. GEARS is 0 because it cannot take a cell that already moved. The SDE is 81% better than the discrete map.Table 1, drawn as bars.

Limits

Two limits, and I would rather say them here than have you find them. It is a simulator, so nothing in it has been checked in a dish. And the spatial part of the model ran on neighbour graphs I generated rather than measured, meaning I told it which cells sit next to which instead of getting that from real spatial data, so those results carry less weight than the rest. Both are in the paper.

The files

I put the files under the writeup. Take one, or take the zip.

writeup.md · 33 lines

# Steering cellular attractor trajectories
I wrote this for the Global Research Challenge 2026. It placed in the Top 40. Credential GRC26-G5XH86.
## Why order matters
Here is the whole problem in one go. Say you switch on gene A in a cell. The cell changes. Now you switch on gene B. That second edit is not landing on the cell you started with, it is landing on the one the first edit already moved. So the order you make the edits in changes where the cell ends up.
### Why other models can't
Most models that predict what an edit does are built for one edit on an untouched cell. You give them a starting cell and an edit, they give you the end state. They have no slot for "the cell as it is right now, halfway through a sequence," so they cannot plan a second step.
## Bowls and marbles
The title says attractor, so here is what that means. A cell does not wander anywhere it likes. It settles into a handful of stable states, the way a marble rolls to the bottom of a bowl and stays. Biologists call those bowls attractors, and a cell type is basically which bowl you are in. Steering is picking edits that walk the cell out of one bowl and into another, instead of shoving once and hoping.
## How I built it
So I built it as a control problem, the same shape as steering a vehicle: read the state, pick a move, see what happened, pick again. Three pieces do that. A VAE squeezes each cell's gene activity readout, thousands of numbers, down to a small set, so the model plans on a compact map instead of the raw data. A neural SDE learns how a cell drifts across that map over time, and it models the randomness on purpose, because two identical cells given the same edit do not land in the same spot. Then PPO, a reinforcement learning algorithm, chooses which gene to edit next, watches where the cell went, and updates its policy.
## The data
The data is Norman et al. 2019, a Perturb-seq dataset. Perturb-seq means a lab used CRISPR to change one or two specific genes in each cell across a large pool, then sequenced the cells one at a time, so you get thousands of labelled before-and-afters instead of one averaged result. K562 is the cell line they used, a leukemia line labs pick because it grows predictably and everyone's numbers stay comparable.
### One GPU, thousands of paths
Because it is a simulator, thousands of these trajectories run on a single GPU. That is the actual point. It does not tell you the answer, it tells you which edit orders are worth spending real lab time on.
## Limits
Two limits, and I would rather say them here than have you find them. It is a simulator, so nothing in it has been checked in a dish. And the spatial part of the model ran on neighbour graphs I generated rather than measured, meaning I told it which cells sit next to which instead of getting that from real spatial data, so those results carry less weight than the rest. Both are in the paper.

Credits

KindResearch
Date2026
TagsRL, Biology, GRC