Visibilidad IA

Arquitectura ProteinMPNN: diseño inverso de proteínas con redes de grafos

La arquitectura ProteinMPNN (Protein Message Passing Neural Network) es un modelo de aprendizaje profundo diseñado para proponer secuencias de aminoácidos compatibles con una estructura tridimensional de proteína previamente especificada.

Su principal innovación consiste en representar el esqueleto proteico como un grafo geométrico y utilizar una Message Passing Neural Network (MPNN) para aprender cómo las relaciones espaciales entre residuos influyen en la identidad de los aminoácidos.

A diferencia de AlphaFold 2, ESMFold y RoseTTAFold, que se desarrollaron principalmente para predecir la estructura tridimensional a partir de una secuencia, ProteinMPNN aborda el problema inverso: dada una estructura, estimar qué secuencias podrían ser compatibles con ella.

Este problema recibe el nombre de Inverse Protein Folding o plegamiento inverso de proteínas.

ProteinMPNN fue desarrollada por Justas Dauparas, Ivan Anishchenko, Nathaniel Bennett, Hua Bai y colaboradores del Institute for Protein Design de la Universidad de Washington, bajo la dirección de David Baker.

La investigación se publicó en línea el 15 de septiembre de 2022 y apareció en el número del 7 de octubre de 2022 de la revista Science, volumen 378, páginas 49–56, con el título Robust deep learning–based protein sequence design using ProteinMPNN.

En su evaluación original, ProteinMPNN logró una recuperación de secuencia nativa del 52,4 %, frente al 32,9 % obtenido por un procedimiento de diseño basado en Rosetta, sobre un conjunto de 402 estructuras monoméricas.

También redujo considerablemente el tiempo de cálculo en el benchmark documentado: aproximadamente 1,2 segundos frente a 4,3 minutos para un diseño de 100 residuos.

Estos resultados son específicos del experimento original y no constituyen una garantía universal de precisión o velocidad.

La arquitectura incorpora tres elementos técnicos fundamentales:

  • Una representación del esqueleto proteico como grafo de vecinos espaciales.
  • Un encoder basado en paso de mensajes entre nodos y aristas.
  • Un decoder autorregresivo que predice aminoácidos utilizando un orden de generación variable.

Los investigadores también introdujeron perturbaciones geométricas durante el entrenamiento para aumentar la robustez frente a estructuras imperfectas.

Esta característica es especialmente relevante porque muchos diseños computacionales utilizan estructuras predichas, no determinadas experimentalmente.

Además, ProteinMPNN permite distinguir posiciones modificables y posiciones fijas, procesar varias cadenas y acoplar posiciones relacionadas por simetría.

Estas capacidades explican su importancia dentro de los flujos modernos de diseño computacional de proteínas.

En particular, ProteinMPNN se utiliza frecuentemente junto con arquitecturas como RFdiffusion.

Mientras RFdiffusion puede producir esqueletos estructurales candidatos, ProteinMPNN proporciona un modelo probabilístico para estudiar secuencias compatibles con esas geometrías.

Sin embargo, una secuencia con buena puntuación computacional no garantiza que la proteína se pliegue, sea soluble, presente actividad o funcione de la forma esperada.

En esta guía exploraremos la arquitectura ProteinMPNN, las redes de grafos, el mecanismo de message passing, los embeddings geométricos, la generación autorregresiva de aminoácidos y las métricas de evaluación.

También incluiremos ejemplos prácticos y educativos en Python, comparaciones con RFdiffusion, AlphaFold y ESM-3, limitaciones científicas, referencias oficiales y metadatos SEO para WordPress.


¿Qué es ProteinMPNN?

ProteinMPNN es una red neuronal generativa condicionada por geometría proteica.

Recibe una representación de la estructura del esqueleto de una proteína y calcula distribuciones de probabilidad sobre posibles aminoácidos.

Su objetivo puede expresarse como:

[
P_\theta(S\mid B)
]

Donde:

  • (S) representa una secuencia de aminoácidos.
  • (B) representa la geometría del esqueleto proteico.
  • (P_\theta) es la distribución aprendida por el modelo.
  • (\theta) contiene los parámetros neuronales.

La arquitectura intenta aprender qué combinaciones de aminoácidos son compatibles estadísticamente con las geometrías presentes en sus datos de entrenamiento.

Esta formulación es diferente de la predicción estructural convencional.

En un predictor estructural, la entrada principal es una secuencia.

En ProteinMPNN, la entrada principal es una geometría.

La red utiliza esta información para predecir aminoácidos.

Por ejemplo, una región enterrada dentro del núcleo de una proteína puede favorecer determinados patrones de composición.

Una región expuesta al solvente puede presentar otras preferencias.

El modelo aprende estas regularidades a partir de estructuras experimentales.

Sin embargo, las probabilidades obtenidas no son mediciones directas de energía libre ni de estabilidad termodinámica.

¿Qué significa Protein Message Passing Neural Network?

El nombre hace referencia a las redes neuronales de paso de mensajes.

Estas arquitecturas representan los datos como grafos.

Un grafo contiene nodos y conexiones.

En una proteína, los nodos pueden representar residuos.

Las conexiones describen relaciones espaciales entre ellos.

El mecanismo de message passing permite que cada nodo incorpore información de sus vecinos.

Por ejemplo, un residuo puede recibir información sobre los aminoácidos o entornos geométricos de posiciones cercanas.

Después, actualiza su representación interna.

Al repetir este procedimiento, la red construye características que incorporan información del entorno.

Este principio permite aprender relaciones geométricas sin procesar necesariamente todos los pares de residuos mediante una matriz de atención completa.

Origen y desarrollo de ProteinMPNN

ProteinMPNN continúa una línea de investigación sobre diseño computacional de proteínas.

Los enfoques tradicionales, como Rosetta, utilizaban funciones de energía y optimización para buscar combinaciones de aminoácidos compatibles con una estructura.

Estos procedimientos pueden evaluar interacciones estéricas, electrostáticas y otros términos físicos.

Sin embargo, la búsqueda combinatoria es compleja.

Una proteína de 100 posiciones tiene, teóricamente, hasta:

[
20^{100}
]

posibles secuencias formadas por los veinte aminoácidos estándar.

Esa cantidad es extraordinariamente grande.

Por ello, no resulta viable evaluar exhaustivamente todas las combinaciones.

Los investigadores comenzaron a utilizar aprendizaje profundo para aproximar relaciones entre estructura y secuencia.

Los modelos basados en grafos resultaron prometedores porque las proteínas pueden representarse mediante vecinos espaciales.

