Para llevar a cabo la dinámica molecular es necesario preparar el sistema a simular. El sistema estará representado por los siguientes dos archivos:
.rst7 que contiene:
.prmtop:
Los archivos .rst7 y .prmtop se construyen
a partir de la información contenida en los archivos de entrada.
| Estructura (Input) | Parámetros (Input) | Output Files | ||||
|---|---|---|---|---|---|---|
| Archivo | .pdb | .mol2 |
.lib .mol2 |
.dat .frcmod |
.prmtop .parm7 |
.inpcrd .rst7 |
| Moléculas | ✅ | ✅ | ✅ | — | ✅ | — |
| Nombre Átomos | ✅ | ✅ | ✅ | — | ✅ | — |
| Tipo de Átomos | — | ✅ | ✅ | ✅ | ✅ | — |
| Cargas | — | ✅ | ✅ | — | ✅ | — |
| Conexiones | — | ✅ | ✅ | — | ✅ | — |
| Coordenadas | ✅ | ✅ | ✅ | — | — | ✅ |
| Masa | — | — | — | ✅ | ✅ | — |
| Parm. Enlazantes | — | — | — | ✅ | ✅ | — |
| Parm. No enlazantes | — | — | — | ✅ | ✅ | — |
.prmtop y
coordenadas rst7El programa LEaP permite utilizar la información de
los archivos de entrada: estructura y
parámetros de campo de fuerza, para generar los
archivos .rst7 y .prmtop.
El objetivo de la preparación de los archivos es contar con la información necesaria respecto a las moléculas del sistema para calcular su energía potencial (\(V\)) de acuerdo con el campo de fuerza de amber durante la simulación de la dinámica molecular:
\[ \begin{aligned} V(r^{N}) & =\sum _{i\in {\text{bonds}}}{\color{red}k_{b}}_{i}(l_{i}-\color{red}l_{i}^{0})^{2} \\ & +\sum _{i\in {\text{angles}}}{\color{red}k_{a}}_{i}(\theta _{i}-\color{red}\theta _{i}^{0})^{2} \\ & +\sum _{i\in {\text{torsions}}}\sum _{n}{\frac {1}{2}}\color{red}V_{i,n}[1+\cos(\color{red}n\omega _{i}-\color{red}\gamma _{i})] \\ & +\sum _{j=1}^{N-1}\sum _{i=j+1}^{N}{\biggl \{}\color{red}\epsilon _{ij}{\biggl [}\left({\frac {\color{red}r_{ij}^{0}}{r_{ij}}} \right)^{12}-2\left({\frac {\color{red}r_{ij}^{0}}{r_{ij}}}\right)^{6}{\biggr ]}+{\frac {q_{i}q_{j}}{4\pi \epsilon _{0}r_{ij}}}{\biggr \}} \end{aligned} \]
Las constantes de fuerza (\(k_{a,b}, V_n,
\epsilon\)), constantes de equilibrio (\(\theta^0, l^0, \gamma, r^0\)), y las cargas
parciales (\(q\)), así como la masa de
cada tipo de átomo son recuperadas de las librerías de campo de fuerza
de AMBER y almacenadas en el archivo .prmtop.
parm10.datamino12.libatomic_ions.libsolvents.libfrcmod.ionsjc_tip3pfrcmod.ions234lm_126_tip3pEstos archivos se encuentran el siguiente directorio de la máquina virtual:
/home/ssb/miniconda3/envs/amber/dat/leap/mkdir wd_md📂 wd_md
│ 🗒 prot_unprep.pdb
│ 🗒 lig_unprep.pdb
amber activado y localizarse en la
carpeta de trabajo (wd_md).# Para la versión más reciente
pdb2pqr30 --ff='AMBER' --ffout='AMBER' \
--with-ph=7.0 --drop-water --keep-chain \
--pdb-output prot.pdb \
prot_unprep.pdb pqr_file.pqr# Para versiones anteriores
pdb2pqr --ff=amber --with-ph=7.0 --ffout=amber \
--ph-calc-method=propka \
--chain prot_unprep.pdb prot.pdbEsto creará un nuevo archivo prot.pdb con la nomenclatura correcta en Amber y con los estados de protonación a pH 7 de los residuos ionizables.
mol2Esto creará un nuevo archivo lig.mol2 con la molécula protonizada a un pH de 7.0.
📂 wd_md
│ 📜 prot_unprep.pdb
│ 📜 lig_unprep.pdb
| 📜 prot.pdb.propka
│ 🗒 prot.pdb
│ 🗒 lig.mol2
Un tutorial más a detalle se puede consultar aquí.
amber
activado y estando en el directorio de trabajo (wd_md),
ejecutar:Esto permite usar la herramienta Antechamber para generar los archivos de topología del ligando, necesarios para la dinámica. El proceso suele tardar un poco. Una vez finalizado, se crearán varios archivos, pero de todos ellos sólo nos interesa el archivo LIG_def.mol2, que define a la molécula como un residuo y define los tipos de átomos, la nomenclatura correspondiente y las cargas parciales adecuadas para cada átomo.
El parámetro
-c bccindica a antechamber usar el modelo de cargas AM1-BCC (semi-empirical (AM1) with bond charge correction (BCC)) para calcular las cargas parciales de la molécula. La opción-rnindica renombrar el nombre de la molécula aLIG. Finalmente,-s 2define una opción de verbose que nos permite recibir información en la terminal del proceso de ejecución.
📂 wd_md
│ 📜 ANTECHAMBER_*
│ 📜 ATOMTYPE.INF
│ 📜 sqm.*
│ 📜 ...
│ 🗒 prot.pdb
│ 🗒 LIG_def.mol2
Esto crea un archivo LIG_def.frcmod donde reporta los tipos de enlaces en la molécula que no están directamente en el campo de fuerza, pero que pueden ser representados por otros que ya se encuentran en el campo de fuerza GAFF (General AMBER Force Field). Si abres el archivo LIG_def.frcmod podrás ver ahí qué enlaces son los que requieren dicha reasignación.
📂 wd_md
│ 📜 ANTECHAMBER_*
│ 📜 ATOMTYPE.INF
│ 📜 sqm.*
│ 📜 ...
│ 🗒 prot.pdb
│ 🗒 LIG_def.mol2
│ 🗒 LIG_def.frcmod
Los siguientes pasos son para crear una librería de parámetros del ligando que permitan construir el sistema.
tleap -f oldff/leaprc.ff14SBEsto abrirá la consola de LEaP precargando el campo de fuerza ff14SB (más sobre los campos de fuerza de AMBER: AmberModels)
tleap, ejecutar uno a uno los
siguientes comandos:source leaprc.gaffLIG = loadmol2 LIG_def.mol2loadamberparams LIG_def.frcmodsaveoff LIG LIG_def.libquitLo anterior creará la librería LIG_def.lib
Revisa el archivo.
📂 wd_md
│ 📜 ANTECHAMBER_*
│ 📜 ATOMTYPE.INF
│ 📜 sqm.*
│ 📜 ...
│ 🗒 prot.pdb
│ 🗒 LIG_def.mol2
│ 🗒 LIG_def.frcmod
│ 🗒 LIG_def.lib
Entra nuevamente a tleap desde la terminal, esta vez
tecleando unicamente (o hay que precargar ningún campo de fuerza esta
vez):
tleapDentro de tleap, ejecutar uno a uno los siguientes comandos:
pdb y mol2 de la proteína y ligando,
respectivamente, y se combinan en un sólo objeto:TIP3P.> Si se quiere solvatar en caja de agua sustituir `solvateOct` por `solvatebox`.
> El número `12` indica la distancia en A del *padding* de la caja de agua.
> Dado que en este caso el sistema tiene carga positiva, lo que hacemos en neutralizar con iones `Cl-`. El `0` indica que se añadan tantos iones como sean necesarios para alcanzar una carga total igual a 0 (neutra).
prmtop) y de coordenadas
(rst7):📂 wd_md
│ 📜 ...
│ 🗒 prot_LIG.prmtop
│ 🗒 prot_LIG.rst7