Perturbation response (Pearson on Δ expression)

single-cell
single-cell/perturbation-response-delta-pearson Task: regression Visibility: PUBLIC
OverviewLeaderboard

Leaderboard

MSE, top-20 DE genes (trained)

↓ lower is better · log1p-normalised expression² · supervised · atlas-full-v1

Mean squared error between predicted and measured mean expression on each perturbation's 20 top DE genes, then the mean over perturbations; lower is better.

Best in the catalogue: 0.214 (the best visible result here, not a state of the art). Ranks are the server's: ties share a rank. A ≠ marks a row whose n differs from the board's usual n (107). Floors are trivial baselines scored on the same items, shown unranked.

# Model Value 95% CI n Source Overlap
1 single-cell/gears
By subgroup: 4 levels
subgroupValue [95% CI]n
Two-gene combination, neither gene seen in training—fewer than 10 items9
Two-gene combination, one gene seen in training0.229 [0.182, 0.276]43
Two-gene combination, both genes seen in training0.200 [0.150, 0.253]19
Single gene, unseen in training0.207 [0.161, 0.251]36
0.214 best [0.185, 0.241] 107 reproduced none declared
2 single-cell/cpa
By subgroup: 4 levels
subgroupValue [95% CI]n
Two-gene combination, neither gene seen in training—fewer than 10 items9
Two-gene combination, one gene seen in training0.556 [0.434, 0.676]43
Two-gene combination, both genes seen in training0.523 [0.389, 0.681]19
Single gene, unseen in training0.270 [0.210, 0.331]36
0.444 [0.389, 0.504] 107 reproduced unknown
— perturbation-additive Reference floor, not a hub model; unranked
By subgroup: 4 levels
subgroupValue [95% CI]n
Two-gene combination, neither gene seen in training—fewer than 10 items9
Two-gene combination, one gene seen in training0.300 [0.240, 0.360]43
Two-gene combination, both genes seen in training0.051 [0.038, 0.065]19
Single gene, unseen in training0.337 [0.272, 0.401]36
0.294 [0.257, 0.331] 107 floor
— perturbation-train-mean Reference floor, not a hub model; unranked
By subgroup: 4 levels
subgroupValue [95% CI]n
Two-gene combination, neither gene seen in training—fewer than 10 items9
Two-gene combination, one gene seen in training0.518 [0.396, 0.644]43
Two-gene combination, both genes seen in training0.508 [0.373, 0.660]19
Single gene, unseen in training0.247 [0.188, 0.306]36
0.414 [0.358, 0.473] 107 floor
— perturbation-no-change Reference floor, not a hub model; unranked
By subgroup: 4 levels
subgroupValue [95% CI]n
Two-gene combination, neither gene seen in training—fewer than 10 items9
Two-gene combination, one gene seen in training0.696 [0.558, 0.837]43
Two-gene combination, both genes seen in training0.647 [0.501, 0.811]19
Single gene, unseen in training0.337 [0.272, 0.401]36
0.559 [0.494, 0.632] 107 floor
Secondary metrics (3) · supervised · context, not ranked

MSE, all genes (trained)

↓ lower is better · log1p-normalised expression² · supervised

Mean squared error between predicted and measured mean expression over the 5,045 genes, per perturbation, then the mean over the 107 test perturbations (GEARS mse); lower is better.

