Protein Benchmark · LiteFold
ProteinGym
A standardized benchmark suite evaluating protein fitness and variant-effect predictors across millions of mutations.
What ProteinGym is
ProteinGym is a benchmark suite designed for evaluating computational predictors of protein fitness and mutation effects. Developed by the OATML and Marks lab and presented at NeurIPS 2023, it provides a unified evaluation platform for comparing protein language models, inverse folding models, and supervised fitness predictors across both zero-shot and supervised settings.
The dataset spans four distinct tracks covering experimental and clinical contexts. These comprise deep mutational scanning (DMS) substitution assays measuring missense mutations, DMS indel assays measuring insertions and deletions, and two clinical tracks incorporating expert annotations from ClinVar and benign controls from gnomAD to assess clinical utility alongside experimental correlation.
Packaged on the Hub by LiteFold in Parquet format, this version provides unified access to nearly 3 million records. It offers standardized cross-validation regimes, precomputed multiple sequence alignments, wild-type sequences, and structural metadata to facilitate rigorous model benchmarking.
How it was made
The benchmark compiles experimental measurements and clinical annotations across diverse protein types, including enzymes, viral proteins, human disease genes, antibodies, and de novo designs. For each assay, records contain the wild-type sequence, per-variant experimental or clinical fitness values, precomputed multiple sequence alignments from ColabFold and EVE, and available structural annotations. Cross-validation splits are arranged under multiple schemes including random, modulo, and contiguous partition strategies.
This Hub packaging structures the data into a tabular Parquet schema with 118 top-level columns, consisting of common identifiers, provenance tags, normalized fields (such as sequences, mutations, targets, and scores), and the 100 most frequent raw fields formatted as snake_case strings. A complete raw JSON payload is preserved in each row, alongside auxiliary metadata tables mapping original columns and source table row counts. Data is partitioned into train (2,637,988 rows) and test (293,551 rows) sets using deterministic SHA-256 hash bucket allocation.
Key facts
- Modality
- Tabular, text
- Format
- Parquet
- DMS substitution coverage
- Over 200 assays covering roughly 2.7 million missense variants
- DMS indel coverage
- Around 70 assays covering ~300k insertion or deletion variants
- Clinical sources
- ClinVar (pathogenic vs. benign) and gnomAD (frequent benign controls)
- Evaluation metrics
- Spearman rank correlation, AUC, MCC, NDCG@10%, and Top-K recall
- Data tracks
- DMS substitutions, DMS indels, clinical substitutions, clinical indels
What you can use it for
- Zero-shot protein language model benchmarking
- Assess unsupervised sequence models such as ESM, Tranception, or ProGen on their ability to rank mutation fitness without task-specific training.
- Clinical variant pathogenicity prediction
- Evaluate whether computational predictors can distinguish pathogenic mutations from benign controls using curated ClinVar and gnomAD benchmarks.
- Inverse folding and structure-based fitness evaluation
- Test structure-conditioned models using target structural metadata and experimental deep mutational scanning assays.
- Indel mutation effect assessment
- Measure predictor performance specifically on insertion and deletion variants across around 70 dedicated assays.
Explore the data
The schema, real rows, full-text search and a SQL filter — read in your browser, nothing downloaded.
Explore
Read the real rows without downloading anything
Reading rows…
LiveRead from LiteFold/ProteinGym at the moment you asked. Nothing is cached or stored — every row above came from that request.
How the columns are distributed
Over 2,637,988 rows of default/train
aa_seq
string_text- min
- 3
- median
- 60
- mean
- 85.41
- max
- 187
91.1% empty
aa_seq_full
string_text- min
- 44
- median
- 72
- mean
- 72.26
- max
- 80
95.4% empty
aa_seq_full_len
string_label- 724%
- 801%
- 440%
95.4% empty
accession
string_text- min
- 22
- median
- 28
- mean
- 29.29
- max
- 45
96.5% empty
allele
string_text- min
- 1
- median
- 1
- mean
- 1.30
- max
- 5
96.5% empty
alt
string_label- T1%
- A1%
- C1%
96.8% empty
assay_name
string_label- SPG1_STRSG_Olson_201418%
- HIS7_YEAST_Pokusaeva_201917%
- CAPSD_AAV2S_Sinai_2021_designed_indels8%
chrom
string_label- 10%
- 20%
- X0%
96.8% empty
consequence
string_label- missense_variant3%
- missense_variant,splice_region_variant0%
- missense0%
96.7% empty
count_input
string_text- min
- 2
- median
- 3
- mean
- 2.89
- max
- 5
94.9% empty
count_selected
string_text- min
- 1
- median
- 1
- mean
- 1.46
- max
- 6
94.9% empty
dataset_id
string_label- proteingym_raw100%
ddg_ml
string_text- min
- 3
- median
- 19
- mean
- 18.83
- max
- 23
95.4% empty
ddg_ml_float
string_text- min
- 3
- median
- 19
- mean
- 18.83
- max
- 23
95.4% empty
deltag
string_text- min
- 13
- median
- 18
- mean
- 17.73
- max
- 22
95.4% empty
deltag_95ci
string_text- min
- 13
- median
- 18
- mean
- 17.89
- max
- 18
95.4% empty
deltag_95ci_high
string_text- min
- 13
- median
- 18
- mean
- 17.70
- max
- 23
95.4% empty
deltag_95ci_low
string_text- min
- 13
- median
- 18
- mean
- 17.76
- max
- 22
95.4% empty
deltag_c
string_text- min
- 5
- median
- 18
- mean
- 17.65
- max
- 23
95.4% empty
deltag_c_95ci
string_text- min
- 4
- median
- 18
- mean
- 17.86
- max
- 18
95.4% empty
deltag_c_95ci_high
string_text- min
- 4
- median
- 18
- mean
- 17.64
- max
- 23
95.4% empty
deltag_c_95ci_low
string_text- min
- 5
- median
- 18
- mean
- 17.52
- max
- 23
95.4% empty
deltag_t
string_text- min
- 4
- median
- 18
- mean
- 17.42
- max
- 23
95.4% empty
deltag_t_95ci
string_text- min
- 4
- median
- 18
- mean
- 17.70
- max
- 18
95.4% empty
deltag_t_95ci_high
string_text- min
- 4
- median
- 18
- mean
- 17.56
- max
- 22
95.4% empty
deltag_t_95ci_low
string_text- min
- 3
- median
- 18
- mean
- 17.18
- max
- 22
95.4% empty
dg_ml
string_text- min
- 13
- median
- 18
- mean
- 17.74
- max
- 22
95.4% empty
dg_ml_float
string_text- min
- 13
- median
- 18
- mean
- 17.74
- max
- 22
95.4% empty
dna_seq
string_text- min
- 132
- median
- 216
- mean
- 216.79
- max
- 240
95.4% empty
domain_length
string_label- 721%
- 550%
- 690%
95.4% empty
entity_type
string_label- variant100%
filter
string_label- PASS3%
96.8% empty
fitness
string_text- min
- 3
- median
- 16
- mean
- 13.16
- max
- 21
94.8% empty
fitness_2
string_text- min
- 3
- median
- 17
- mean
- 15.99
- max
- 23
93.6% empty
fitting_error_c
string_text- min
- 14
- median
- 18
- mean
- 17.89
- max
- 18
95.4% empty
fitting_error_t
string_text- min
- 14
- median
- 18
- mean
- 17.89
- max
- 18
95.4% empty
gene
string_text- min
- 1
- median
- 4
- mean
- 4.48
- max
- 15
96.8% empty
gene_2
string_label- amacGFP1%
- ppluGFP1%
- cgreGFP1%
96.5% empty
growthrate
string_text- min
- 12
- median
- 18
- mean
- 18.12
- max
- 23
95.8% empty
growthrate_sigma
string_text- min
- 14
- median
- 18
- mean
- 18.38
- max
- 22
95.8% empty
hd
string_label- 44%
- 31%
- 20%
94.9% empty
hgvs_nt
string_text- min
- 3
- median
- 18
- mean
- 17.76
- max
- 21
99.6% empty
hgvs_pro
string_text- min
- 3
- median
- 11
- mean
- 10.67
- max
- 11
96.0% empty
hgvs_splice
string_labelNo distribution reported for this column.
100.0% empty
hgvsp
string_text- min
- 1
- median
- 106
- mean
- 92.41
- max
- 177
82.4% empty
id
string_text- min
- 1
- median
- 6
- mean
- 5.89
- max
- 287
94.8% empty
input_count
string_text- min
- 1
- median
- 3
- mean
- 2.89
- max
- 6
81.7% empty
label
string_text- min
- 1
- median
- 9
- mean
- 10.05
- max
- 21
82.0% empty
library
string_label- natural5%
95.4% empty
lnw
string_text- min
- 3
- median
- 17
- mean
- 17.25
- max
- 23
81.3% empty
location
string_text- min
- 1
- median
- 11
- mean
- 10.20
- max
- 12
96.6% empty
log10_k50_c
string_text- min
- 14
- median
- 19
- mean
- 18.54
- max
- 23
95.4% empty
log10_k50_c_95ci
string_text- min
- 13
- median
- 18
- mean
- 17.89
- max
- 18
95.4% empty
log10_k50_c_95ci_high
string_text- min
- 12
- median
- 19
- mean
- 18.55
- max
- 22
95.4% empty
log10_k50_c_95ci_low
string_text- min
- 13
- median
- 19
- mean
- 18.53
- max
- 22
95.4% empty
log10_k50_chymotrypsin_ml
string_text- min
- 1
- median
- 19
- mean
- 18.46
- max
- 23
95.4% empty
log10_k50_t
string_text- min
- 13
- median
- 19
- mean
- 18.42
- max
- 23
95.4% empty
log10_k50_t_95ci
string_text- min
- 13
- median
- 18
- mean
- 17.89
- max
- 18
95.4% empty
log10_k50_t_95ci_high
string_text- min
- 13
- median
- 19
- mean
- 18.41
- max
- 22
95.4% empty
log10_k50_t_95ci_low
string_text- min
- 13
- median
- 19
- mean
- 18.43
- max
- 23
95.4% empty
log10_k50_trypsin_ml
string_text- min
- 1
- median
- 19
- mean
- 18.35
- max
- 23
95.4% empty
log10_k50unfolded_c
string_text- min
- 5
- median
- 10
- mean
- 9.76
- max
- 11
95.4% empty
log10_k50unfolded_t
string_text- min
- 6
- median
- 10
- mean
- 9.93
- max
- 11
95.4% empty
log_mean
string_text- min
- 7
- median
- 11
- mean
- 10.89
- max
- 18
94.3% empty
log_rep1
string_text- min
- 7
- median
- 11
- mean
- 10.89
- max
- 18
94.3% empty
log_rep2
string_text- min
- 7
- median
- 11
- mean
- 10.89
- max
- 18
94.3% empty
log_rep3
string_text- min
- 7
- median
- 11
- mean
- 10.89
- max
- 18
94.3% empty
mean
string_text- min
- 3
- median
- 18
- mean
- 18.07
- max
- 20
94.3% empty
mut1_fitness
string_label- 0.0041%
- 0.0030%
- 0.0050%
81.7% empty
mut1_mutation
string_label- S1%
- P1%
- Y1%
81.7% empty
mut1_position
string_label- 201%
- 231%
- 241%
81.7% empty
mut1_wt_amino_acid
string_label- A4%
- D3%
- E3%
81.7% empty
mut2_fitness
string_label- 0.0031%
- 0.0040%
- 0.00699999999999990%
81.7% empty
mut2_mutation
string_label- H1%
- M1%
- R1%
81.7% empty
mut2_position
string_label- 45.01%
- 33.01%
- 3.01%
81.7% empty
mut2_wt_amino_acid
string_label- T5%
- V2%
- Y2%
81.7% empty
mut_class
string_label- single2%
- multiple2%
- insertion0%
95.3% empty
mut_type
string_text- min
- 2
- median
- 5
- mean
- 6.20
- max
- 9
95.4% empty
mutant
string_text- min
- 1
- median
- 11
- mean
- 18.73
- max
- 2,223
17.9% empty
mutated_sequence
string_text- min
- 29
- median
- 738
- mean
- 624.24
- max
- 14,508
88.7% empty
mutation
string_text- min
- 1
- median
- 11
- mean
- 18.72
- max
- 2,223
12.0% empty
name
string_text- min
- 6
- median
- 15
- mean
- 20.79
- max
- 74
95.0% empty
nham_aa
string_label- 24%
- 10%
- 00%
95.8% empty
num_mutations
string_label- 22%
- 50%
- 10%
96.3% empty
pair_name
string_label- 2M0Y.pdb_dmutv5_1W:11G0%
- 1F0M.pdb_dmutv5_26F:35M0%
- 1PSE.pdb_dmutv5_8V:65L0%
97.9% empty
pos
string_text- min
- 1
- median
- 8
- mean
- 7.64
- max
- 9
96.4% empty
pre_post_aa
string_label- -1%
- SAGGSAGG-SAGGSAGGS0%
- SAGGS-SAGGSA0%
95.4% empty
protein
string_text- min
- 8
- median
- 11
- mean
- 10.09
- max
- 14
94.4% empty
protein_sequence
string_text- min
- 26
- median
- 735
- mean
- 738.37
- max
- 14,507
91.4% empty
raw_label
string_text- min
- 1
- median
- 17
- mean
- 13.90
- max
- 21
89.4% empty
raw_row_json
string_text- min
- 30
- median
- 374
- mean
- 554.48
- max
- 29,787
raw_sequence
string_text- min
- 28
- median
- 265
- mean
- 218.51
- max
- 402
91.1% empty
record_id
string_text- min
- 64
- median
- 64
- mean
- 64
- max
- 64
rep1
string_text- min
- 4
- median
- 18
- mean
- 18.01
- max
- 20
94.2% empty
rep2
string_text- min
- 4
- median
- 18
- mean
- 17.99
- max
- 20
94.2% empty
rep3
string_text- min
- 13
- median
- 18
- mean
- 18.07
- max
- 20
94.3% empty
score
string_text- min
- 1
- median
- 17
- mean
- 16.17
- max
- 27
76.3% empty
score_value
float- min
- -10.39
- median
- -0.31
- mean
- 4351.36
- max
- 100M
64.5% empty
selection
string_text- min
- 3
- median
- 13
- mean
- 10.81
- max
- 18
83.1% empty
selection_count
string_text- min
- 1
- median
- 2
- mean
- 2.15
- max
- 6
81.7% empty
sequence
string_text- min
- 6
- median
- 265
- mean
- 345.09
- max
- 14,508
72.7% empty
sequence_length
int- min
- 6
- median
- 265
- mean
- 345.09
- max
- 14,508
72.7% empty
sigma
string_text- min
- 13
- median
- 17
- mean
- 17.50
- max
- 21
95.0% empty
source_file
string_label- data/unpacked/labeled/proteingym_raw/proteingym/v1.3/substitutions_raw_DMS/substitutions_raw_DMS/SPG1_STRSG_Olson_2014.csv18%
- data/unpacked/labeled/proteingym_raw/proteingym/v1.3/substitutions_raw_DMS/substitutions_raw_DMS/HIS7_YEAST_Pokusaeva_2019.csv17%
- data/unpacked/labeled/proteingym_raw/proteingym/v1.3/indels_raw_DMS/indels_raw_DMS/CAPSD_AAV2S_Sinai_2021_designed_indels.csv8%
source_row_index
int- min
- 0
- median
- 40,668
- mean
- 114k
- max
- 537k
source_table
string_label- tables/data_unpacked_labeled_proteingym_raw_proteingym_v1.3_substitutions_raw_DMS_substitutions_raw_DMS_SPG1_STRSG_Olson_2014.csv.jsonl18%
- tables/data_unpacked_labeled_proteingym_raw_proteingym_v1.3_substitutions_raw_DMS_substitutions_raw_DMS_HIS7_YEAST_Pokusaeva_2019.csv.jsonl17%
- tables/data_unpacked_labeled_proteingym_raw_proteingym_v1.3_indels_raw_DMS_indels_raw_DMS_CAPSD_AAV2S_Sinai_2021_designed_indels.csv.jsonl8%
split_bucket
int- min
- 1
- median
- 5
- mean
- 5.00
- max
- 9
stabilizing_mut
string_label- False4%
- -1%
- True0%
95.4% empty
subtask_name
string_labelNo distribution reported for this column.
100.0% empty
table_group
string_label- substitutions90%
- indels10%
target
string_text- min
- 1
- median
- 17
- mean
- 16.25
- max
- 27
64.2% empty
task_name
string_label- DMS97%
- clinical3%
variants
string_text- min
- 4
- median
- 4
- mean
- 4
- max
- 4
94.9% empty
w
string_text- min
- 3
- median
- 17
- mean
- 15.12
- max
- 18
81.3% empty
w_0_01floor
string_text- min
- 3
- median
- 16
- mean
- 13.35
- max
- 18
81.7% empty
wt
string_label- False2%
- Leu0%
- Glu0%
98.0% empty
wt_cluster
string_label- 1630%
- 730%
- 1470%
95.4% empty
wt_name
string_label- 3DKM.pdb0%
- 2MXD.pdb0%
- 3L1X.pdb0%
95.4% empty
Strengths and limits
Good at
- Covers both single-point amino acid substitutions and complex insertions or deletions across diverse protein families.
- Integrates both quantitative experimental deep mutational scanning data and qualitative clinical annotations.
- Includes precomputed ColabFold and EVE-style alignments alongside structured cross-validation splits of varying difficulty.
- Maintains full source data fidelity by embedding complete original records within a JSON column alongside normalized fields.
Watch out for
- Structural metadata is not available for all assays within the benchmark suite.
- The dataset view flattens records into 118 columns, requiring users to parse raw JSON payloads or review auxiliary mapping tables for less common raw fields.
Questions
Can I look inside ProteinGym without downloading it?
Yes. This page reads its schema, real rows and per-column statistics in the browser, with full-text search and a SQL filter. Nothing is downloaded to your machine.
What licence is ProteinGym under?
Its authors declare other. Read the terms on the original page before reusing the data.
What protein classes are represented in the benchmark?
The assays span enzymes, viral proteins, human disease genes, antibodies, and de novo protein designs.
How are the train and test splits generated in this packaged version?
Rows are split deterministically using a SHA-256 hash modulo 10 on the record ID, assigning bucket 0 to the test set and buckets 1 through 9 to the train set.
What evaluation metrics does ProteinGym standardise?
Performance is measured using Spearman correlation, area under the ROC curve (AUC), Matthews correlation coefficient (MCC), NDCG@10%, and Top-K recall to assess both ranking and design retrieval.
What precomputed alignment data is provided?
Assays include precomputed multiple sequence alignments generated using ColabFold and EVE-style alignment pipelines.
How to cite it
Notin, Pascal and Kollasch, Aaron W. and Ritter, Daniel and van Niekerk, Lood and Paul, Steffanie and Spinner, Hansen and Rollins, Nathan and Shaw, Ada and Orenbuch, Rose and Weitzman, Ruben and Frazer, Jonathan and Dias, Mafalda and Franceschi, Dinko and Gal, Yarin and Marks, Debora S. (2023). ProteinGym: Large-Scale Benchmarks for Protein Fitness Prediction and Design. Advances in Neural Information Processing Systems 36: Datasets and Benchmarks Track. doi:10.1101/2023.12.07.570727
Written from ProteinGym's own dataset card. Statements citing a figure that does not appear there are removed before publication. Licence and running details come from our registry.