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 rst7
El 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.dat
amino12.lib
atomic_ions.lib
solvents.lib
frcmod.ionsjc_tip3p
frcmod.ions234lm_126_tip3p
Estos 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.pdb
Esto 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.
mol2
Esto 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 bcc
indica 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-rn
indica renombrar el nombre de la molécula aLIG
. Finalmente,-s 2
define 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.ff14SB
Esto 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.gaff
LIG = loadmol2 LIG_def.mol2
loadamberparams LIG_def.frcmod
saveoff LIG LIG_def.lib
quit
Lo 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):
tleap
Dentro 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