Build a genomic foundation model, scored on genomic tasks across variant effect prediction, QTLs, epigenetic track prediction, DMS and embeddings

DNA, RNA & protein sequences24 h budgetheadline: Mean metric
About this task

The agent trains or post-trains sequence model(s) in 24 hours on 8×H100. Its final model is re-run by us, with no network, on ~25 public held-out datasets spanning DNA variant effect, chromatin/expression QTLs, protein, RNA and nucleotide deep mutational scans, genomic track prediction and sequence embeddings. Every dataset is named in the prompt; labels are never shipped.

Leaderboard

Ranked by Mean metric. Dataset cells show raw metric values, shaded by rank among the runs shown (darker = better); hover for CIs and the dataset's SOTA.

#RunIntegrity
Refbaseline-zeroshot-nt-esm0.2840.6900.6780.1260.0930.1900.1250.1020.0850.0180.0310.4620.5130.0150.6190.4020.1640.1290.122···0.7380.7040.7350.7030.276——
1Claude Code · highpilot-claude-40m-v2 · claude-sonnet-50.2030.4870.4410.0350.0950.1120.1580.0830.0880.0200.0340.4810.508-0.0660.6290.402-0.0180.015-0.0180.000-0.001-0.0000.5000.5030.5010.4990.266Pending——
Refbaseline-io-smoke0.1970.5150.4120.0400.1090.1230.1510.0820.0770.0210.0280.5100.497-0.0090.6420.0090.0020.0060.013-0.000-0.000-0.0010.5070.5040.5710.5560.257——

≈ approximate reference value. “inf.” = agent / effort inferred from the run id or trace (no run_meta.json).

Per-dataset results

Every run on every dataset, against chance, the reference baseline and SOTA. Filters above apply.

agent runbest runbaselineSOTAreferencechance95% CI privateRaw metric values; each row has its own axis.
VARIANT EFFECT (DNA, CLINICAL + GWAS)clinvar gene holdout 2k AUPRC0.460.95songlab clinvar vs benign AUPRC0.380.94songlab cosmic AUPRC0.000.61songlab ukb finemapped coding AUPRC0.080.32traitgym mendelian chrom weighted auprc0.070.82traitgym complex chrom weighted auprc0.120.28MOLECULAR QTLS (CHROMATIN, BINDING, EXPRESSION, POLYADENYLATION)caqtl african AUPRC0.050.61caqtl european AUPRC0.060.36dsqtl yoruba AUPRC-0.020.67bqtl spi1 AUPRC-0.010.63eqtl causality auroc per tissue mean0.450.73eqtl sign auroc per tissue mean0.480.85eqtl coefficient spearman per tissue mean-0.100.55paqtl matched auprc0.620.66PROTEIN FITNESS (DMS, PROTEIN INPUT)proteingym substitutions spearman per assay mean-0.030.54NON-CODING RNA FITNESS (DMS)rnagym ncrna spearman per assay mean-0.030.26CODING-SEQUENCE FITNESS (DMS, NUCLEOTIDE INPUT)rnagym mrna coding spearman per assay mean-0.020.27evee sge dms spearman per assay mean-0.050.52FUNCTIONAL-GENOMICS TRACK PREDICTIONenformer tracks 128 track pearson-0.000.00chrombpnet imr90 atac profile pearson-0.050.91encode accessibility tiles track pearson-0.050.87SEQUENCE EMBEDDINGS (GENE-MTEB, PROBE FITTED BY THE EVALUATOR)gene mteb hv1 gene mteb 8shot0.480.85gene mteb hv2 gene mteb 8shot0.490.76gene mteb hv3 gene mteb 8shot0.480.86gene mteb hv4 gene mteb 8shot0.480.77DIAGNOSTICSt7 gp17 recovery masked nt accuracy0.250.28

Suite datasets

From suite.yaml: each dataset's metric, chance level, reference and SOTA (raw values).

