Protein stability ΔΔG (Mega-scale)

protein
protein-ml/protein-stability-ddg Task: regression Visibility: PUBLIC
OverviewLeaderboard

Leaderboard

RMSE, kcal/mol (ridge probe)

↓ lower is better · kcal/mol · probe · atlas-n100-v1

Root-mean-square error of the same ridge head's ΔΔG predictions on the 100 test mutants, in kcal/mol.

Best in the catalogue: 1.095 (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 (100). Floors are trivial baselines scored on the same items, shown unranked.

# Model Value 95% CI n Source Overlap
1 protein-ml/esm2-35m-protein-cellular-component 1.095 best [0.864, 1.295] 100 reproduced unknown
2 protein-ml/esm-protein-localization 1.101 [0.861, 1.313] 100 reproduced unknown
3 protein-ml/progen2-base 1.101 [0.879, 1.294] 100 reproduced unknown
4 protein-ml/esm2-150m-protein-molecular-function 1.102 [0.876, 1.302] 100 reproduced unknown
5 protein-ml/amplify-120m 1.103 [0.875, 1.306] 100 reproduced unknown
6 protein-ml/esm2-t12-35m-ur50d 1.103 [0.882, 1.302] 100 reproduced unknown
7 protein-ml/esm2-35m-protein-biological-process 1.107 [0.864, 1.316] 100 reproduced unknown
8 protein-ml/esm2-t6-8m-ur50d 1.109 [0.879, 1.303] 100 reproduced unknown
9 protein-ml/esm2-t36-3b-ur50d 1.114 [0.888, 1.318] 100 reproduced unknown
10 protein-ml/progen2-small 1.114 [0.884, 1.320] 100 reproduced unknown
11 protein-ml/prot-bert 1.117 [0.896, 1.319] 100 reproduced unknown
12 protein-ml/amplify-350m 1.127 [0.912, 1.330] 100 reproduced unknown
13 protein-ml/prot-t5-xl-half-uniref50-enc 1.134 [0.913, 1.346] 100 reproduced unknown
13 protein-ml/prot-t5-xl-uniref50 1.134 [0.913, 1.346] 100 reproduced unknown
15 protein-ml/esm2-t30-150m-ur50d 1.139 [0.910, 1.332] 100 reproduced unknown
16 protein-ml/protgpt2 1.202 [0.990, 1.386] 100 reproduced unknown
17 protein-ml/esm2-t33-650m-ur50d 1.277 [1.045, 1.485] 100 reproduced unknown
— kmer-protein Reference floor, not a hub model; unranked 1.098 [0.872, 1.298] 100 floor
Secondary metrics (2) · probe · context, not ranked

Pearson r (ridge probe)

↑ higher is better · probe

Pearson correlation between the same ridge head's ΔΔG predictions and the measured ΔΔG of the 100 test mutants, pooled (ThermoMPNN's companion to Spearman and RMSE).

Model Value 95% CI n Source Overlap
protein-ml/prot-t5-xl-half-uniref50-enc 0.349 best [0.124, 0.553] 100 reproduced unknown
protein-ml/prot-t5-xl-uniref50 0.349 best [0.124, 0.553] 100 reproduced unknown
protein-ml/esm2-t33-650m-ur50d 0.319 [0.103, 0.480] 100 reproduced unknown
protein-ml/esm2-t6-8m-ur50d 0.229 [0.060, 0.375] 100 reproduced unknown
protein-ml/protgpt2 0.219 [0.004, 0.370] 100 reproduced unknown
protein-ml/esm2-t12-35m-ur50d 0.190 [0.012, 0.329] 100 reproduced unknown
protein-ml/esm-protein-localization 0.189 [−0.021, 0.399] 100 reproduced unknown
protein-ml/esm2-35m-protein-cellular-component 0.172 [−0.065, 0.369] 100 reproduced unknown
protein-ml/esm2-t36-3b-ur50d 0.148 [−0.050, 0.304] 100 reproduced unknown
protein-ml/esm2-150m-protein-molecular-function 0.143 [−0.081, 0.297] 100 reproduced unknown
protein-ml/progen2-base 0.142 [−0.079, 0.330] 100 reproduced unknown
protein-ml/amplify-120m 0.141 [−0.053, 0.303] 100 reproduced unknown
protein-ml/esm2-35m-protein-biological-process 0.136 [−0.090, 0.282] 100 reproduced unknown
protein-ml/esm2-t30-150m-ur50d 0.132 [−0.071, 0.270] 100 reproduced unknown
protein-ml/prot-bert 0.096 [−0.074, 0.237] 100 reproduced unknown
protein-ml/amplify-350m 0.060 [−0.111, 0.222] 100 reproduced unknown
protein-ml/progen2-small 0.045 [−0.128, 0.193] 100 reproduced unknown
kmer-protein Reference floor, not a hub model; unranked 0.179 [−0.097, 0.364] 100 floor

