Live model · zero trained parameters

What does a cell do when you knock down a gene nobody has tested?

Type any human gene below. The model has never measured it — it works out the answer from what the gene is, not from having seen it before. That is the whole difference between this and the foundation models it beats.

Try:

Why this beats the foundation models

Three sentences, no maths.

THE FLAW

They keep one slot per gene they were trained on

A foundation model learns a private code for each perturbation it saw. Ask it about a gene that was not in training and the slot is simply empty. There is nothing to look up, so it falls back on a generic answer — which is why a constant beats it.

THE FIX

We never use the gene's name

We describe a gene by which proteins it physically interacts with, from public databases. A gene nobody has ever perturbed still has a full description, so it is never a blank.

THE METHOD

Look it up instead of predicting it

Find the genes with the most similar descriptions that we have measured, and average what happened to them. Nothing is trained, so there is nothing to overfit — and you can see the reasoning, because the neighbours are shown above.

Measured on the incumbent's own benchmark, own official train/test split, own scoring code, own trained checkpoint — 272 perturbations none of the models had seen:

modelagreement with the real response measurements it needs
This model+0.5680
Predict the average response, every time+0.3730
GEARS, at its published settings+0.3190

Read the middle row first. A model that ignores your question entirely scores higher than the published one. That is the state of the field, and it was first reported by Ahlmann-Eltze, Huber & Anders (Nature Methods, 2025) — we reproduced it on the incumbent's home turf. Our honest headline is the +0.195 over that constant, not the larger gap over GEARS.

Naming what a compound hits

A different question, a different model, and the one with a right answer.

“Predict the transcriptome” is not a decision anybody makes. “What does this compound actually hit?” is — it is asked weekly in med-chem, and unlike a correlation it can be graded right or wrong. So the compound tab answers that one instead. Give it a structure, it names the likely mechanism and tells you how much to trust the call.

Scored on chemical series the model had never seen — whole structural frameworks held out, so it cannot be recognising a close relative:

armscorevs chance
On unseen chemical frameworks0.57926.6×
On unseen compounds (easier — relatives allowed)0.63029.0×
Same model, labels shuffled0.0341.5×
Guessing the commonest answer0.0221.0×

It names the right mechanism outright 45% of the time out of 46 possibilities, and has it in its top three 59% of the time. More usefully, the confidence means something — when it says 80–100% it is right 95% of the time, and when it says under 20% it is right 11% of the time. It knows when it does not know, which is what lets you act on it.

One finding worth the headline: for this question the free signal (chemical structure) beats the expensive one (a transcriptomic profile) by 0.574 to 0.197 — and combining them is worse than structure alone. You do not need the assay.

If you can measure 48 genes, we can do better

The prediction above is free and uses no lab work. This is the paid version.

Measure just these 48 genes on your own perturbed sample — chosen by an optimal-design criterion with no biological input — send us the numbers, and we return the rest of the transcriptome. Scored only on the genes you did not measure, so it cannot mark its own homework: 0.860 free → 0.898 with the panel. The prediction stops improving; the panel keeps improving as you measure more.

What this model is not