← All problems

Problem

Predicting cellular response to unseen perturbations (virtual cell)

Given a cell's unperturbed transcriptome and a perturbation (a CRISPR knockdown or a small molecule), predict the resulting single-cell gene-expression profile, including in cell types or contexts the model has never seen perturbed. Commercially this is the 'virtual cell' bet: an accurate simulator would let drug hunters screen targets and compounds in silico before running expensive Perturb-seq or phenotypic screens, which is why Recursion, Xaira, Tahoe, Noetik and Cellarity all generate perturbation atlases. It counts as SOLVED, operationally, when a model predicts held-out perturbations in unseen cell contexts consistently better than naive/linear baselines on every standard metric (MAE, perturbation discrimination, differential-expression gene overlap) and approaches experimental replicate-to-replicate reproducibility. The public yardstick is the Arc Virtual Cell Challenge 2026: zero-shot CRISPRi knockdown prediction in six unseen cell lines, scored as an aggregate of six cell-eval metrics against baselines.

Funding

$2.91B

Raised by the 7 companies working on it, 1 undisclosed.

Prize money for solving it$0
Open competition pools$175k

Why it is still open

In the 2025 Virtual Cell Challenge almost all models performed worse than baseline on MAE, and Arc concluded perturbation models are not yet consistently beating naive baselines; independently, Ahlmann-Eltze et al. (Nature Methods 2025) found scGPT, scFoundation and GEARS do not beat simple linear baselines. Arc says it would be 'pleasantly surprised' if anyone reaches the target level in the 2026 round.

Source: arcinstitute.org

Who is working on it

Cellarity$274M Flagship company that models cell-state change from single-cell transcriptomics to find cell-behaviour-targeted drugs; co-hosted the Open Problems single-cell perturbation Kaggle competition. InvestorsFlagship Pioneering, Kyowa Kirin, Hanwha Impact Partners, BlackRock (funds and accounts), The Baupost Group, Banque Pictet (on behalf of clients)
Noetik$62M Builds cancer 'virtual cell' models (OCTO, Perturb-map) from multimodal tumor data (>1,000 tumors, 200M cells) for target discovery and patient stratification; GSK licensing deal Jan 2026. InvestorsPolaris Partners, Khosla Ventures, DCVC, Zetta Venture Partners, Wittington Ventures, Catalio Capital Management
Tahoe Therapeutics (Tahoe Bio)$42M Generates massive single-cell drug-perturbation atlases (Tahoe-100M, targeting 1B cells) and trains the open-weight Tahoe-x1 perturbation foundation models; partnered with Arc and Biohub on the largest perturbation dataset. InvestorsAmplify Partners, Databricks Ventures, Wing Venture Capital, General Catalyst, Conviction, Civilization Ventures, Mubadala Capital Ventures, AIX Ventures
Xaira Therapeutics$1.00B Generates genome-wide Perturb-seq atlases (X-Atlas/Orion, 8M cells; X-Atlas/Pisces, 25.6M cells) and launched X-Cell, its first virtual cell model, in March 2026, alongside protein design programs. InvestorsARCH Venture Partners, Foresite Capital, F-Prime Capital, NEA, Sequoia Capital, Lux Capital, Lightspeed Venture Partners, Two Sigma Ventures
Recursion Pharmaceuticals$885.3M Runs industrial phenomic and transcriptomic perturbation screens (PxMap/TxMap, RxRx datasets) and, via Valence Labs, builds perturbation-response models such as TxPert as a step toward virtual cells. InvestorsLeaps by Bayer, Lux Capital, Casdin Capital, Baillie Gifford, Mubadala, DCVC, Obvious Ventures, Two Sigma Ventures
Arc Institute$650M Non-profit running the Virtual Cell Initiative: hosts the Virtual Cell Challenge, builds the Virtual Cell Atlas and its own perturbation models, and co-generates perturbation data with Tahoe and Biohub. InvestorsPatrick Collison and John Collison, Vitalik Buterin, Dustin Moskovitz and Cari Tuna, Elad Gil, Daniel Gross, Ron Conway, Hemant Taneja, NVIDIA / 10x Genomics / Ultima Genomics
Valence Labs (Recursion)undisclosed Recursion's AI research arm; built TxPert (Nature Biotechnology 2026), a knowledge-graph model for transcriptional response to unseen genetic perturbations and new cell contexts.

Also active

Altos Labs Cellular rejuvenation company whose ML team won the $100k Generalist Prize in Virtual Cell Challenge 2025 with a flow-matching model of perturbation-response distributions; perturbation modelling is a tool, not its product. InvestorsARCH Venture Partners

Funding for these is not counted: the problem is a small part of what they do, or they contribute data and tools.

Prizes