Model Value 95% CI n Source Overlap
single-cell/gears
By subgroup: 4 levels
subgroupValue [95% CI]n
Two-gene combination, neither gene seen in training—fewer than 10 items9
Two-gene combination, one gene seen in training0.007 [0.006, 0.008]43
Two-gene combination, both genes seen in training0.006 [0.005, 0.007]19
Single gene, unseen in training0.004 [0.003, 0.004]36
0.006 best [0.005, 0.006] 107 reproduced none declared
single-cell/cpa
By subgroup: 4 levels
subgroupValue [95% CI]n
Two-gene combination, neither gene seen in training—fewer than 10 items9
Two-gene combination, one gene seen in training0.009 [0.006, 0.011]43
Two-gene combination, both genes seen in training0.010 [0.008, 0.012]19
Single gene, unseen in training0.003 [0.002, 0.004]36
0.007 [0.006, 0.008] 107 reproduced unknown
perturbation-additive Reference floor, not a hub model; unranked
By subgroup: 4 levels
subgroupValue [95% CI]n
Two-gene combination, neither gene seen in training—fewer than 10 items9
Two-gene combination, one gene seen in training0.005 [0.004, 0.006]43
Two-gene combination, both genes seen in training0.002 [0.001, 0.002]19
Single gene, unseen in training0.004 [0.003, 0.004]36
0.004 [0.004, 0.005] 107 floor
perturbation-train-mean Reference floor, not a hub model; unranked
By subgroup: 4 levels
subgroupValue [95% CI]n
Two-gene combination, neither gene seen in training—fewer than 10 items9
Two-gene combination, one gene seen in training0.007 [0.005, 0.009]43
Two-gene combination, both genes seen in training0.005 [0.004, 0.007]19
Single gene, unseen in training0.003 [0.002, 0.003]36
0.005 [0.004, 0.006] 107 floor
perturbation-no-change Reference floor, not a hub model; unranked
By subgroup: 4 levels
subgroupValue [95% CI]n
Two-gene combination, neither gene seen in training—fewer than 10 items9
Two-gene combination, one gene seen in training0.009 [0.007, 0.012]43
Two-gene combination, both genes seen in training0.007 [0.005, 0.009]19
Single gene, unseen in training0.004 [0.003, 0.004]36
0.007 [0.006, 0.008] 107 floor

Discrimination score (trained)

↑ higher is better · supervised

cell-eval's discrimination score: per test perturbation, 1 - rank / n of its own measured change from control among the measured changes of all 107 test perturbations, by L1 distance to its predicted change (half for ties), then the mean; 1 means each prediction is closest to its own perturbation.

Model Value 95% CI n Source Overlap
single-cell/gears
By subgroup: 4 levels
subgroupValue [95% CI]n
Two-gene combination, neither gene seen in training—fewer than 10 items9
Two-gene combination, one gene seen in training0.794 [0.724, 0.864]43
Two-gene combination, both genes seen in training0.825 [0.737, 0.903]19
Single gene, unseen in training0.623 [0.532, 0.705]36
0.764 best [0.720, 0.806] 107 reproduced none declared
single-cell/cpa
By subgroup: 4 levels
subgroupValue [95% CI]n
Two-gene combination, neither gene seen in training—fewer than 10 items9
Two-gene combination, one gene seen in training0.524 [0.442, 0.612]43
Two-gene combination, both genes seen in training0.521 [0.391, 0.645]19
Single gene, unseen in training0.514 [0.426, 0.607]36
0.515 [0.464, 0.566] 107 reproduced unknown
perturbation-additive Reference floor, not a hub model; unranked
By subgroup: 4 levels
subgroupValue [95% CI]n
Two-gene combination, neither gene seen in training—fewer than 10 items9
Two-gene combination, one gene seen in training0.689 [0.618, 0.769]43
Two-gene combination, both genes seen in training0.994 [0.986, 1.000]19
Single gene, unseen in training0.514 [0.427, 0.606]36
0.678 [0.637, 0.723] 107 floor
perturbation-no-change Reference floor, not a hub model; unranked
By subgroup: 4 levels
subgroupValue [95% CI]n
Two-gene combination, neither gene seen in training—fewer than 10 items9
Two-gene combination, one gene seen in training0.512 [0.432, 0.601]43
Two-gene combination, both genes seen in training0.526 [0.396, 0.643]19
Single gene, unseen in training0.514 [0.427, 0.606]36
0.505 [0.457, 0.553] 107 floor
perturbation-train-mean Reference floor, not a hub model; unranked
By subgroup: 4 levels
subgroupValue [95% CI]n
Two-gene combination, neither gene seen in training—fewer than 10 items9
Two-gene combination, one gene seen in training0.512 [0.430, 0.597]43
Two-gene combination, both genes seen in training0.526 [0.402, 0.654]19
Single gene, unseen in training0.514 [0.424, 0.604]36
0.505 [0.458, 0.553] 107 floor