ProteinMPNN amplió un enfoque anterior de message passing mediante mejoras en las características geométricas, actualización de aristas y generación autorregresiva de orden variable.

La publicación original demostró mejoras tanto en recuperación de secuencias naturales como en determinadas evaluaciones experimentales.


¿Qué es Inverse Protein Folding?

El plegamiento inverso consiste en buscar secuencias compatibles con una estructura determinada.

Podemos representar dos problemas complementarios.

Predicción de estructura

[
S\longrightarrow B
]

La secuencia es conocida y queremos estimar su estructura.

Este es el objetivo principal de AlphaFold 2, ESMFold y RoseTTAFold.

Diseño inverso

[
B\longrightarrow S
]

La estructura es conocida o propuesta y queremos estimar secuencias que puedan ser compatibles.

Este es el problema principal de ProteinMPNN.

La inversión no es matemática en el sentido de una función biyectiva.

Una misma estructura puede corresponder a numerosas secuencias.

Además, una secuencia puede adoptar diferentes conformaciones según las condiciones.

Por tanto, la relación entre secuencia y estructura es probabilística y no necesariamente única.

¿Qué es un esqueleto proteico?

El esqueleto de una proteína, o protein backbone, está formado por los átomos que constituyen la cadena principal.

Entre los átomos relevantes se encuentran:

  • N: nitrógeno del esqueleto.
  • Cα: carbono alfa.
  • C: carbono carbonílico.
  • O: oxígeno carbonílico.

La estructura de estos átomos permite describir gran parte de la geometría de la cadena.

ProteinMPNN utiliza información de estos átomos para construir características geométricas.

También utiliza posiciones virtuales Cβ calculadas a partir de la geometría local.

Esto ayuda a representar aspectos espaciales relacionados con la orientación de las cadenas laterales, incluso antes de conocer sus identidades definitivas.

Es importante distinguir entre el esqueleto y las cadenas laterales.

Las cadenas laterales dependen de los aminoácidos.

ProteinMPNN utiliza principalmente la geometría del esqueleto como condicionamiento para predecir esas identidades.


¿Cómo funciona ProteinMPNN paso a paso?

Podemos organizar el procedimiento en nueve etapas.

Paso 1. Obtener una estructura

El usuario dispone de una estructura proteica, normalmente en formato PDB.

Paso 2. Extraer coordenadas

El programa identifica los residuos y obtiene las posiciones de los átomos relevantes del esqueleto.

Paso 3. Construir un grafo

Cada residuo se representa como un nodo.

Paso 4. Identificar vecinos espaciales

El sistema conecta cada nodo con sus vecinos más próximos en el espacio tridimensional.

Paso 5. Construir características geométricas

Se calculan distancias y otras representaciones asociadas con los pares de residuos.

Paso 6. Ejecutar el encoder MPNN

Los nodos y las aristas intercambian información mediante bloques de paso de mensajes.

Paso 7. Definir un orden de decodificación

Se selecciona un orden de generación de residuos que no necesita coincidir con el orden natural de la secuencia.

Paso 8. Predecir aminoácidos

El decoder calcula distribuciones sobre aminoácidos y utiliza un procedimiento de muestreo.

Paso 9. Evaluar los resultados

Las secuencias generadas pueden analizarse mediante puntuaciones, comparación estructural y validación independiente.

El proceso no garantiza que todas las secuencias obtenidas se plieguen correctamente.


Arquitectura interna de ProteinMPNN

La arquitectura original utiliza una estructura encoder–decoder basada en redes neuronales de paso de mensajes.

Los componentes principales son:

ComponenteFunción
Extracción geométricaConvierte coordenadas en características
Construcción del grafoIdentifica residuos y vecinos
EncoderAprende representaciones estructurales
DecoderPredice aminoácidos condicionados por la estructura
SamplingSelecciona secuencias candidatas

El modelo estándar utiliza tres capas de encoder y tres capas de decoder, con una dimensión oculta de 128.

La arquitectura contiene aproximadamente 1,7 millones de parámetros.

Esto la convierte en un modelo relativamente compacto frente a los grandes modelos fundacionales de proteínas.

Su eficacia procede de utilizar una representación geométrica especializada y una tarea de entrenamiento bien definida.

Diagrama conceptual

             ESTRUCTURA PROTEICA
                   PDB
                    |
                    v
          Átomos N, CA, C, O
                    |
                    v
         Características geométricas
                    |
                    v
          GRAFO DE RESIDUOS
          Nodos + 48 vecinos
                    |
                    v
          MESSAGE PASSING ENCODER
               3 capas
                    |
                    v
         Representaciones ocultas
           de nodos y aristas
                    |
                    v
          AUTOREGRESSIVE DECODER
               3 capas
                    |
                    v
         Probabilidades por residuo
                    |
                    v
            Muestreo de secuencia
                    |
                    v
           SECUENCIAS CANDIDATAS

El diagrama resume el procedimiento.

La implementación contiene operaciones adicionales de normalización, actualización de aristas, máscaras y condicionamiento por secuencias parciales.


¿Cómo representa ProteinMPNN una proteína como grafo?

Consideremos una proteína con (L) residuos.

Construimos:

[
G=(V,E)
]

Donde:

  • (V) contiene los nodos.
  • (E) contiene las conexiones.
  • Cada nodo corresponde a un residuo.
  • Cada arista representa una relación de vecindad espacial.

En lugar de conectar todos los residuos entre sí, ProteinMPNN utiliza un grafo relativamente disperso.

El modelo estándar emplea los 48 vecinos espaciales más próximos para cada residuo, cuando existen suficientes posiciones.

Esto reduce el número de relaciones que deben procesarse.

Para una proteína de 200 residuos, una representación completamente densa contendría:

[
200^2=40.000
]

pares ordenados.

Un grafo con 48 conexiones por residuo tendría aproximadamente:

[
200\times48=9.600
]

conexiones dirigidas, antes de considerar detalles como vecinos disponibles y construcción específica del grafo.

La representación dispersa permite concentrarse en entornos estructurales próximos.

¿Por qué se utilizan 48 vecinos?

Los investigadores evaluaron diferentes cantidades de vecinos.

Entre ellas:

16, 24, 32, 48 y 64.

Observaron que la mejora de rendimiento tendía a estabilizarse alrededor de 32–48 vecinos en las evaluaciones originales.

Por ello, 48 se convirtió en una configuración habitual.

Este valor no significa que una proteína tenga exactamente 48 contactos físicos reales por residuo.

Representa la cantidad de vecinos seleccionados para el grafo neuronal.

