RNA chemical reactivity (Ribonanza 2A3)
rnaLeaderboard
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_datasetTerminatorJ/RNA_chemical_ribonanzaat revisionc604249f05d35c5e72efcab72c78f30802861004, 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_idpearson_probe— Pearson r (ridge probe); protocol probe; higher is better; range [-1.0, 1.0]; 95% bootstrap CI, 1000 resamples, grouped by sequence_idspearman_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_id | library | first measured nucleotides | 2A3 reactivity |
|---|---|---|---|
007c230dfbc2 | DasLabBigLib_OneMil_15K_REP_2A3 | CAUUGU | 0.31, 0.58, 1.00, 1.00, 0.08, 0.13 |
007d57f38e14 | OpenKnot1_Twist_2A3_EternaPlayers | (27-32) | 0.00, 0.90, 0.18, 0.02, 0.08, 0.24 |
00bb9bf64829 | DasLabBigLib_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.