MAE, kcal/mol (ridge probe)

↓ lower is better · kcal/mol · probe

Mean absolute error of the same ridge head's ΔΔG predictions on the 100 test mutants, in kcal/mol: less sensitive than the RMSE to a few large misses.

Model Value 95% CI n Source Overlap
protein-ml/esm-protein-localization 0.819 best [0.671, 0.976] 100 reproduced unknown
protein-ml/esm2-t36-3b-ur50d 0.833 [0.683, 0.989] 100 reproduced unknown
protein-ml/esm2-t12-35m-ur50d 0.835 [0.697, 0.991] 100 reproduced unknown
protein-ml/esm2-35m-protein-biological-process 0.836 [0.686, 0.992] 100 reproduced unknown
protein-ml/esm2-35m-protein-cellular-component 0.836 [0.688, 0.987] 100 reproduced unknown
protein-ml/progen2-base 0.840 [0.695, 0.991] 100 reproduced unknown
protein-ml/esm2-150m-protein-molecular-function 0.844 [0.702, 1.001] 100 reproduced unknown
protein-ml/amplify-120m 0.845 [0.702, 1.001] 100 reproduced unknown
protein-ml/progen2-small 0.851 [0.706, 1.006] 100 reproduced unknown
protein-ml/prot-bert 0.855 [0.714, 1.007] 100 reproduced unknown
protein-ml/amplify-350m 0.859 [0.714, 1.015] 100 reproduced unknown
protein-ml/esm2-t6-8m-ur50d 0.859 [0.701, 1.021] 100 reproduced unknown
protein-ml/esm2-t30-150m-ur50d 0.859 [0.708, 1.013] 100 reproduced unknown
protein-ml/prot-t5-xl-half-uniref50-enc 0.863 [0.712, 1.002] 100 reproduced unknown
protein-ml/prot-t5-xl-uniref50 0.863 [0.712, 1.002] 100 reproduced unknown
protein-ml/protgpt2 0.968 [0.769, 1.164] 100 reproduced unknown
protein-ml/esm2-t33-650m-ur50d 1.017 [0.809, 1.217] 100 reproduced unknown
kmer-protein Reference floor, not a hub model; unranked 0.842 [0.697, 1.000] 100 floor

Protocol

What is measured. How well a model predicts the change in folding stability (ΔΔG, kcal/mol) caused by a single amino-acid substitution, on the Mega-scale cDNA display proteolysis data (Tsuboyama et al., Nature 2023): domains of 40-72 residues, every single substitution measured.

Data. RosettaCommons/MegaScale on HF, config dataset3_single (single mutants of domains whose wild-type ΔG < 4.75 kcal/mol, so ΔΔG is measurable), pinned revision. Its split_name carries the ThermoMPNN split, built so that no wild-type cluster crosses it; the test rows of the test file are the test pool (28,172 mutants, 28 wild types, 17 clusters) and the train rows of the train files the train pool (215,731 mutants). The CV and validation rows are not used. ddG_ML is ΔG(mutant) − ΔG(wild type) with ΔG the unfolding free energy, so higher is more stable, the orientation of a zero-shot fitness score. Rows without a numeric ΔΔG are dropped. The wild-type sequence is rebuilt from each mutant and checked consistent across all mutants of a domain.