Los vecinos pueden estar próximos geométricamente sin establecer necesariamente una interacción molecular directa.


¿Qué información contienen las aristas?

Las aristas incorporan características geométricas.

En ProteinMPNN, estas incluyen distancias entre átomos del esqueleto.

Los investigadores consideraron los átomos:

[
N,\ C_\alpha,\ C,\ O,\ C_\beta^{virtual}
]

La combinación de diferentes posiciones atómicas permite describir relaciones espaciales más ricas que una simple distancia Cα–Cα.

Por ejemplo, dos residuos pueden tener la misma separación entre carbonos alfa, pero orientaciones locales diferentes.

Las distancias entre varios pares atómicos ayudan a distinguir esas configuraciones.

El modelo utiliza transformaciones de estas distancias para construir embeddings.

¿Qué es un Virtual Cβ?

El carbono beta es un átomo relacionado con la cadena lateral de numerosos aminoácidos.

Sin embargo, ProteinMPNN debe estudiar geometría antes de decidir qué aminoácido corresponde a cada posición.

Por ello, utiliza una posición Cβ virtual calculada a partir de la geometría del esqueleto.

La posición se obtiene mediante una combinación geométrica de los átomos N, Cα y C.

Esto proporciona una aproximación de la orientación de la cadena lateral.

La glicina requiere una consideración especial porque no tiene un Cβ convencional.

El Cβ virtual es una característica geométrica computacional, no un átomo experimental presente en todos los residuos.


¿Qué es Message Passing?

Message Passing es el mecanismo mediante el cual los nodos de un grafo intercambian información.

Cada residuo recibe mensajes de sus vecinos.

Una formulación general es:

\sum_{j\in\mathcal{N}(i)}
\phi_m
\left(
h_i^{(l)},
h_j^{(l)},
e_{ij}^{(l)}
\right)
]

Donde:

  • (h_i^{(l)}) es la representación del nodo (i).
  • (h_j^{(l)}) es la representación del nodo vecino (j).
  • (e_{ij}^{(l)}) describe la arista entre ellos.
  • (\phi_m) es una función neuronal aprendida.
  • (\mathcal{N}(i)) es el conjunto de vecinos.

Después se actualiza el nodo:

\phi_u
\left(
h_i^{(l)},m_i^{(l)}
\right)
]

Donde (\phi_u) representa otra transformación aprendida.

Esta formulación describe el principio general de las MPNN.

ProteinMPNN utiliza implementaciones específicas con proyecciones, concatenaciones, normalización y conexiones residuales.

¿Qué significa actualizar las aristas?

En una red básica de grafos, las características de las aristas pueden permanecer fijas mientras los nodos se actualizan.

ProteinMPNN incorpora actualizaciones de aristas en el encoder.

Esto permite que las representaciones relacionales también evolucionen durante el procesamiento.

Por ejemplo, una arista puede empezar describiendo distancias geométricas.

Después, su representación interna puede incorporar información sobre el entorno estructural de los nodos conectados.

Los investigadores observaron que esta modificación contribuía a mejorar el rendimiento cuando se combinaba con las características geométricas ampliadas.


¿Qué es el Encoder?

El encoder transforma el grafo geométrico en representaciones latentes.

Su objetivo consiste en aprender información sobre el entorno de cada residuo.

Después de varias capas de message passing, cada nodo puede incorporar información procedente de un vecindario más amplio.

En la arquitectura original se utilizan tres capas de encoder.

Estas capas producen representaciones que el decoder utilizará posteriormente.

Es importante comprender que el encoder no necesita conocer necesariamente la identidad final de todos los aminoácidos.

Su tarea consiste en procesar la geometría que condicionará el diseño.

¿Qué es el Decoder?

El decoder utiliza las representaciones geométricas para predecir la secuencia.

A diferencia del encoder, incorpora información de aminoácidos que ya han sido establecidos en el orden de generación.

Esto convierte la generación en un procedimiento autorregresivo.

Una expresión general es:

\prod_{t=1}^{L}
P_\theta
\left(
s_{\pi_t}
\mid
B,s_{\pi_1},\ldots,s_{\pi_{t-1}}
\right)
]

Donde:

  • (\pi) representa una permutación de las posiciones.
  • (s_{\pi_t}) es el aminoácido de la posición seleccionada en el paso (t).
  • (B) representa la estructura.

Esta formulación muestra una innovación fundamental.

ProteinMPNN puede utilizar diferentes órdenes de decodificación.

No está obligado a comenzar por el extremo N-terminal y terminar por el C-terminal.


¿Qué es Order-Agnostic Autoregressive Decoding?

Es una estrategia de generación autorregresiva que permite utilizar diferentes órdenes de predicción.

En un modelo convencional, la secuencia puede generarse de izquierda a derecha:

[
s_1\rightarrow s_2\rightarrow\cdots\rightarrow s_L
]

ProteinMPNN puede utilizar una permutación diferente:

[
s_5\rightarrow s_2\rightarrow s_8\rightarrow s_1\rightarrow\cdots
]

La red fue entrenada utilizando órdenes aleatorios.

Esto permite adaptar el proceso a distintas restricciones.

Por ejemplo, algunas posiciones pueden encontrarse fijadas de antemano.

El modelo puede utilizarlas como contexto antes de generar las restantes.

Esta propiedad resulta útil para trabajar con estructuras donde ciertas posiciones deben conservar su identidad.

¿Por qué no utilizar siempre el orden N-terminal a C-terminal?

Porque la proximidad espacial no coincide necesariamente con la proximidad en secuencia.

Una posición localizada al comienzo de la cadena puede interactuar con residuos muy alejados en el orden lineal.

Además, en problemas con varias cadenas, no existe una única dirección natural para recorrer todos los residuos del complejo.

El orden variable permite utilizar información estructural y posiciones fijadas con mayor flexibilidad.

Los investigadores observaron una pequeña mejora en recuperación de secuencia al sustituir el orden fijo por órdenes aleatorios de decodificación.


¿Qué son Fixed Positions?

Las posiciones fijas son residuos cuya identidad no debe modificarse durante un análisis.

Por ejemplo, podemos conservar determinadas posiciones mientras estudiamos la compatibilidad de otras regiones.

ProteinMPNN permite especificar estas restricciones.

El decoder utiliza las identidades conocidas como parte del contexto.

Sin embargo, conservar posiciones no garantiza que la estructura resultante sea estable.

La generación debe evaluarse posteriormente.

¿Qué son Tied Positions?

Son posiciones que deben compartir una misma identidad de aminoácido.

