← blog
July 2026

The synonymous classifier fits in two physical variables

The CNN that classifies synonymous variants was not a necessary black box. It reduces to two interpretable physical observables — the signed stacking ΔΔG (Turner) and the G>A bias — that match it, generalize across genes, and now install with a single pip install.

bio-ia glass-box tool

The question Paper 1 left open

The first study showed that a CNN classifies synonymous variants using mRNA thermodynamics alone (AUC 0.683), with no evolutionary signal. A good result — but it left an uncomfortable question: what exactly does that network learn? A black box that gets it right explains nothing, and in a clinical context that is a problem.

The answer turned out to be simpler —and more useful— than expected: the network does not learn some unfathomable hidden grammar. It learns to aggregate two physical numbers.

The two observables

  • σ — signed stacking ΔΔG (Turner): how much the variant destabilizes the mRNA's nearest-neighbor stacking in its local neighborhood (±10 nt). Signed: the direction (destabilization) matters, not just the magnitude.
  • G>A bias: the G→A transition, 2.60× enriched in pathogenic variants via CpG constraint.

A logistic regression over those two variables —no deep network, no GPU, numpy-only inference— reaches:

0.671
AUC pooled (2 features)
0.680
AUC leave-genes-out
0.683
Dedicated CNN (reference)
Two interpretable physical observables reproduce the dedicated deep network — and generalize to genes they never saw. The black box was not necessary.

The right physics: stacking, not base-pairing

An equally important negative result: we tested whether the signal lived in the mRNA's secondary structure (base-pairing probability, via ViennaRNA). It did not. The BPPM was null for pathogenicity, in both missense and synonymous variants. The signal carrier is the stacking free-energy field (nearest-neighbor ΔG, Turner RNA parameters) — a different dimension entirely. That pinned down the right observable and the engine's default parameter set.

The signal sharpens with label quality

The proof that this is biology and not an artifact of how ClinVar is assembled: the model is more predictive where labels are more reliable. On high-confidence variants (≥2★, expert panel) σ+G>A rises to AUC 0.712; on low-confidence ones it falls to 0.574. An ascertainment feature would do the opposite.

From science to product

A 2-variable model matching the deep network is not only elegant — it is deployable. No GPU, no API, no data leaving your machine, and a prediction that is auditable variant by variant (you see each observable's contribution). It is the glass-box argument a clinical lab and a regulator want.

So we packaged it as a real, free product:

# score a synonymous variant from your terminal
pip install ef-synonymous
ef-syn score --transcript ENST00000399655 --hgvs c.213G>A

And a glass-box web tool that runs entirely in the browser: paste a CDS (or fetch a gene from Ensembl), enter the variant, and see the score, the breakdown, the ΔG profile, and an exportable report (JSON or PDF). No signup, no server.

Try it free or read the full paper.

Honest framing: AUC ~0.68 is supporting computational evidence, not a verdict; ACMG (PP3/BP4) thresholds are illustrative and not clinically calibrated.