DatasetVisibilityMetricChanceReferenceSOTASource
Variant effect (DNA, clinical + GWAS)
clinvar gene holdout 2kpublicAUPRC0.5000.851 Evo 2 7B0.919 CADD v1.7NCBI ClinVar GRCh38 VCF clinvar_20240301.vcf.gz (nearest weekly to the Evo2-paper 2024-02-28 release), >=2-star, P/LP vs B/LB, ref/alt <=64 bp; reference scores joined from HF goodarzilab/evo2-clinvar (Brixi et al. 2025)
songlab clinvar vs benignpublicAUPRC0.4340.793 Evo2_7B0.906 GPN-Star-V100HF songlab/clinvar_vs_benign test.parquet (missense ClinVar P vs common benign; Ye, Benegas et al. 2025, GPN-Star)
songlab cosmicpublicAUPRC0.0370.193 Evo2_7B0.581 GPN-Star-V100HF songlab/cosmic test.parquet (frequent COSMIC somatic missense vs gnomAD common missense)
songlab ukb finemapped codingpublicAUPRC0.1010.168 Evo2_7B0.306 GPN-Star-M447HF songlab/ukb_finemapped_coding (UKB fine-mapped missense, PIP>0.9 vs PIP<0.01)
traitgym mendelianpublicchrom weighted auprc0.1220.712 CADD (raw)0.779 GPN-Star-M447HF songlab/TraitGym mendelian_traits_matched_9 test (rev 1fde1955; Benegas, Eraslan, Song 2025, bioRxiv 10.1101/2025.02.11.637758)
traitgym complexpublicchrom weighted auprc0.1400.137 Evo 2 7B (LLR)0.274 CADD (raw)HF songlab/TraitGym complex_traits_matched_9 test (rev 1fde1955)
Molecular QTLs (chromatin, binding, expression, polyadenylation)
caqtl africanpublicAUPRC0.085—0.576 AlphaGenomeAlphaGenome eval file storage.googleapis.com/alphagenome/evals/caqtl_african_variant_causality_human_predictions.feather (LCL caQTL, DeGorter 2023 via ChromBPNet benchmark; AG test chromosomes 3,6,9,12,16,18,19,21)
caqtl europeanpublicAUPRC0.083—0.342 AlphaGenomeAlphaGenome eval caqtl_european_variant_causality_human_predictions.feather (original eQTL Catalogue QTD100018, Zenodo 13848268)
dsqtl yorubapublicAUPRC0.020—0.631 AlphaGenomeAlphaGenome eval dsqtl_yoruba_variant_causality_human_predictions.feather (Degner 2012 GEO GSE31388; hg19 IDs)
bqtl spi1publicAUPRC0.028—0.600 AlphaGenomeAlphaGenome eval bqtl_spi1_variant_causality_human_predictions.feather (Tehranchi 2016 PU.1 bQTL via ChromBPNet benchmark)
eqtl causalitypublicauroc per tissue mean0.5000.670 Borzoi0.717 AlphaGenomeAlphaGenome eval eqtl_variant_catalogue_causality_gene_balanced_human_predictions.feather (GTEx v8 via eQTL Catalogue SuSiE, distance-matched)
eqtl signpublicauroc per tissue mean0.5000.750 Borzoi0.834 AlphaGenomeAlphaGenome eval eqtl_variant_borzoi_sign_human_predictions.feather (GTEx v8 SuSiE PIP>0.9)
eqtl coefficientpublicspearman per tissue mean0.0000.390 Borzoi0.511 AlphaGenomeAlphaGenome eval eqtl_variant_borzoi_coefficient_human_predictions.feather
paqtlpublicmatched auprc0.6280.621 Borzoi0.653 AlphaGenomeAlphaGenome eval paqtl_variant_causality_human_predictions.feather + PolyA_DB v3 (storage.googleapis.com/seqnn-share/helper/polyadb_human_v3.csv.gz)
Protein fitness (DMS, protein input)
proteingym substitutionspublicspearman per assay mean0.0000.396 ESM2 650M0.514 VenusREMProteinGym v1.3 DMS_substitutions (HF OATML-Markslab/ProteinGym_v1; marks.hms.harvard.edu/proteingym/ProteinGym_v1.3); Notin et al. 2023
Non-coding RNA fitness (DMS)
rnagym ncrnapublicspearman per assay mean0.0000.155 RNA-FM0.240 RNAErnieRNAGym fitness_prediction (HF Marks-lab/RNAgym; Arora et al. 2025) — Ribozyme + tRNA + Aptamer assays
Coding-sequence fitness (DMS, nucleotide input)
rnagym mrna codingpublicspearman per assay mean0.0000.175 Evo 1 (131k)0.251 Evo 2 7BRNAGym mRNA-coding assays (nucleotide CDS + codon-level mutants) — public substitute for the private Evo2-paper nucleotide DMS panels
evee sge dmspublicspearman per assay mean0.0000.355 Evo 2 7B zero-shot loss0.492 AlphaMissenseMaveDB (CC0): BRCA1 urn:mavedb:00000097-a-2 (Findlay 2018), BRCA2 00001225-a-1 (HAP1 SGE, doi 10.1038/s41586-024-08388-8), LDLR 00001269-a-1 (Tabet 2025), TP53 00001213-a-1 (Funk 2025); EVEE construction (Pearce et al. 2026)
Functional-genomics track prediction
enformer tracks 128publictrack pearson0.000——Basenji2/Enformer human test set gs://basenji_barnyard/data/human (requester-pays), Avsec et al. 2021
chrombpnet imr90 atacpublicprofile pearson0.0000.750 ChromBPNet (ENCODE predicted bigWig)0.860 AlphaGenomeENCODE ChromBPNet annotation ENCSR978WIX (IMR-90 ATAC, experiment ENCSR200OML); fold-0 test peaks (chr1,3,6) from ENCFF802KJC; observed bigWig ENCFF650PHA
encode accessibility tilespublictrack pearson0.0000.817 ChromBPNet (ENCODE predicted bigWigs)—ENCODE ChromBPNet annotations, observed 1 bp bigWigs: GM12878, K562, HepG2, A549, HCT116 x {ATAC, DNase} (e.g. DNase ENCSR003WJE/ENCSR296UHQ/ENCSR006CUK/ENCSR422EZD/ENCSR038BXQ; ATAC ENCSR389HIH/ENCSR467RSV/ENCSR380YGX/ENCSR311VBG/ENCSR799MEK) — public accessibility tracks
Sequence embeddings (Gene-MTEB, probe fitted by the evaluator)
gene mteb hv1publicgene mteb 8shot0.5000.721 NT-2.5b-1000g0.828 METAGENE-1HF metagene-ai/HumanVirusInfecting config class-1 (sha 70876feb; Liu et al. 2025, METAGENE-1, arXiv 2501.02045)
gene mteb hv2publicgene mteb 8shot0.5000.652 NT-2.5b-Multi0.742 METAGENE-1HF metagene-ai/HumanVirusInfecting config class-2
gene mteb hv3publicgene mteb 8shot0.5000.758 NT-2.5b-Multi0.835 METAGENE-1HF metagene-ai/HumanVirusInfecting config class-3
gene mteb hv4publicgene mteb 8shot0.5000.697 METAGENE-10.755 NT-2.5b-1000gHF metagene-ai/HumanVirusInfecting config class-4
diagnostics
t7 gp17 recoverypublicmasked nt accuracy0.250——NCBI NC_001604.1 (T7 phage, 39,937 bp), gp17 tail fiber; 4 masked ~201 bp windows (design-recovery diagnostic)