Esto resulta relevante en estructuras con simetría.

Por ejemplo, dos subunidades idénticas de un homodímero pueden requerir secuencias correspondientes iguales.

ProteinMPNN permite combinar logits de posiciones relacionadas para obtener una distribución compartida.

En la evaluación original, los investigadores observaron que promediar logits era útil para diferentes problemas con simetría.

Esta capacidad amplía el modelo más allá del diseño de una sola cadena.


¿Cómo genera ProteinMPNN aminoácidos?

El decoder produce logits para cada aminoácido candidato.

Posteriormente, estos valores se transforman en probabilidades mediante softmax.

\frac{\exp(z_{i,a}/T)}
{\sum_b\exp(z_{i,b}/T)}
]

Donde:

  • (z_{i,a}) es el logit correspondiente al aminoácido (a).
  • (T) representa la temperatura de muestreo.
  • (P(s_i=a)) es la probabilidad de seleccionar ese aminoácido.

Una temperatura baja concentra las probabilidades en opciones consideradas más probables.

Una temperatura alta incrementa la diversidad del muestreo.

Sin embargo, una temperatura mayor no implica una mejora automática de la calidad biológica.

Debe seleccionarse según el objetivo de la evaluación.

¿Qué temperaturas utiliza ProteinMPNN?

El repositorio oficial documenta valores orientativos como:

  • 0,10.
  • 0,15.
  • 0,20.
  • 0,25.
  • 0,30.

Estos valores son parámetros de muestreo, no temperaturas físicas del sistema molecular.

Por tanto, una temperatura de 0,2 no representa 0,2 kelvin ni 0,2 grados Celsius.

Controla la distribución matemática utilizada por el decoder.


¿Cómo se entrena ProteinMPNN?

El entrenamiento utiliza estructuras y secuencias proteicas conocidas.

La red recibe la geometría del esqueleto y aprende a predecir los aminoácidos originales.

Una función de pérdida habitual es la entropía cruzada:

-\sum_i
\log P_\theta(s_i\mid B,\text{contexto})
]

El objetivo favorece las predicciones que asignan mayor probabilidad a los aminoácidos observados.

Esta formulación se conoce como aprendizaje supervisado de estructura a secuencia.

Los investigadores utilizaron estructuras procedentes del Protein Data Bank.

En el entrenamiento descrito en la publicación, seleccionaron conjuntos obtenidos mediante cristalografía de rayos X y criomicroscopía electrónica, con resoluciones mejores que 3,5 Å.

Posteriormente agruparon secuencias para reducir redundancia.

El conjunto de entrenamiento de ensamblajes se organizó en 25.361 clústeres con un umbral de identidad de secuencia del 30 %.

Este procedimiento ayudó a evaluar la generalización evitando determinadas formas de solapamiento entre secuencias muy similares.

¿Qué es Backbone Noise?

Es una perturbación añadida a las coordenadas del esqueleto durante entrenamiento.

Podemos representar una posición perturbada como:

[
\tilde{x}_i=x_i+\varepsilon_i
]

Donde:

[
\varepsilon_i\sim
\mathcal{N}(0,\sigma^2I)
]

La perturbación simula pequeños errores o diferencias geométricas.

Los investigadores observaron que entrenar con ruido podía reducir ligeramente la recuperación exacta de secuencias naturales sobre estructuras de alta precisión.

Sin embargo, también podía mejorar la robustez de las secuencias generadas para esqueletos imperfectos.

Esta distinción es importante.

La máxima recuperación de una secuencia natural no equivale necesariamente a la mejor robustez para una estructura computacional.

Checkpoints principales

El repositorio oficial incluye diferentes configuraciones.

CheckpointDesviación típica de ruido en entrenamiento
v_48_0020,02 Å
v_48_0100,10 Å
v_48_0200,20 Å
v_48_0300,30 Å

Estos modelos utilizan una configuración de 48 vecinos.

También existen variantes para estructuras con información exclusiva de Cα y versiones entrenadas con un subconjunto de proteínas solubles.

Es importante no confundir el nivel de ruido utilizado para entrenar un checkpoint con el parámetro --backbone_noise, que puede añadir perturbación durante inferencia.

Ambos conceptos tienen funciones diferentes.


Resultados experimentales de ProteinMPNN

La publicación de Science presentó resultados computacionales y experimentales.

Recuperación de secuencia

En una evaluación sobre 402 esqueletos monoméricos, ProteinMPNN obtuvo:

MétodoRecuperación de secuencia nativa
Rosetta32,9 %
ProteinMPNN52,4 %

La métrica indica el porcentaje de posiciones donde la predicción coincide con el aminoácido natural.

No mide directamente estabilidad, función ni éxito experimental.

Tiempo de ejecución

Para el benchmark documentado sobre una proteína de 100 residuos:

MétodoTiempo
Rosetta258,8 segundos
ProteinMPNN1,2 segundos

Estos resultados corresponden a la configuración del estudio.

No deben extrapolarse automáticamente a otros equipos o estructuras.

Monómeros y complejos

Los autores estudiaron conjuntos que incluían:

  • 690 monómeros.
  • 732 homómeros.
  • 98 heterómeros.

Las medianas de recuperación de secuencia fueron aproximadamente del 52 %, 55 % y 51 %, respectivamente.

Validación experimental

Los investigadores evaluaron diferentes diseños utilizando técnicas como cristalografía de rayos X, criomicroscopía electrónica y estudios funcionales.

También documentaron casos donde ProteinMPNN contribuyó a mejorar diseños previos.

Sin embargo, los resultados no significan que todas las secuencias generadas sean funcionales.

El estudio subraya que la evaluación experimental sigue siendo necesaria.


¿Qué es Sequence Recovery?

Sequence Recovery es el porcentaje de posiciones donde una secuencia predicha coincide con una secuencia de referencia.

Puede expresarse como:

[
Recovery=
\frac{1}{L}
\sum_{i=1}^{L}
\mathbf{1}(\hat{s}_i=s_i)
]

Donde:

  • (L) es la longitud.
  • (\hat{s}_i) representa la predicción.
  • (s_i) representa el aminoácido de referencia.
  • (\mathbf{1}) es la función indicadora.

Por ejemplo, si un modelo coincide en 60 de 100 posiciones:

[
Recovery=60%
]

Esta métrica resulta útil durante entrenamiento y evaluación.

Sin embargo, una estructura puede admitir numerosas secuencias válidas.

Por tanto, una recuperación baja no implica necesariamente que una secuencia propuesta sea incompatible con la estructura.

¿Qué es Perplexity?