Items. Test: 100 single mutants, stratified by wild-type cluster with at least 2 per cluster (so all 17 test clusters are present), seed-hash rank inside each. Train: 500 single mutants drawn from wild-type clusters absent from the test subset (disjoint_by: wt_cluster).

Zero-shot (spearman_zero_shot). The model scores each test mutant from the wild-type sequence and the mutation (score.variant_effect, e.g. a masked-marginal log-ratio), higher meaning fitter; Spearman ρ against ΔΔG, pooled over the 100 mutants.

Probe (spearman_probe, rmse_probe; secondary pearson_probe, mae_probe). Mean-pooled last-layer embeddings of the mutated sequence; one ridge head (RidgeCV, alpha by leave-one-out) over all 500 train mutants predicts ΔΔG of the test mutants. RMSE and MAE are in kcal/mol; Pearson r beside Spearman and RMSE is ThermoMPNN's set. The zero-shot scores are log-ratios, not ΔΔG, so only the rank metric applies to them.

Uncertainty. 95 % cluster bootstrap: 1,000 resamples of whole wild-type clusters (a cluster's mutants are not independent).

Caveats. Pooled Spearman mixes within- and between-domain variation: a model that only ranks domains by overall stability gets some credit. Designed domains of the same topology family (HHH, HEEH, EHEE, hall) form one cluster each; train items from those families are excluded whenever the test subset contains them. ProteinGym includes 64 Tsuboyama assays (v1 reference file): a model tuned on ProteinGym's stability assays has seen this kind of data, and the natural domains are PDB/UniRef sequences that sequence models were pretrained on.

Data

  • megascale: hf_dataset RosettaCommons/MegaScale at revision f27fb1f61a7e835a1c05aa7fd3c2ea9fbbdf8508, licence CC-BY-4.0

Subset

  • seed 20261006
  • test: 100 item(s), stratified by wt_cluster
  • train: 500 item(s), disjoint by wt_cluster
  • results at atlas-n100-v1 use subset d6e55e5e8b9eb5a7

Metrics

  • spearman_zero_shot — Spearman ρ (zero-shot); protocol zero_shot; higher is better; range [-1.0, 1.0]; 95% bootstrap CI, 1000 resamples, grouped by wt_cluster
  • spearman_probe — Spearman ρ (ridge probe); protocol probe; higher is better; range [-1.0, 1.0]; 95% bootstrap CI, 1000 resamples, grouped by wt_cluster
  • rmse_probe — RMSE, kcal/mol (ridge probe); protocol probe; lower is better; range ≥ 0.0; 95% bootstrap CI, 1000 resamples, grouped by wt_cluster
  • pearson_probe — Pearson r (ridge probe); protocol probe; higher is better; range [-1.0, 1.0]; 95% bootstrap CI, 1000 resamples, grouped by wt_cluster
  • mae_probe — MAE, kcal/mol (ridge probe); protocol probe; lower is better; range ≥ 0.0; 95% bootstrap CI, 1000 resamples, grouped by wt_cluster

Sample

Three of the 100 frozen test mutants, all from the same wild type (input: the wild-type sequence and the mutation; expected output: a score ordering them by ΔΔG):

item_idwild typeclustermutationΔΔG (kcal/mol)wild-type length
1GYZ.pdb_E29Y1GYZ.pdb100E29Y+0.28859
1GYZ.pdb_L23W1GYZ.pdb100L23W−0.81159
1GYZ.pdb_P43S1GYZ.pdb100P43S−0.46759

The wild type is WIARINAAVRAYGLNYSTFINGLKKAGIELDRKILADMAVRDPQAFEQVVNKVKEALQV (59 residues). Expected output, zero-shot: one score per mutant whose order matches ΔΔG, here L23W < P43S < E29Y (E29Y is mildly stabilising, L23W destabilising). Probe: a ΔΔG in kcal/mol, so RMSE is readable directly — predicting 0.0 for every mutant gives an RMSE equal to the root-mean-square of the test ΔΔG values.

The frozen test subset covers all 17 test wild-type clusters with 4-9 mutants each, and its 500 train mutants come from 80 other clusters, disjoint from these 17.