Volver a la lista

Práctica de acoplamiento molecular: análisis de las funciones de puntuación de AutoDock Vina, Glide y Rosetta.

Antes de los modelos de difusión, se explica la estructura de las funciones de puntuación empíricas y los procedimientos prácticos de las herramientas de acoplamiento tradicionales, como AutoDock Vina, Glide y Rosetta, que se utilizan ampliamente en la práctica.

Intermedio
|
20min
|
Verificado (2026-07-29)
AutoDock Vinadockingscoring functionbinding pocket
Progreso0/120 (0%)

F08 La siguiente pregunta: el acoplamiento ha funcionado durante más de 20 años sin modelos de difusión

En F08 hablamos de cómo DiffDock redefine el acoplamiento mediante un modelo de difusión. Sin embargo, hay un malentendido que debe evitarse. Mucho antes del surgimiento de DiffDock, y en este mismo momento, la mayoría de los flujos de trabajo de cribado en el desarrollo de fármacos siguen recurriendo a herramientas de acoplamiento tradicionales como AutoDock Vina, Glide y Rosetta. La razón es sencilla: son rápidos, están validados y permiten inspeccionar qué se está calculando. En esta sección, analizaremos directamente ese enfoque tradicional que mencionamos brevemente en F08 al decir que "el acoplamiento se redefine con modelos generativos".

Principio: el acoplamiento es, en última instancia, "función de puntuación + exploración"

Composición de la función de puntuación empírica

El software de acoplamiento (1) genera múltiples posturas y (2) asigna una puntuación a cada postura. La función de puntuación base de AutoDock Vina no es un campo de fuerzas que calcule cantidades físicas directamente, sino una función empírica ajustada por regresión basada en características de pares atómicos dependientes de la distancia y en penalizaciones por enlaces rotacionales.

sVina=w1gauss1+w2gauss2+w3repulsion+w4hydrophobic+w5Hbond+w6Nrots_{\text{Vina}} = w_1\,\mathrm{gauss}_1 + w_2\,\mathrm{gauss}_2 + w_3\,\mathrm{repulsion} + w_4\,\mathrm{hydrophobic} + w_5\,\mathrm{Hbond} + w_6\,N_{\mathrm{rot}}

El significado de cada término es el siguiente:

TérminoSignificado físico
gauss1,2\mathrm{gauss}_{1,2}Términos de contacto Gaussianos con diferentes anchos y distancias
repulsion\mathrm{repulsion}Penalización estérica cuando los átomos se superponen
hydrophobic\mathrm{hydrophobic}Término de contacto entre pares de átomos hidrofóbicos
Hbond\mathrm{Hbond}Término para pares de átomos capaces de formar puentes de hidrógeno
NrotN_{\mathrm{rot}}Penalización por flexibilidad según el número de enlaces rotacionales

Los pesos se ajustaron en función de datos experimentales. No se deben mezclar los términos de electrostática y desolvatación del AutoDock4 clásico con la composición de términos de la función base de Vina. Glide y Rosetta también combinan múltiples términos, pero sus funciones objetivo y parametrizaciones difieren, por lo que no son equivalentes a "la misma fórmula que Vina".

Exploración: algoritmos genéticos y optimización local

Como vimos en el cálculo manual de F08, explorar todo el espacio de posturas de unión mediante una cuadrícula aumenta combinatoriamente. AutoDock Vina resuelve este problema mediante optimización global estocástica combinada con búsqueda local. El flujo aproximado es el siguiente:

  1. Generar aleatoriamente varias posturas iniciales.
  2. Se mueve ligeramente en la dirección que mejora localmente la función de puntuación alrededor de cada conformación (optimización local basada en gradientes, serie BFGS).
  3. De entre varias soluciones óptimas locales, se selecciona como resultado final aquella con la puntuación más alta.

