← blog
Julio 2026

El clasificador sinónimo cabe en dos variables físicas

La CNN que clasifica variantes sinónimas no era una caja negra necesaria. Se reduce a dos observables físicos interpretables — el ΔΔG de apilamiento con signo (Turner) y el sesgo G>A — que quedan a la par en la comparación pareada gen a gen, generalizan a genes que nunca vieron, y ahora se instalan con un pip install.

bio-ia glass-box herramienta

La pregunta que dejó abierta el Paper 1

El primer trabajo demostró que una CNN clasifica variantes sinónimas usando solo la termodinámica del mRNA (AUC 0,683 ± 0,018 con parámetros Turner), sin señal evolutiva. Buen resultado — pero dejó una pregunta incómoda: ¿qué aprende exactamente esa red? Una caja negra que acierta no explica nada, y en un contexto clínico eso es un problema.

La respuesta resultó ser más simple —y más útil— de lo esperado: la red no aprende una gramática oculta insondable. Aprende a agregar dos números físicos.

Los dos observables

  • σ — ΔΔG de apilamiento con signo (Turner): cuánto desestabiliza la variante el apilamiento nearest-neighbor del mRNA en su vecindad local (±10 nt). Con signo: la dirección (desestabilización) importa, no solo la magnitud.
  • Sesgo G>A: la transición G→A, enriquecida 2.60× en patogénicas por la restricción CpG.

Una regresión logística de esas dos variables —sin red profunda, sin GPU, inferencia solo con numpy— alcanza:

0.671
AUC pooled (2 features)
0.680
AUC leave-genes-out
0,683
CNN dedicada (Turner, ± 0,018)

Nota sobre los AUC: se calculan sobre ClinVar, donde el valor puede reflejar la identidad del gen o la posición de la variante más que el efecto de la propia variante.

Dos observables físicos interpretables quedan a la par de la red profunda en la comparación pareada gen a gen (0,671 vs 0,659) y recuperan la mayor parte de su AUC (0,683 ± 0,018) — y generalizan a genes que nunca vieron. La caja negra no era imprescindible.

La física correcta: apilamiento, no emparejamiento

Un resultado negativo igual de importante: probamos si la señal vivía en la estructura secundaria del mRNA (probabilidad de emparejamiento de bases, vía ViennaRNA). No. La BPPM resultó nula para patogenicidad, tanto en missense como en sinónimas. El portador de la señal es el campo de energía de apilamiento (ΔG nearest-neighbor, parámetros Turner de RNA) — otra dimensión distinta. Eso fijó el observable correcto y el parámetro por defecto del motor.

La señal se agudiza con la calidad de la etiqueta

La prueba de que esto es biología y no un artefacto de cómo se recolecta ClinVar: el modelo es más predictivo donde las etiquetas son más fiables. En variantes de alta confianza (≥2★, panel de expertos) el σ+G>A sube a AUC 0.712; en las de baja confianza cae a 0.574. Un feature de sesgo de recolección haría lo contrario.

De la ciencia al producto

Que un modelo de 2 variables se acerque tanto a la red profunda no es solo elegante — es desplegable. Sin GPU, sin API, sin que los datos salgan de tu equipo, y con una predicción auditable variante a variante (ves la contribución de cada observable). Es el argumento glass-box que un laboratorio clínico y un regulador quieren.

Así que lo empaquetamos como producto real y gratuito:

# puntúa una variante sinónima desde tu terminal
pip install ef-synonymous
ef-syn score --transcript ENST00000399655 --hgvs c.213G>A

Y una herramienta web glass-box que corre entera en el navegador: pegas un CDS (o buscas un gen en Ensembl), metes la variante, y ves el score, la descomposición, el perfil ΔG y un informe exportable (JSON o PDF). Cero registro, cero servidor.

Actualización (sep 2026): un control posterior matiza este resultado. En el conjunto de sinónimas patogénicas confiables de ClinVar, ~65% cae a ≤3 nt de un borde de exón, y SpliceAI —una herramienta gratuita— las clasifica mejor que la señal termodinámica (AUC 0,97 vs σ+G>A 0,59 en el estrato exónico profundo). En la práctica, el positivo de ClinVar es un conjunto de variantes de splicing. Esto no refuta que la termodinámica importe para expresión/traducción — dice que ClinVar no puede probarlo, y que hace falta dato funcional (MPRA / reporter / DMS-MaPseq). El resultado se mantiene como interpretabilidad (σ+G>A ≈ CNN), no como clasificador clínico independiente.

Pruébalo gratis o léelo completo.

Encuadre honesto: AUC ~0.68 es evidencia computacional de apoyo, no un veredicto; los umbrales ACMG (PP3/BP4) son ilustrativos y no están calibrados clínicamente.