DE-gene overlap, top 20, pseudobulk proxy (trained)

↑ higher is better · supervised

Pseudobulk proxy of cell-eval's DE overlap, NOT cell-eval's overlap (which re-runs a Wilcoxon DE test on predicted single cells): per test perturbation, the share of its 20 top DE genes (the ones of Pearson Δ DE20 and MSE DE20) found among the 20 genes with the largest predicted |ŷ - c| (ties by gene index, unchanged genes never counted), then the mean over the 107 test perturbations.

Model Value 95% CI n Source Overlap
single-cell/gears
By subgroup: 4 levels
subgroupValue [95% CI]n
Two-gene combination, neither gene seen in training—fewer than 10 items9
Two-gene combination, one gene seen in training0.257 [0.215, 0.300]43
Two-gene combination, both genes seen in training0.300 [0.234, 0.371]19
Single gene, unseen in training0.175 [0.143, 0.206]36
0.238 best [0.216, 0.261] 107 reproduced none declared
single-cell/cpa
By subgroup: 4 levels
subgroupValue [95% CI]n
Two-gene combination, neither gene seen in training—fewer than 10 items9
Two-gene combination, one gene seen in training0.183 [0.144, 0.215]43
Two-gene combination, both genes seen in training0.153 [0.118, 0.187]19
Single gene, unseen in training0.247 [0.212, 0.282]36
0.209 [0.188, 0.230] 107 reproduced unknown
perturbation-additive Reference floor, not a hub model; unranked
By subgroup: 4 levels
subgroupValue [95% CI]n
Two-gene combination, neither gene seen in training—fewer than 10 items9
Two-gene combination, one gene seen in training0.358 [0.309, 0.410]43
Two-gene combination, both genes seen in training0.600 [0.553, 0.647]19
Single gene, unseen in training0.000 [0.000, 0.000]36
0.250 [0.229, 0.271] 107 floor
perturbation-train-mean Reference floor, not a hub model; unranked
By subgroup: 4 levels
subgroupValue [95% CI]n
Two-gene combination, neither gene seen in training—fewer than 10 items9
Two-gene combination, one gene seen in training0.247 [0.208, 0.280]43
Two-gene combination, both genes seen in training0.242 [0.187, 0.300]19
Single gene, unseen in training0.237 [0.200, 0.275]36
0.247 [0.225, 0.270] 107 floor
perturbation-no-change Reference floor, not a hub model; unranked
By subgroup: 4 levels
subgroupValue [95% CI]n
Two-gene combination, neither gene seen in training—fewer than 10 items9
Two-gene combination, one gene seen in training0.000 [0.000, 0.000]43
Two-gene combination, both genes seen in training0.000 [0.000, 0.000]19
Single gene, unseen in training0.000 [0.000, 0.000]36
0.000 [0.000, 0.000] 107 floor

Protocol

What is measured. Predicting the transcriptional response of K562 cells to CRISPR activation of one or two genes that the model was never trained on in that combination: Norman et al., Science 2019 (GEO GSE133344), as processed and released by GEARS (Roohani et al., Nat. Biotechnol. 2023; Harvard Dataverse doi:10.7910/DVN/Q2ZV3E, norman.zip): 91,205 cells, 5,045 genes (log-normalised), 284 conditions: control, 152 single-gene conditions over 105 genes (some genes under both spellings, A+ctrl and ctrl+A, which GEARS keeps apart) and 131 double activations.