La perplejidad es una medida relacionada con la incertidumbre predictiva de un modelo probabilístico.

Puede calcularse como:

[
PPL=
\exp\left(
-\frac{1}{L}
\sum_{i=1}^{L}
\log P_\theta(s_i)
\right)
]

En un contexto estructural, la perplejidad mide cuánto sorprende una secuencia al modelo dadas las condiciones y el protocolo de puntuación.

Una perplejidad más baja suele indicar mayor compatibilidad estadística según el modelo.

Sin embargo, no representa una energía física ni una probabilidad experimental de plegamiento.


ProteinMPNN frente a RFdiffusion

RFdiffusion, estudiada en la Entrada 131, está diseñada para generar estructuras.

ProteinMPNN está diseñada para generar secuencias condicionadas por estructuras.

CaracterísticaRFdiffusionProteinMPNN
Objetivo principalGeneración de esqueletosGeneración de secuencias
Entrada característicaRuido geométrico y restriccionesEstructura proteica
SalidaCoordenadas candidatasAminoácidos candidatos
ArquitecturaDifusión con red geométricaEncoder–decoder MPNN
RepresentaciónMarcos tridimensionalesGrafo de vecinos
GeneraciónDenoising iterativoAutorregresiva
Función en un flujoProponer geometríaEvaluar compatibilidad de secuencia

Ambos modelos son complementarios.

La relación puede resumirse así:

RFdiffusion: geometría candidata.

ProteinMPNN: distribución de secuencias condicionada por esa geometría.

La compatibilidad computacional entre ambas etapas debe verificarse mediante evaluaciones independientes.

ProteinMPNN frente a AlphaFold 2

CaracterísticaAlphaFold 2ProteinMPNN
ObjetivoPredecir estructurasPredecir secuencias
Entrada principalSecuencia y MSACoordenadas del esqueleto
ArquitecturaEvoformer + Structure ModuleMessage Passing Encoder–Decoder
SalidaCoordenadas 3DDistribuciones de aminoácidos
Información evolutivaExplícita en MSAAprendida de estructuras y secuencias
Uso principalProtein foldingInverse folding

AlphaFold 2 y ProteinMPNN resuelven problemas conceptualmente inversos, pero sus salidas no son inversas exactas de una función matemática.

ProteinMPNN frente a RoseTTAFold

RoseTTAFold utiliza una arquitectura de tres vías que integra secuencia, relaciones de pares y geometría.

ProteinMPNN utiliza un grafo de vecinos con capas de paso de mensajes.

RoseTTAFold está orientada principalmente a predicción estructural.

ProteinMPNN está especializada en diseño inverso.

La diferencia también afecta al coste computacional.

ProteinMPNN es relativamente compacto y puede generar secuencias rápidamente en muchas configuraciones.

Sin embargo, esto no significa que pueda sustituir a RoseTTAFold para predecir estructuras.

ProteinMPNN frente a ESM-3

ESM-3, estudiada en la Entrada 126, es un modelo fundacional generativo multimodal.

ProteinMPNN tiene un objetivo más especializado.

CaracterísticaESM-3ProteinMPNN
DominioSecuencia, estructura y función proteicaGeometría de esqueleto y secuencia
ArquitecturaTransformer multimodalMPNN
PreentrenamientoReconstrucción enmascaradaPredicción condicionada por estructura
EscalaMiles de millones de parámetrosAproximadamente 1,7 millones
Generación principalIterativa por máscarasAutorregresiva de orden variable
Uso característicoModelado multimodal generalDiseño inverso de secuencias

Esta comparación demuestra que un modelo especializado relativamente pequeño puede obtener resultados muy útiles cuando su arquitectura incorpora una representación adecuada del problema.


Aplicaciones prácticas de ProteinMPNN

Diseño inverso de proteínas

Permite estudiar qué secuencias son compatibles estadísticamente con una geometría dada.

Evaluación de secuencias existentes

Puede calcular puntuaciones condicionadas por una estructura para comparar candidatos.

Análisis de grafos proteicos

Permite investigar cómo influyen los vecinos espaciales en las predicciones.

Modelado de varias cadenas

La arquitectura puede incorporar información sobre interfaces de complejos.

Restricciones de posiciones

Permite conservar identidades conocidas mientras se analizan otras posiciones.

Estudio de simetría

Admite acoplamiento de posiciones entre cadenas relacionadas.

Investigación de robustez

Los diferentes checkpoints permiten estudiar cómo influye el ruido geométrico.

Enseñanza de Graph Neural Networks

ProteinMPNN constituye un ejemplo de aplicación de redes de grafos a datos científicos tridimensionales.


Ejemplo práctico 1: validar aminoácidos en Python

Antes de analizar secuencias podemos comprobar su formato.

AMINO_ACIDS = set(
"ACDEFGHIKLMNPQRSTVWY"
)
def validate_protein(sequence):
sequence = sequence.upper().strip()
if not sequence:
raise ValueError(
"La secuencia está vacía"
)
invalid = set(sequence) - AMINO_ACIDS
if invalid:
raise ValueError(
f"Aminoácidos no admitidos: {invalid}"
)
return sequence
sequence = "MKTAYIAKQRQISFVKSHFSRQ"
print(validate_protein(sequence))
print("Longitud:", len(sequence))

Este código utiliza los veinte aminoácidos estándar.

No representa el tokenizador completo de ProteinMPNN.

Ejemplo práctico 2: construir un grafo de vecinos espaciales

Podemos demostrar el concepto mediante coordenadas ficticias.

import numpy as np
coordinates = np.array([
[0.0, 0.0, 0.0],
[3.8, 0.0, 0.0],
[3.8, 3.8, 0.0],
[0.0, 3.8, 0.0],
[1.9, 1.9, 3.0],
])
distances = np.linalg.norm(
coordinates[:, None, :]
- coordinates[None, :, :],
axis=-1
)
# Seleccionamos 2 vecinos por punto.
np.fill_diagonal(distances, np.inf)
neighbors = np.argsort(
distances,
axis=1
)[:, :2]
print("Vecinos:")
print(neighbors)

El ejemplo identifica los dos vecinos más cercanos de cada punto.

ProteinMPNN utiliza una representación geométrica más compleja y habitualmente 48 vecinos.

Las coordenadas del ejemplo no corresponden a una proteína real.

Ejemplo práctico 3: implementar una actualización de mensajes

Podemos crear una operación educativa de agregación de vecinos.

