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.
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.
- 01ZINB-VAE1.32B · 10,000 genes → 50 numbers
- 02Neural SDE607.4M · how the cell drifts
- 03Spatial GNN549.5M · talks to neighbours
- 04PPOpicks the next gene, then looks again
2.47 billion parameters. Thousands of paths on one GPU.
The training actually finished.
ZINB-VAE, 1.32B · ends at 2390.73
Neural SDE, 607.4M · ends at 1.9249
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.
The model grouped the genes by what they do, not by their names.
TGFB1 / SNAI1 · cells loosening up and moving
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.
This is the number the paper is selling.
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.
(pdf)
The files
I put the files under the writeup. Take one, or take the zip.
| # 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
| Kind | Research |
|---|---|
| Date | 2026 |
| Tags | RL, Biology, GRC |