Este proceso no garantiza matemáticamente una solución global óptima. Dado que conserva la limitación fundamental de la optimización local —la posibilidad de converger a diferentes mínimos locales dependiendo del punto de inicio—, en la práctica es habitual ejecutar el mismo ligando varias veces (aumentando el parámetro de exhaustividad) para verificar la consistencia de los resultados.

Ejemplo de cálculo manual: ¿cuán sensible es el término de van der Waals a la distancia?

Si aproximamos las interacciones de van der Waals mediante una forma simplificada de Lennard-Jones, obtenemos lo siguiente:

EvdW(r)=4ϵ[(σr)12(σr)6]E_{\text{vdW}}(r) = 4\epsilon\left[\left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^{6}\right]

Colocando σ=3.5A˚\sigma = 3.5\,\text{Å} y ϵ=0.2kcal/mol\epsilon = 0.2\,\text{kcal/mol}, comparemos r=3.5,3.0,2.5A˚r=3.5, 3.0, 2.5\,\text{Å}. La distancia r=σr=\sigma corresponde a la energía potencial cero, el punto mínimo está en r=21/6σ3.93A˚r=2^{1/6}\sigma\approx3.93\,\text{Å} y allí E=ϵE=-\epsilon.

r=3.5:E=4(0.2)[(1)12(1)6]=0r=3.5: E = 4(0.2)\left[(1)^{12} - (1)^{6}\right] = 0

r=3.0:E=4(0.2)[(3.5/3.0)12(3.5/3.0)6]0.8(6.362.52)3.07r=3.0: E = 4(0.2)\left[(3.5/3.0)^{12} - (3.5/3.0)^{6}\right] \approx 0.8(6.36-2.52) \approx 3.07

r=2.5:E=4(0.2)[(3.5/2.5)12(3.5/2.5)6]0.8(56.697.53)39.33r=2.5: E = 4(0.2)\left[(3.5/2.5)^{12} - (3.5/2.5)^{6}\right] \approx 0.8(56.69-7.53) \approx 39.33

Al acercarse la distancia de 3.5A˚3.5\text{Å} a 3.0A˚3.0\text{Å}, la energía aumenta aproximadamente a 3.07 kcal/mol; al acercarse otros 0.5 Å, la energía se dispara hasta aproximadamente 39.33 kcal/mol. Este es un ejemplo de Lennard-Jones para proporcionar intuición física sobre el choque estérico, y no representa un cálculo numérico directo del término repulsion real de Vina.

Práctica: acoplamiento de moléculas pequeñas con proteínas mediante AutoDock Vina

bash
# Ejecutar en Colab. Instalar AutoDock Vina + OpenBabel
!apt-get -qq install -y openbabel
!pip install -q vina meeko
# 1. Convertir SMILES del ligando a PDBQT 3D (usando Meeko)
python3 << 'EOF'
from meeko import MoleculePreparation, PDBQTWriterLegacy
from rdkit import Chem
from rdkit.Chem import AllChem
# Ejemplo de aspirina
mol = Chem.MolFromSmiles("CC(=O)Oc1ccccc1C(=O)O")
mol = Chem.AddHs(mol)
AllChem.EmbedMolecule(mol, randomSeed=42)
AllChem.MMFFOptimizeMolecule(mol)
preparator = MoleculePreparation()
setups = preparator.prepare(mol)
pdbqt_string, is_ok, error_msg = PDBQTWriterLegacy.write_string(setups[0])
assert is_ok, error_msg
with open("ligand.pdbqt", "w") as f:
f.write(pdbqt_string)
EOF
# 2. Asumiendo que el receptor (proteína) ya está en formato PDBQT, ejecutar el acoplamiento especificando las coordenadas del centro del sitio de unión
python3 << 'EOF'
from vina import Vina
v = Vina(sf_name='vina')
v.set_receptor('receptor.pdbqt')
v.set_ligand_from_file('ligand.pdbqt')
# Coordenadas del centro del sitio de unión (x, y, z) y tamaño de la caja de búsqueda (Å)
v.compute_vina_maps(center=[10.0, 5.0, 15.0], box_size=[20, 20, 20])
v.dock(exhaustiveness=8, n_poses=10)
v.write_poses('docked_poses.pdbqt', n_poses=5, overwrite=True)
energies = v.energies(n_poses=5)
for i, e in enumerate(energies):
print(f"Posición {i+1}: Valor predicho de energía libre de unión = {e[0]:.2f} kcal/mol")
EOF