PrizeStatusPays forAmount
Virtual Cell Challenge 2026OpenRanking$175k
Virtual Cell Challenge 2025AwardedRanking$275k
Open Problems - Single-Cell Perturbations (Kaggle, NeurIPS 2023)AwardedRanking$100k

What counts as solved

The acceptance condition, stated in Lean 4. Measurements a computer cannot produce on its own are named inputs, supplied by whoever attests them.

import Mathlib

/-!
# Predicting cellular response to unseen perturbations (virtual cell)

Modelled on the Arc Institute Virtual Cell Challenge: given a cell context and a
genetic perturbation not seen in training, predict the post-perturbation expression
profile. Scored on held-out perturbations by three metrics, each compared with a
pinned baseline (e.g. predict the mean perturbed profile):
* MAE of the pseudobulk expression profile (lower is better),
* perturbation discrimination: is the prediction closer to its own true profile than
  to other perturbations' true profiles (higher is better),
* differential-expression overlap: fraction of truly DE genes recovered (higher is better).

Concrete in Lean: all three metrics over finite gene/perturbation sets and the
"better than baseline on all three by margins" Prop.

Opaque oracle (`HeldOut`): measured pseudobulk profiles for the hidden perturbations
(from single-cell sequencing), the true DE gene sets (from the organisers' pinned
statistical test and FDR), and the baseline's scores. Attester: the challenge organiser
/ data generator.

Units: expression in the organisers' pinned normalization (e.g. log1p CP10k);
scores dimensionless.
-/

namespace OpenSpur.Problems.PerturbationResponse

noncomputable section

/-- Held-out data: `P` perturbations, `G` genes (oracle). -/
structure HeldOut (P G : ℕ) where
  truth : Fin P → Fin G → ℝ
  trueDE : Fin P → Finset (Fin G)
  baseMAE : ℝ
  baseDisc : ℝ
  baseDE : ℝ

/-- Submission: predicted profile and predicted DE set per held-out perturbation. -/
structure Submission (P G : ℕ) where
  profile : Fin P → Fin G → ℝ
  de : Fin P → Finset (Fin G)

def l1 {G : ℕ} (u v : Fin G → ℝ) : ℝ := ∑ g, |u g - v g|

def mae {P G : ℕ} (h : HeldOut P G) (s : Submission P G) : ℝ :=
  (∑ p, l1 (s.profile p) (h.truth p)) / ((P : ℝ) * G)

/-- 1 − mean fraction of other perturbations whose truth is strictly closer to the prediction. -/
def discrimination {P G : ℕ} (h : HeldOut P G) (s : Submission P G) : ℝ :=
  1 - (∑ p, ((Finset.univ.filter fun q =>
          q ≠ p ∧ l1 (s.profile p) (h.truth q) < l1 (s.profile p) (h.truth p)).card : ℝ)
        / ((P : ℝ) - 1)) / P

/-- Mean recall of true DE genes; predicted set truncated in effect by requiring |pred| ≤ |true|. -/
def deOverlap {P G : ℕ} (h : HeldOut P G) (s : Submission P G) : ℝ :=
  (∑ p, ((s.de p ∩ h.trueDE p).card : ℝ) / (h.trueDE p).card) / P

structure Thresholds where
  minPerts : ℕ
  maeMargin : ℝ
  discMargin : ℝ
  deMargin : ℝ

def Solved {P G : ℕ} (T : Thresholds) (h : HeldOut P G) (s : Submission P G) : Prop :=
  T.minPerts ≤ P ∧ 2 ≤ P ∧
  (∀ p, (s.de p).card ≤ (h.trueDE p).card) ∧
  mae h s + T.maeMargin ≤ h.baseMAE ∧
  h.baseDisc + T.discMargin ≤ discrimination h s ∧
  h.baseDE + T.deMargin ≤ deOverlap h s

def rung (T : Thresholds) (k : ℕ) : Thresholds :=
  { T with discMargin := T.discMargin + (k : ℝ) / 20, deMargin := T.deMargin + (k : ℝ) / 20 }

end

theorem rung_mono {P G : ℕ} (T : Thresholds) (h : HeldOut P G) (s : Submission P G)
    {j k : ℕ} (hjk : j ≤ k) (hs : Solved (rung T k) h s) : Solved (rung T j) h s := by
  have hc : (j : ℝ) ≤ k := by exact_mod_cast hjk
  obtain ⟨a, b, c, d, e, f⟩ := hs
  refine ⟨a, b, c, d, ?_, ?_⟩ <;> simp only [rung] at e f ⊢ <;> linarith

end OpenSpur.Problems.PerturbationResponse

Public resources

Join

Tell us what you want settled.

Two questions. We read every one.

I am a

What are you looking to solve?

Where should we reply?

Received

That is with us.

We read every message and reply to the ones we can help.