RNA chemical reactivity (Ribonanza 2A3)

rna
rna-ml/rna-chemical-reactivity Task: regression Visibility: PUBLIC
OverviewLeaderboard

Leaderboard

No results yet. When an evaluation of this benchmark is published, its ranked results will appear here, with their source and their uncertainty.

Protocol

Licence to confirm before publication on the hub. Stanford Ribonanza is Kaggle competition data: the rules allow any use of the data but no redistribution, and the HF mirror the harness fetches declares no licence of its own. Local evaluation is fine; results and the proposed dataset must not be published on the hub before legal confirmation.

What is measured. How well a model's frozen per-nucleotide representation predicts RNA structure as chemistry sees it: the 2A3 (SHAPE) reactivity of each nucleotide, high where the nucleotide is flexible and unpaired, on the Stanford Ribonanza data (Kretsch et al., bioRxiv 2024, Kaggle 2023).

Data. The competition's train_data_QUICK_START.csv (one 2A3_MaP and one DMS_MaP profile per RNA, restricted to profiles passing the competition's signal-to-noise filter), as mirrored byte for byte by TerminatorJ/RNA_chemical_ribonanza at a pinned commit (550 MB, streamed: only the selected profiles are parsed). Experiment: 2A3_MaP, 167,808 profiles over 17 libraries. Reactivity is clipped to [0, 1], as the Kaggle metric clips the truth; unmeasured positions (the primer flanks) are ignored.

Items. Library-disjoint (exc: not a random split, because libraries contain mutants, replicates and overlapping windows of each other). Test: 100 RNAs of DasLabBigLib_OneMil_RFAM_windows_100mers_2A3 (natural RNA: 100-nt windows of Rfam families with fixed 26-nt 5' and 51-nt 3' flanks, 177 nt, 100 measured nucleotides each). Train: 500 RNAs of the 14 other libraries (synthetic designs, viral genome windows, mutants), minus the two replicate libraries that re-measure earlier sequences (DasLabBigLib_OneMil_RFAM_REP_2A3, DasLabBigLib_OneMil_Replicates_from_previous_libraries_2A3), and minus any RNA identical to a test RNA. Seed-hash rank (seed 20261006); (exc) each pool is first cut to its 400 / 2,000 best-ranked profiles by that same rank, which leaves any subset up to that size unchanged.

Probe (mae_probe, pearson_probe, spearman_probe). The model returns one feature vector per nucleotide of the full sequence (embed.rna.tokens; DNA models through embed.dna.tokens with U read as T). A ridge head (StandardScaler + RidgeCV, leave-one-out over 13 alphas) is fit on 50 measured nucleotides per train RNA (fixed hash; 25,000 rows) and predicts every measured nucleotide of the 100 test RNAs (10,000 nucleotides). MAE, Pearson r and Spearman ρ are pooled over those nucleotides. The MAE clips the predictions to [0, 1] first, as the competition metric clips data and predictions; the correlations take them as they are.

Uncertainty. 95 % bootstrap interval, 1,000 resamples of whole test RNAs (bootstrap.group: sequence_id), since nucleotides of one RNA are not independent.

Caveats. Train is mostly synthetic and test natural, a deliberate shift. RNA models pretrained on RNAcentral may have seen the Rfam windows' sequences (not their reactivities). RibonanzaNet was trained on these profiles and is not a fair comparator here. The flanks are identical in every RNA and carry no measurement. The mean clipped reactivity is about 0.34 on both sides, so a constant predictor is the floor to beat.

Data

  • ribonanza: hf_dataset TerminatorJ/RNA_chemical_ribonanza at revision c604249f05d35c5e72efcab72c78f30802861004, licence LicenseRef-Kaggle-competition-rules

Subset

  • seed 20261006
  • test: 100 item(s)
  • train: 500 item(s), disjoint by sequence

Metrics

  • mae_probe — MAE (ridge probe); protocol probe; lower is better; range ≥ 0.0; 95% bootstrap CI, 1000 resamples, grouped by sequence_id
  • pearson_probe — Pearson r (ridge probe); protocol probe; higher is better; range [-1.0, 1.0]; 95% bootstrap CI, 1000 resamples, grouped by sequence_id
  • spearman_probe — Spearman ρ (ridge probe); protocol probe; higher is better; range [-1.0, 1.0]; 95% bootstrap CI, 1000 resamples, grouped by sequence_id

Sample

Three training RNAs (177 nt; reactivity measured on nucleotides 27-126):

item_idlibraryfirst measured nucleotides2A3 reactivity
007c230dfbc2DasLabBigLib_OneMil_15K_REP_2A3CAUUGU0.31, 0.58, 1.00, 1.00, 0.08, 0.13
007d57f38e14OpenKnot1_Twist_2A3_EternaPlayers(27-32)0.00, 0.90, 0.18, 0.02, 0.08, 0.24
00bb9bf64829DasLabBigLib_OneMil_OpenKnot_Round_2_train_2A3(27-32)0.35, 0.00, 0.00, 0.00, 0.06, 0.06

Input: the full sequence (GGGAACGACUCGAGUAGAGUCGAAAA…AAAGAAACAACAACAACAAC). Expected output: one reactivity per measured nucleotide.