exhaustiveness es un parámetro que define el número de iteraciones de la búsqueda local. Aumentar este valor mejora la estabilidad de los resultados, pero también incrementa proporcionalmente el tiempo de cálculo. Si no se conocen las coordenadas del centro del sitio de unión, primero se deben identificar candidatos a sitios de unión mediante herramientas de detección de cavidades (como fpocket).

Correspondencia de conceptos

  • Función de puntuación empírica: La estructura que combina linealmente varias características interpretables para generar una única predicción comparte la misma filosofía de diseño que los modelos tradicionales de aprendizaje automático basados en regresión lineal e ingeniería de características.
  • Optimización mediante búsqueda local: La estrategia de repetir la optimización local desde múltiples puntos de inicio y seleccionar el mejor resultado pertenece a la familia de heurísticas, como la búsqueda local con múltiples puntos de inicio o el algoritmo basin hopping, que se utilizan para aproximar soluciones óptimas globales en problemas de optimización combinatoria.
  • Contraste entre representación y aprendizaje de puntuaciones: El módulo de regresión de afinidad aprendido de Boltz-2, que se describe en F07, y la función de puntuación física diseñada manualmente mediante una suma ponderada, que se presenta aquí, constituyen un buen ejemplo del contraste en el eje clásico entre la ingeniería de características y el aprendizaje de representaciones: ¿las características las diseñan los humanos o se aprenden a partir de los datos?

Errores comunes

  • Estimación imprecisa del centro del sitio de unión: Si el centro del sitio de unión es inexacto, la caja de búsqueda puede salirse de la cavidad real, lo que hace que el acoplamiento sea irrelevante. Si no se conoce un sitio de unión, primero se debe realizar la etapa de detección de cavidades.
  • Confiar en resultados con un valor de exhaustividad bajo: Reducir excesivamente el valor de exhaustividad para ahorrar tiempo de cálculo puede impedir que la optimización local converja adecuadamente, lo que podría dar como resultado posturas y puntuaciones completamente diferentes al volver a ejecutar el mismo ligando.
  • Comparar directamente la puntuación de acoplamiento con el valor experimental de KdK_d: Los valores absolutos de las funciones de puntuación empíricas a menudo no coinciden cuantitativamente con los valores experimentales entre diferentes series de compuestos. Es más seguro utilizarlas principalmente para comparar el orden relativo dentro de la misma diana y serie de compuestos similares.

Para profundizar

El texto ha sido reconstruido directamente por el equipo de investigación de BPD. Para obtener más información, consulte el artículo original y los recursos oficiales.

  • Artículo original de AutoDock Vina: Trott & Olson (2010), AutoDock Vina: Improving the speed and accuracy of docking, J. Comput. Chem. 31(2).
  • Documentación oficial de AutoDock Vina: vina.scripps.edu — Descripción de todos los términos y parámetros de la función de puntuación.
  • Artículo sobre la metodología Glide: Friesner et al. (2004), Glide: A New Approach for Rapid, Accurate Docking and Scoring, J. Med. Chem. 47(7).

En el siguiente capítulo, F10, se aborda la pregunta que surge después del acoplamiento: ¿cómo evoluciona el complejo unido con el tiempo? Esto se realiza mediante simulaciones de dinámica molecular (GROMACS·OpenMM).

💬 Preguntas y comentarios

0 comentarios

Puedes publicar sin iniciar sesión. Los comentarios de invitados no pueden editarse ni eliminarse después.

0/2000

Cargando...