import numpy as np
features = np.array([
[1.0, 0.0],
[0.0, 1.0],
[1.0, 1.0],
[0.5, 0.5],
[0.2, 0.8],
])
updated = np.zeros_like(features)
for i in range(len(features)):
neighbor_features = features[
neighbors[i]
]
message = neighbor_features.mean(
axis=0
)
updated[i] = (
features[i] + message
) / 2
print(updated)

Este programa representa una agregación básica.

No es la capa MPNN original.

Una red real utiliza transformaciones aprendidas, características de aristas, normalización y conexiones residuales.

El objetivo es visualizar cómo la información de los vecinos modifica las características de cada nodo.

Ejemplo práctico 4: calcular Sequence Recovery

def sequence_recovery(reference, predicted):
if len(reference) != len(predicted):
raise ValueError(
"Longitudes incompatibles"
)
matches = sum(
a == b
for a, b in zip(reference, predicted)
)
return matches / len(reference)
reference = "ACDEFGHIKL"
predicted = "ACNEFGHVKL"
recovery = sequence_recovery(
reference,
predicted
)
print(
f"Sequence recovery: {recovery:.1%}"
)

Este procedimiento calcula la coincidencia posición por posición.

No mide directamente estabilidad ni calidad estructural.

Ejemplo práctico 5: calcular probabilidades con temperatura

Podemos demostrar el muestreo sin generar ninguna proteína real.

import numpy as np
rng = np.random.default_rng(42)
logits = np.array([
2.0,
1.5,
0.2,
-0.4
])
temperature = 0.2
scaled = logits / temperature
scaled -= scaled.max()
probabilities = np.exp(scaled)
probabilities /= probabilities.sum()
print("Probabilidades:")
print(probabilities)
sample = rng.choice(
len(logits),
p=probabilities
)
print("Índice seleccionado:", sample)

El ejemplo demuestra cómo la temperatura modifica una distribución softmax.

Los valores son ficticios.

No representan probabilidades calculadas por ProteinMPNN.

Ejemplo práctico 6: instalar ProteinMPNN

El repositorio oficial se encuentra en:

Podemos descargarlo mediante:

git clone https://github.com/dauparas/ProteinMPNN.git
cd ProteinMPNN

La implementación original utiliza Python, PyTorch y NumPy.

Los checkpoints se incluyen en carpetas del repositorio.

La documentación proporciona diferentes ejemplos de inferencia y evaluación.

Para obtener un entorno reproducible deben instalarse versiones compatibles de PyTorch y las demás dependencias.

Aunque el modelo es relativamente pequeño, el rendimiento y la compatibilidad de GPU dependen del entorno utilizado.

Ejemplo práctico 7: consultar el script oficial

El punto de entrada principal es:

protein_mpnn_run.py

Podemos examinar sus opciones mediante:

python protein_mpnn_run.py --help

Entre las opciones documentadas se encuentran:

  • --pdb_path
  • --pdb_path_chains
  • --model_name
  • --num_seq_per_target
  • --sampling_temp
  • --out_folder
  • --score_only
  • --save_probs

La disponibilidad de opciones depende de la versión del repositorio.

Ejemplo práctico 8: ejecutar un análisis básico sobre un PDB

Una vez instalado el entorno, puede utilizarse el siguiente patrón documentado:

python protein_mpnn_run.py \
--pdb_path ejemplo.pdb \
--pdb_path_chains "A" \
--out_folder resultados \
--num_seq_per_target 2 \
--sampling_temp "0.1" \
--model_name v_48_020

Este comando presupone que existe un archivo ejemplo.pdb válido y que contiene una cadena A compatible.

La ejecución utiliza el modelo v_48_020 y solicita dos muestras.

El ejemplo es una demostración del uso de la interfaz oficial, no una validación de que las secuencias resultantes se plieguen o funcionen.

Para realizar una primera comprobación también pueden utilizarse los scripts de ejemplo incluidos por los autores.

Ejemplo práctico 9: evaluar una secuencia sin generar nuevas muestras

ProteinMPNN permite utilizar una modalidad de scoring.

El patrón general es:

python protein_mpnn_run.py \
--pdb_path ejemplo.pdb \
--pdb_path_chains "A" \
--out_folder puntuaciones \
--score_only 1 \
--model_name v_48_020

Este procedimiento evalúa la compatibilidad estadística de la secuencia presente en el PDB con la geometría correspondiente.

Las puntuaciones dependen del modelo y del protocolo de evaluación.

No deben interpretarse como energía libre de plegamiento.

Ejemplo práctico 10: interpretar la puntuación

El repositorio informa una puntuación basada en la probabilidad negativa de los aminoácidos.

Podemos expresar una puntuación media como:

[
Score=
-\frac{1}{L}
\sum_{i=1}^{L}
\log P_\theta(s_i\mid B,\text{contexto})
]

En general, una puntuación menor significa que la secuencia resulta más probable según el modelo.

Sin embargo, las comparaciones requieren mantener constantes condiciones como checkpoint, estructura y procedimiento de scoring.

También debemos distinguir score y global_score.

La primera puede calcularse sobre las posiciones diseñadas.

La segunda puede incorporar todas las posiciones consideradas por el modelo.

Por tanto, no deben compararse indiscriminadamente.

Ejemplo práctico 11: leer una secuencia FASTA

Podemos utilizar Biopython para examinar los resultados.

from Bio import SeqIO
records = list(
SeqIO.parse(
"resultados/seqs/ejemplo.fa",
"fasta"
)
)
for record in records:
print("Identificador:", record.id)
print("Longitud:", len(record.seq))

El nombre del archivo depende del PDB procesado y de la estructura de salida.

No debe asumirse que todos los trabajos generan exactamente la misma ruta.

El programa permite inspeccionar las secuencias y sus encabezados.

Las puntuaciones suelen incluirse en los metadatos de las cabeceras FASTA.

Ejemplo práctico 12: calcular diversidad entre secuencias

Podemos comparar secuencias de la misma longitud mediante una distancia de Hamming.

def hamming_distance(a, b):
if len(a) != len(b):
raise ValueError(
"Las secuencias deben tener igual longitud"
)
return sum(
x != y
for x, y in zip(a, b)
)
sequence_a = "ACDEFGHIKL"
sequence_b = "ACNEFGHVKL"
distance = hamming_distance(
sequence_a,
sequence_b
)
print("Diferencias:", distance)

Esta medida permite estudiar diferencias entre secuencias.

Sin embargo, la distancia de Hamming no representa directamente diversidad estructural o funcional.

Para evaluar propiedades biológicas se requieren métodos adicionales.


¿Cómo interpretar correctamente los resultados?

ProteinMPNN produce secuencias y puntuaciones probabilísticas.