Prompt

Exactly what the agent receives.

Show the full prompt

BioModelBench: Build a genomic foundation model, scored on genomic tasks across variant effect prediction, QTLs, epigenetic track prediction, DMS and embeddings

Goal

Build the best genomic sequence model you can. In 24 hours on H100×8 you may pretrain, continue pretraining, fine-tune or post-train any model(s) you like, starting from public weights or from scratch. Your final model is scored on every dataset below. It is not one task: it's a test of how general and how good your model is across biology.

After your run ends, we re-run your model ourselves, in a fresh container with no network access, on our own copy of the test inputs, and compute every metric against labels you never see. The headline score is the plain mean of the raw metric values over every dataset in the table below except paqtl (reported, not averaged). A missing dataset scores 0, so cover everything.

The evaluation suite

GroupDatasetTest rowsMetricChanceSOTA / referenceOutput
Variant effect (DNA, clinical + GWAS)clinvar_gene_holdout_2k2,000auprc0.50.9192 (CADD v1.7)scalar
Variant effect (DNA, clinical + GWAS)songlab_clinvar_vs_benign5,000auprc0.43420.9061 (GPN-Star-V100)scalar
Variant effect (DNA, clinical + GWAS)songlab_cosmic5,000auprc0.03660.5811 (GPN-Star-V100)scalar
Variant effect (DNA, clinical + GWAS)songlab_ukb_finemapped_coding2,221auprc0.10090.306 (GPN-Star-M447)scalar
Variant effect (DNA, clinical + GWAS)traitgym_mendelian3,380chrom_weighted_auprc0.12250.7789 (GPN-Star-M447)scalar
Variant effect (DNA, clinical + GWAS)traitgym_complex2,000chrom_weighted_auprc0.13960.2738 (CADD (raw))scalar
Molecular QTLs (chromatin, binding, expression, polyadenylation)caqtl_african5,000auprc0.08520.576 (AlphaGenome)scalar
Molecular QTLs (chromatin, binding, expression, polyadenylation)caqtl_european5,000auprc0.08280.3418 (AlphaGenome)scalar
Molecular QTLs (chromatin, binding, expression, polyadenylation)dsqtl_yoruba8,226auprc0.02010.6311 (AlphaGenome)scalar
Molecular QTLs (chromatin, binding, expression, polyadenylation)bqtl_spi15,000auprc0.02760.5998 (AlphaGenome)scalar
Molecular QTLs (chromatin, binding, expression, polyadenylation)eqtl_causality2,000auroc_per_tissue_mean0.50.7174 (AlphaGenome)scalar
Molecular QTLs (chromatin, binding, expression, polyadenylation)eqtl_sign2,000auroc_per_tissue_mean0.50.8343 (AlphaGenome)signed
Molecular QTLs (chromatin, binding, expression, polyadenylation)eqtl_coefficient2,000spearman_per_tissue_mean0.00.5108 (AlphaGenome)signed
Molecular QTLs (chromatin, binding, expression, polyadenylation)paqtl1,343matched_auprc0.62840.6531 (AlphaGenome)scalar
Protein fitness (DMS, protein input)proteingym_substitutions16,963spearman_per_assay_mean0.00.5136 (VenusREM)scalar
Non-coding RNA fitness (DMS)rnagym_ncrna23,113spearman_per_assay_mean0.00.2405 (RNAErnie)scalar
Coding-sequence fitness (DMS, nucleotide input)rnagym_mrna_coding14,000spearman_per_assay_mean0.00.2511 (Evo 2 7B)scalar
Coding-sequence fitness (DMS, nucleotide input)evee_sge_dms6,308spearman_per_assay_mean0.00.4919 (AlphaMissense)scalar
Functional-genomics track predictionenformer_tracks_1281,000track_pearson0.0—array
Functional-genomics track predictionchrombpnet_imr90_atac12,920profile_pearson0.00.86 (AlphaGenome)array
Functional-genomics track predictionencode_accessibility_tiles1,024track_pearson0.00.8165 (ChromBPNet (ENCODE predicted bigWigs))array
Sequence embeddings (Gene-MTEB, probe fitted by the evaluator)gene_mteb_hv115,404gene_mteb_8shot0.50.828 (METAGENE-1)embedding
Sequence embeddings (Gene-MTEB, probe fitted by the evaluator)gene_mteb_hv214,956gene_mteb_8shot0.50.742 (METAGENE-1)embedding
Sequence embeddings (Gene-MTEB, probe fitted by the evaluator)gene_mteb_hv315,744gene_mteb_8shot0.50.835 (METAGENE-1)embedding
Sequence embeddings (Gene-MTEB, probe fitted by the evaluator)gene_mteb_hv415,633gene_mteb_8shot0.50.755 (NT-2.5b-1000g)embedding