Split. GEARS' simulation split with GEARS' defaults and seed 1 (PertData.prepare_split(split="simulation", seed=1), train_gene_set_size 0.75, combo_seen2_train_frac 0.75), reimplemented with GEARS' numpy calls. As GEARS does, the 7 conditions whose genes are not in its perturbation graph are dropped first (IER5L+ctrl, ctrl+IER5L, KIAA1804+ctrl, LYL1+IER5L, RHOXF2BB+ctrl, RHOXF2BB+SET, RHOXF2BB+ZBTB25; graph = GEARS' essential_all_data_pert_genes.pkl genes that have GO terms in gene2go_all.pkl, both pinned). Test = the 107 held-out perturbations (combo_seen0 9, combo_seen1 43, combo_seen2 19, unseen_single 36, the subgroup column), train = the other 169 (GEARS' train and validation parts together; a model holds out its own validation from them). (exc) The test set is the whole held-out set (atlas-full-v1), not 100 drawn items: the split, not a sample, defines the benchmark, and GEARS numbers are reported on it.

Input. Workers get a derived h5ad (never the GEARS file, which holds the test cells): the 7,353 control cells and, for each train perturbation, its 100 top-ranked cells by seed-hash rank (seed 20261006; fewer if it has fewer), with condition, condition_name, the control flag, gene ids and names, and GEARS' DE genes of the train conditions (uns/top_non_dropout_de_20). A train item's cell_index lists its rows; a test item has none, only its perturbation (GEARS spelling) and cell_line. The fit table also carries each train item's mean profile (label).

Supervised (only protocol). Perturbation models (GEARS, CPA, scGen; fit.perturbation) are trained on the train items and predict the mean log-normalised expression of each test perturbation over the 5,045 genes.

Metrics (GEARS definitions). With c the mean expression of all control cells, y the mean over all cells of the perturbation and ŷ the prediction: Pearson Δ = corr(ŷ - c, y - c) over all genes; Pearson Δ DE20 the same on the perturbation's 20 top non-dropout DE genes (GEARS uns["top_non_dropout_de_20"]: Welch t-test against control, ranked by |t|, genes the perturbation drops out removed); MSE DE20 = mean of (ŷ - y)² on those genes. Each is computed per perturbation and averaged over the 107; an undefined correlation counts as 0, as in GEARS.

Uncertainty. 95 % bootstrap interval over test perturbations, 1,000 resamples stratified by GEARS subgroup.

Caveats. Train perturbations are capped at 100 cells (GEARS trains on all of them; median 272 cells per perturbation): numbers are close to, not identical with, GEARS' published ones. Pearson Δ over all genes is dominated by the shared response of K562 cells to any activation (erythroid genes such as HBZ, HBG2): on this split, predicting the mean profile of the train perturbations for every test perturbation scores Pearson Δ 0.58, Pearson Δ DE20 0.65 and MSE DE20 0.41 (the control profile: MSE DE20 0.56), the floor any model has to clear. Single-cell foundation models pretrained on CELLxGENE have not seen these cells (GEO, not CELLxGENE); GEARS, CPA and scGen checkpoints trained on Norman 2019 must not be used as is (they saw the test perturbations).

Direction accuracy, MSE, discrimination (direction_accuracy_de20_supervised, mse_supervised, discrimination_score_supervised; metrics review). GEARS reports the share of the 20 top DE genes whose predicted change from control has the measured sign (frac_correct_direction_20; a gene unchanged on both sides counts as right) and the MSE over all genes. cell-eval's discrimination score ranks each perturbation's own measured change among all test perturbations' by L1 distance to its prediction (1 - rank / n, half for ties, then the mean): Δ-correlations reward a systematic shift shared by every perturbation (Ahlmann-Eltze et al. 2025), discrimination rewards perturbation-specific predictions. Each score is computed once against the full test set; the bootstrap re-weights perturbations.

DE-gene overlap, pseudobulk proxy (overlap_de20_pseudobulk_supervised, secondary). Per test perturbation, the share of its 20 top DE genes (the GEARS genes above) that are among the 20 genes with the largest predicted |ŷ - c|, then the mean. Ties go to the lower gene index, and a gene whose |ŷ - c| is within the float32 resolution of the profiles (10^-6 + 2^-16 x the larger of |ŷ| and |c|: round-off, not a change) is never counted; with fewer than 20 reference genes both lists are cut at that number (cell-eval's arithmetic). This is a proxy, not cell-eval's DE overlap (overlap_at_k, github.com/ArcInstitute/cell-eval at 6928cf8; reported in the State preprint, Adduri et al. 2025): cell-eval re-runs a Wilcoxon test of predicted single cells against control cells, keeps the genes with FDR < 0.05 and ranks them by |log2 fold change|, while this protocol stores one predicted mean per perturbation, so the proxy ranks the predicted mean change, with no test and no FDR. The no-change baseline scores 0: its prediction differs from the stored control mean by float32 round-off only (|Δ| < 1e-5, within the tolerance), so it ranks no gene.

Data

  • norman: url https://dataverse.harvard.edu/api/access/datafile/6154020, licence cc0-1.0
  • gene2go: url https://dataverse.harvard.edu/api/access/datafile/6153417, licence cc0-1.0
  • essential_genes: url https://dataverse.harvard.edu/api/access/datafile/6934320, licence cc0-1.0

Subset

  • seed 20261006
  • test: all item(s)
  • train: all item(s)
  • results at atlas-full-v1 use subset d889ab4560e46f19

Metrics

  • delta_pearson_supervised — Pearson Δ, all genes (trained); protocol supervised; higher is better; range [-1.0, 1.0]; 95% bootstrap CI, 1000 resamples, stratified by subgroup
  • delta_pearson_de20_supervised — Pearson Δ, top-20 DE genes (trained); protocol supervised; higher is better; range [-1.0, 1.0]; 95% bootstrap CI, 1000 resamples, stratified by subgroup
  • mse_de20_supervised — MSE, top-20 DE genes (trained); protocol supervised; lower is better; range ≥ 0.0; 95% bootstrap CI, 1000 resamples, stratified by subgroup
  • direction_accuracy_de20_supervised — Direction accuracy, top-20 DE genes (trained); protocol supervised; higher is better; range [0.0, 1.0]; 95% bootstrap CI, 1000 resamples, stratified by subgroup
  • mse_supervised — MSE, all genes (trained); protocol supervised; lower is better; range ≥ 0.0; 95% bootstrap CI, 1000 resamples, stratified by subgroup
  • discrimination_score_supervised — Discrimination score (trained); protocol supervised; higher is better; range [0.0, 1.0]; 95% bootstrap CI, 1000 resamples, stratified by subgroup
  • overlap_de20_pseudobulk_supervised — DE-gene overlap, top 20, pseudobulk proxy (trained); protocol supervised; higher is better; range [0.0, 1.0]; 95% bootstrap CI, 1000 resamples, stratified by subgroup

Sample

One test perturbation (input: the perturbation and the control cells of the derived file; expected output: the mean expression of each of the 5,045 genes) and one train perturbation:

item_idsplitcellstop DE genes: measured mean (control mean)
norman:CBL+CNN1test, combo_seen1288HBZ 4.885 (1.793), SLC25A37 2.890 (0.858), HBG2 3.813 (1.893), PRSS57 0.133 (0.774), ALAS2 1.671 (0.173)
norman:KLF1+ctrltrain100 (capped)TMSB10 3.541 (2.418), HBZ 3.547 (1.793), HBG2 3.229 (1.893), PNMT 1.189 (0.284), KLF1 1.347 (0.479)

A model that predicted the control profile for CBL+CNN1 would have Pearson Δ 0 (an undefined correlation of a zero change counts as 0).