El análisis debe distinguir varios niveles.

Compatibilidad estadística

¿El modelo considera que la secuencia es compatible con el esqueleto proporcionado?

Consistencia estructural

¿Un predictor independiente genera una estructura similar a la utilizada como condicionamiento?

Calidad molecular

¿La geometría presenta características físicamente razonables?

Propiedades funcionales

¿Existen datos experimentales que respalden las propiedades de interés?

Reproducibilidad

¿Se conocen el checkpoint, los parámetros y las condiciones utilizadas?

La evaluación más sólida combina varios procedimientos.

El propio estudio original de ProteinMPNN destaca que las métricas computacionales no sustituyen la caracterización experimental.


Ventajas de ProteinMPNN

Arquitectura compacta

El modelo estándar contiene aproximadamente 1,7 millones de parámetros.

Procesamiento geométrico

Utiliza información del esqueleto en lugar de depender únicamente de la secuencia.

Grafo disperso

Trabaja principalmente con vecinos espaciales.

Generación flexible

Permite diferentes órdenes de decodificación.

Posiciones fijas

Puede utilizar información de aminoácidos ya conocidos.

Soporte multichain

Admite estructuras que contienen varias cadenas.

Simetría

Permite relacionar posiciones equivalentes.

Robustez

Existen checkpoints entrenados con diferentes niveles de ruido geométrico.

Evaluación experimental

La publicación original incluyó estudios estructurales y funcionales, no solamente benchmarks computacionales.


Limitaciones científicas de ProteinMPNN

1. La estructura condicionante puede ser incorrecta

Si el esqueleto de entrada contiene errores, las predicciones pueden ser menos fiables.

2. Compatibilidad no equivale a plegamiento

Una buena puntuación no demuestra que una secuencia adopte la estructura deseada.

3. No predice directamente funciones

ProteinMPNN está especializada en compatibilidad estructura-secuencia, no en anotación funcional general.

4. Dependencia de datos

El modelo aprende de las estructuras utilizadas durante entrenamiento.

5. Entorno químico incompleto

La geometría del esqueleto no describe todas las condiciones de solvente, ligandos y modificaciones.

6. Flexibilidad estructural

Una proteína real puede adoptar múltiples conformaciones.

7. Interacciones complejas

La capacidad de modelar interfaces no garantiza la existencia de una interacción estable.

8. Sesgos de composición

Las distribuciones aprendidas reflejan las estructuras y secuencias conocidas.

9. Puntuaciones no físicas

Los valores de log-probabilidad no son energías de unión ni energías libres de plegamiento.

10. Validación necesaria

La estructura, estabilidad, solubilidad y función deben evaluarse mediante métodos independientes.


ProteinMPNN y la seguridad biológica

ProteinMPNN es una herramienta de investigación en diseño computacional de proteínas.

Sus capacidades deben utilizarse dentro de marcos de bioseguridad apropiados.

La generación de secuencias puede ayudar a estudiar regularidades entre estructura y aminoácidos.

Sin embargo, el uso dirigido a objetivos funcionales sensibles requiere evaluación de riesgos y supervisión.

Los ejemplos de este artículo se concentran en fundamentos matemáticos, grafos geométricos, instalación y evaluación general de estructuras.

No se presentan procedimientos para desarrollar proteínas con funciones biológicas peligrosas.

La disponibilidad pública de una herramienta no elimina las responsabilidades relacionadas con su aplicación experimental.


Importancia de ProteinMPNN en la evolución de la IA para proteínas

ProteinMPNN demuestra que no todas las tareas de biología computacional necesitan modelos de miles de millones de parámetros.

Una arquitectura relativamente pequeña puede obtener resultados importantes cuando incorpora una representación adecuada del problema.

En este caso, la representación es un grafo geométrico del esqueleto proteico.

El modelo utiliza vecinos espaciales, distancias entre átomos y paso de mensajes para aprender características relevantes.

El decoder autorregresivo transforma esas características en distribuciones de aminoácidos.

La estrategia de orden variable permite trabajar con diferentes restricciones y estructuras multicadena.

Además, el entrenamiento con ruido mejora la robustez frente a determinadas imperfecciones geométricas.

La publicación original demostró mejoras considerables respecto a un procedimiento tradicional de diseño con Rosetta.

Posteriormente, ProteinMPNN se convirtió en una herramienta ampliamente utilizada en flujos de diseño estructural.

Su combinación conceptual con RFdiffusion ilustra la separación entre generación de geometría y predicción de secuencia.

Esta división permite construir sistemas modulares.

Sin embargo, la calidad de cada componente debe evaluarse por separado y de manera conjunta.


Preguntas frecuentes sobre ProteinMPNN

¿Qué es ProteinMPNN?

Es una red neuronal de paso de mensajes que predice secuencias de aminoácidos condicionadas por la geometría del esqueleto de una proteína.

¿Quién desarrolló ProteinMPNN?

Fue desarrollada por Justas Dauparas y colaboradores del Institute for Protein Design de la Universidad de Washington, en el grupo de David Baker.

¿Cuándo se publicó?

El artículo apareció en Science en 2022.

¿Qué significa MPNN?

Message Passing Neural Network, una familia de redes neuronales que intercambian información entre nodos conectados de un grafo.

¿Qué es Inverse Folding?

Es el problema de predecir secuencias compatibles con una estructura previamente especificada.

¿ProteinMPNN predice estructuras?

No es su tarea principal. Recibe una estructura y predice aminoácidos.

¿ProteinMPNN utiliza Transformers?

Su arquitectura original se basa principalmente en redes de paso de mensajes, no en un gran Transformer convencional.

¿Cómo representa una proteína?

Mediante un grafo donde los nodos corresponden a residuos y las aristas describen relaciones espaciales.

¿Cuántos vecinos utiliza?

El modelo estándar utiliza 48 vecinos espaciales, cuando existen suficientes posiciones.

¿Cuántas capas contiene?

La configuración original utiliza tres capas de encoder y tres capas de decoder.

¿Cuántos parámetros tiene?

Aproximadamente 1,7 millones.

¿Qué átomos utiliza?

Principalmente N, Cα, C y O, además de características derivadas de Cβ virtual.

¿Qué es un Cβ virtual?

Es una posición geométrica calculada a partir de los átomos del esqueleto para representar aproximadamente la orientación lateral.

¿Qué significa Message Passing?

Es la actualización de representaciones neuronales utilizando información procedente de nodos vecinos.

¿Por qué actualiza las aristas?

Porque las relaciones entre residuos también contienen información que puede refinarse durante el procesamiento.