Exact input columns and output formats for every dataset are in IO_SPEC.md. Test inputs are in datasets/<id>/test_inputs.parquet. Where a validation split exists, it's in datasets/<id>/val.parquet with labels: use it freely for model selection, it's disjoint from the test set. The reference genome is genome/hg38.analysisSet.fa (hg38, 1-based coordinates, chr-prefixed).

What you must deliver

final_model/ (in your working directory) containing:

  • predict.py, run as python predict.py --inputs <datasets dir> --genome <hg38.fa> --out <dir>. It must write one prediction file per dataset into --out, in the format of IO_SPEC.md (<id>.parquet with row_id, score, or <id>.npy).
  • All weights and code it needs. It runs with no network in a container with Python 3.11, torch 2.5.1 (CUDA), transformers 4.46, accelerate, safetensors, peft, einops, numpy, pandas, pyarrow, scipy, scikit-learn, pyfaidx, pysam, pyBigWig and biopython, on 8×H100 for at most 2 hours (16 H100-hours). Put any other packages as wheels in final_model/wheels/. It may contain several models (for example one per modality); route inside predict.py.
  • method.md: what you built and why, your training data, and your validation results.
  • training_manifest.json: every data source (URL or dataset id plus version), what you filtered and why, and hashes of your final training files.

Test your predict.py end to end (--inputs datasets --out /tmp/preds) well before the deadline. Keep checkpoints as you go.

Rules

  1. Don't train, tune or select on any listed test dataset: no inputs, no labels, nothing derived from them.
  2. Don't build data around specific test items. That includes analogues enumerated from test molecules or scaffolds, mutants of test proteins beyond what their own training sources contain, and windows chosen to cover test variants. Matching a dataset's general domain, modality or difficulty is fine.
  3. Exclude every identifier in bundle/exclusions/ from training data, and apply the provided checker before training.
  4. Write training_manifest.json: every data source (URL or dataset id plus version), what was filtered and why, and the final training files' hashes.
  5. Don't look up this benchmark's repository, dashboard, past runs or traces.
  6. Use only the model and evaluation endpoints you're given. No hosted LLM APIs from your training or inference code.
  7. Don't modify the evaluation harness. Your model is re-scored outside your container regardless.

Exclusion lists for every test set are in exclusions/. Check every training file with:

python integrity/check_overlap.py --exclusions exclusions --train <your files or folders>

The same checks, plus an audit of your full trace, run after your run. Runs that break the rules are disqualified.

Resources

  • H100×8, 64 CPUs, 1024 GB RAM, 24 hours of wall clock. Plan to use the whole budget.
  • The internet, for public data, papers and public model weights (Hugging Face etc.).
  • No hosted LLM APIs from your code.