¿Qué significa Order-Agnostic Decoding?

Significa que puede generar posiciones utilizando distintos órdenes, no solamente de izquierda a derecha.

¿Qué son posiciones fijas?

Son posiciones cuya identidad se conserva durante el análisis.

¿Qué son Tied Positions?

Son posiciones que deben compartir una misma identidad, por ejemplo en determinadas configuraciones simétricas.

¿Qué es Backbone Noise?

Es una perturbación geométrica añadida durante entrenamiento o, opcionalmente, inferencia.

¿Qué checkpoints existen?

Entre los principales se encuentran v_48_002, v_48_010, v_48_020 y v_48_030.

¿Qué significa Sampling Temperature?

Es un parámetro que modifica la distribución de probabilidades utilizada para seleccionar aminoácidos.

¿Qué es Sequence Recovery?

Es el porcentaje de posiciones predichas que coinciden con una secuencia de referencia.

¿Qué es Perplexity?

Es una medida derivada de la probabilidad asignada a una secuencia según el modelo.

¿Qué resultado obtuvo ProteinMPNN?

En un benchmark de 402 monómeros, alcanzó 52,4 % de recuperación frente a 32,9 % de Rosetta.

¿ProteinMPNN es más rápido que Rosetta?

En el benchmark original de 100 residuos fue considerablemente más rápido, aunque los tiempos dependen del entorno.

¿Qué diferencia existe entre ProteinMPNN y RFdiffusion?

RFdiffusion genera esqueletos estructurales; ProteinMPNN estima secuencias condicionadas por estructuras.

¿Qué diferencia existe entre ProteinMPNN y AlphaFold 2?

AlphaFold 2 predice geometría desde secuencia. ProteinMPNN predice secuencia desde geometría.

¿Qué diferencia existe entre ProteinMPNN y ESM-3?

ESM-3 es un modelo fundacional multimodal; ProteinMPNN está especializada en diseño inverso mediante grafos geométricos.

¿Puede analizar varias cadenas?

Sí. El modelo original incorpora mecanismos para estructuras multicadena.

¿Puede evaluar secuencias existentes?

Sí. El repositorio proporciona modos de scoring y cálculo de probabilidades.

¿Funciona con Python?

Sí. La implementación oficial utiliza Python y PyTorch.

¿Necesita GPU?

Una GPU puede acelerar la inferencia, pero el tamaño reducido del modelo permite contemplar también ejecución en CPU, según el entorno y la tarea.

¿Puede demostrar que una proteína será estable?

No. Las predicciones requieren evaluación estructural y experimental.

¿Por qué es importante estudiar ProteinMPNN?

Porque demuestra cómo las redes neuronales de grafos y el aprendizaje geométrico pueden utilizarse para resolver problemas inversos de diseño molecular.


Conclusión

La arquitectura ProteinMPNN representa un avance importante en el aprendizaje profundo aplicado al diseño inverso de proteínas.

Su principal innovación consiste en transformar la geometría de un esqueleto proteico en una representación de grafo y utilizar redes de paso de mensajes para predecir aminoácidos compatibles.

El modelo combina un encoder geométrico, un decoder autorregresivo de orden variable y mecanismos de condicionamiento por posiciones conocidas.

La arquitectura original utiliza tres capas de encoder, tres capas de decoder, 128 dimensiones ocultas y aproximadamente 1,7 millones de parámetros.

Su representación estándar incorpora 48 vecinos espaciales y características geométricas derivadas de diferentes átomos del esqueleto.

Los resultados publicados en Science demostraron mejoras importantes de recuperación de secuencia y tiempo de cálculo frente a un procedimiento tradicional basado en Rosetta.

También presentaron validación experimental sobre diferentes sistemas proteicos.

Sin embargo, las predicciones de ProteinMPNN no constituyen garantías de plegamiento, estabilidad o función.

La compatibilidad estadística entre estructura y secuencia debe distinguirse de la validación biológica.

Para estudiantes, investigadores y desarrolladores de inteligencia artificial, ProteinMPNN ofrece una lección fundamental:

Una representación geométrica especializada, combinada con redes neuronales de paso de mensajes y generación autorregresiva, puede resolver de manera eficiente problemas inversos complejos sin necesitar necesariamente un modelo fundacional de miles de millones de parámetros.

Comprender ProteinMPNN permite profundizar en redes neuronales de grafos, message passing, aprendizaje geométrico, modelos probabilísticos, generación condicionada y diseño computacional de proteínas.


Referencias y fuentes oficiales

  1. Dauparas, J. et al. (2022). Robust deep learning–based protein sequence design using ProteinMPNN. Science, 378(6615), 49–56. https://doi.org/10.1126/science.add2187
  2. PubMed Central. Robust deep learning based protein sequence design using ProteinMPNN — Texto completo. https://pmc.ncbi.nlm.nih.gov/articles/PMC9997061/
  3. Dauparas, J. y colaboradores. ProteinMPNN — Repositorio oficial. https://github.com/dauparas/ProteinMPNN
  4. ProteinMPNN. Guía oficial de instalación, modelos y parámetros. https://github.com/dauparas/ProteinMPNN/blob/main/README.md
  5. Gilmer, J. et al. (2017). Neural Message Passing for Quantum Chemistry. International Conference on Machine Learning. https://arxiv.org/abs/1704.01212
  6. Ingraham, J. et al. (2019). Generative Models for Graph-Based Protein Design. NeurIPS. https://arxiv.org/abs/1904.02390
  7. Watson, J. L. et al. (2023). De novo design of protein structure and function with RFdiffusion. Nature. https://doi.org/10.1038/s41586-023-06415-8
  8. Baek, M. et al. (2021). Accurate prediction of protein structures and interactions using a three-track neural network. Science. https://doi.org/10.1126/science.abj8754
  9. Jumper, J. et al. (2021). Highly accurate protein structure prediction with AlphaFold. Nature. https://doi.org/10.1038/s41586-021-03819-2
  10. Lin, Z. et al. (2023). Evolutionary-scale prediction of atomic-level protein structure with a language model. Science. https://doi.org/10.1126/science.ade2574
  11. Protein Data Bank. RCSB PDB: estructuras macromoleculares. https://www.rcsb.org/
  12. RoseTTAFold y RFdiffusion. Repositorios de RosettaCommons. https://github.com/RosettaCommons/
Solicitar Análisis Gratuito
Solicitar Análisis Gratuito

Visibilidad IA

Contact

Menu

(c) 2025-2026  Todos los derechos reservados | Designed by Benelux-IT