"Estudio in silico de la proteína E6 del Virus del Papiloma Humano para el descubrimiento de fármacos antivirales"

Joel Ricci López © 2017
Queda prohibida la reproducción parcial o total de esta obra sin el permiso formal y explícito del autor y directores de la tesis.

OBJETIVO 5

En esta sección se presenta una breve descripción del método llevado a cabo y los scripts utilizados para la dinámica y evaluación de los complejos E6+ligando y E6+ligando+héliceE6AP.

Evaluación de los acoplamientos E6-lig

Los acoplamientos E6+lig obtenidos con Autdock 4 y Autodock Vina en el Objetivo 4 fueron analizados y preparados previo a la SDM del complejo. Los siguientes dos scripts se utilizaron para obtener la mejor conformación de acoplamiento de cada ligando a partir de los archivos .pdbqt o .dlg. La asignación de hidrógenos no polares a la molécula se realizó con la herramienta Open Babel, y los archivos de salida son en formato .pdb.

 
# PARA ACOPLAMIENTOS OBTENIDOS CON AUTODOCK 4
#!/bin/csh
mkdir pdb_babel
foreach lig_dlg (`ls *.dlg`)
    set name = `basename $lig_dlg .dlg`
    # Extracción de la mejor conformación
    pythonsh write_lowest_energy_ligand.py -f $lig_dlg -v -o $name.pdbqt
    # Agrego los hidrógenos
    babel -ipdbqt $name.pdbqt -opdb pdb_babel/"$name".pdb -f 1 -l 1 -h -p 7
    #rm *pdbqt
end
				

 
# PARA ACOPLAMIENTOS OBTENIDOS CON AUTODOCK VINA
#!/bin/csh
#cre aun pdb de la mejor conformacion de un pdbqt de salida de vina||
mkdir pdb_babel
foreach lig (`ls *.pdbqt`)
    set name = `basename $lig .pdbqt`
    babel -ipdbqt "$lig" -opdb pdb_babel/"$name".pdb -f 1 -l 1 -h -p 7
end


Para conocer los enlaces de hidrógeno formados en el complejo E6+lig se utilizaron los siguientes dos scripts. El primero evalúa para cada molécula en formato .pdb en el directorio de trabajo, el número de enlaces de Hidrógeno y los residuos que participan en el acoplamiento E6+lig. Para ello utiliza script_find_Hbons.py. Los resultados de la ejecución son después analizados en R.

 
#!/bin/csh

# Ruta del ejecutable chimera de  UCSF Chimera
set chimera = "ruta/ejecutable/chimera"

mkdir h_bonds
foreach lig (`ls *.pdb`)
	# El pdb de la proteína PROT.pdb en el directorio ./PROT
    set protein = "./PROT/e16.pdb"
    set lig_name = `basename $lig .pdb`
# Evalúa los enlaces de hidrógeno con chimera
    $chim --nogui --silent --script "./script_find_Hbons.py $lig_name.pdb $protein"
# Extraer el nombre del compuesto y el número de enlaces
    set n_hb = `grep "#1:" "$lig_name"_Hb.txt | wc -l`
    echo $lig_name $n_hb
    echo $lig_name $n_hb >> HB_ligans_result.txt
# Imprime el residuo de la proteína que forma el enlace, para cada enlace del ligando...
# Y lo guarda para posteriormente identificar los residuos y su frecuencia entre ligandos
    echo $lig_name `grep -o '#1:[0-9]*' "$lig_name"_Hb.txt | awk -F ' ' '_[$0]++'` >> HB_by_resid_freq.txt
    mv "$lig_name"_Hb.txt h_bonds
				

script_find_Hbons.py, su implementación requiere la instalación de UCSF Chimera (ver referencia).


 
# Script script_find_Hbons.py
from chimera import runCommand as rc
import OpenSave, sys

# Abre las moléculas en chimera
rc("open %s" % str(sys.argv[1])) #Ligando
rc("open %s" % str(sys.argv[2])) #Proteina
# Utiliza la función findhbond para intermodelos
rc("findhbond intramodel false intraMol" +
		"false intermodel true saveFile %s" % 
		( str(sys.argv[1]).split(".")[0] + "_Hb.txt" ) )

				

También fue necesario saber la carga de cada molécula a pH 7. Para ello se utilizó el siguiente script cuya información de salida es utilizada para la preparación del sistema E6+lig solvatado previo a la SDM.


 
# Una vez más se utiliza el módulo chimera
from chimera import openModels, Molecule 
from AddCharge import estimateNetCharge
from OpenSave import osOpen

# Igarda un archivo con los residuos que participan en el enlace
output_names = osOpen("./carga_estimada_por_residuo.txt", "w")
# guarda únicamente el valor de la carga
output_charge = osOpen("./carga.txt", "w")
for m in openModels.list(modelTypes=[Molecule]):
	print>>output_names, m, m.name, estimateNetCharge(m.atoms)
        print>>output_charge, estimateNetCharge(m.atoms)        
        print m.name, estimateNetCharge(m.atoms)
output_charge.close()
output_names.close()
				


Parámetros de campo de Fuerza para los ligandos

Para obtener los parámetros de campo de fuerza necesarios para la SDM de la moĺécula ligando se utilizó la herramienta Antechamber y el campo de fuerza Amber GAFF. Para ello se utilizó el siguiente script que a partir de un ligando NOMBRE_ARCHIVO_LIGANDO.pdb y el valor de su carga neta (calculada en el paso anterior), genera un archivo de parámetros LIG.frcmod, una librería LIG.LIB con los tipos de átomos y un archivo LIG.mol2 con las coordenadas (LEaP).


 
#!/bin/sh
# Script proporcionado por el M. C. Matias Zúñiga de la UNAB, Chile
# PARAMETRIZACION DE LIGANDO
LIG=NOMBRE_ARCHIVO_LIGANDO.pdb
CHAR=CARGA_DEL_LIGANDO
#CALCULO DE CARGAS CON METODO AM1
antechamber -i $LIG -fi pdb -o LIG.mol2 -fo mol2 -c bcc -s 2 -rn LIG -nc $CHAR
#BUSQUEDA DE PARAMETROS FALTANTES
parmchk -i LIG.mol2 -f mol2 -o LIG.frcmod
#CREACION DE LIBRERIA LIG.LIB
tleap -f leap_prep1.in # Mostrado en el apartado siguiente
#CREACION DE ARCHIVO DE PARAMETROS CON LA PROTEINA
tleap -f leap_prep2.in # Equivalente al mostrado en el objetivo 2 para 
# la preparación y solvatación del sistema
				
 
#!/bin/sh
# leap_prep1.in; para la creación de la librería LIG.LIB
source leaprc.gaff # Campo de fuerza GAFF
loadamberparams LIG.frcmod # PArámetos de campo de fuerza para LIG
LIG = loadmol2 LIG.mol2 # Coordenadas de LIG
saveoff LIG LIG.lib 
quit
				


Dinámica Molecular y evaluación de la Energía Libre de Interacción

La dinámica molecular se realizó siguiendo los pasos mencionados en el Objetivo 2. Posteriormente se realizó la evaluación de la energía libre de interacción utilizando los métodos MM/GBSA y MM/PBSA con la herramienta MMPBSA.py.MPI de AMBER16. A continuación se muestra el script utilizado y la ejecución del mismo. Todos los análisis se realizaron en GPUs del cluster de supercómputo aikanaro de la Universidad Andrés Bello, Chile con el apoyo de la Dra. Verónica Jiménez, el Dr. Joel Alderete y el M. C. Matías Zúñiga.


 
! Archivo mmGPSA.in de entrada para el cálculo de PB y GB
&general
  startframe=0,		 ! Frame inicial de la trayectoria
  endframe=2500,	 ! Frame final de la trayectoria
  keep_files=0,		 ! No guarda los archivos temp generados
  strip_mask=":WAT:Cl-", ! Remueve el solvente
  ligand_mask=":LIG",	 ! Selección de los átomos del ligando
  receptor_mask=":1-160" ! Selección de los átomos del receptor
/
! Energía de Solvatación con el Método Generalizado de Borh
&gb
  igb=2, 
  saltcon=0.150,
/
! Energía de Solvatación con el Método el método Poisson–Boltzmann
&pb
  radiopt=0, ! usa el radio atómico incluido en el archivo .prmtop
  istrng=0.150, ! fuerza iónica del solvente implícito
/
				

Previo a la ejecución del archivo anterior (mmGPSA.in) necesario utilizar la herramienta ante-MMPBSA.py para obtener los archivos con los parámetros de campo de fuerza de la molécula receptor y la molécula ligando desolvatados, así como del complejo (archivos .prmtop). Para ello se realiza lo siguiente:

 
> PROT=NOMBRE_PROTEINA
> ante-MMPBSA.py -p $PROT.prmtop -s ":WAT:Cl-" -c complejo.prmtop --radii=mbondi2
> ante-MMPBSA.py -p complejo.prmtop -n ":161-174" -r receptor.prmtop -l ligando.prmtop --radii=mbondi2
				

 
> nohup mpirun -np $NUM_GPUs MMPBSA.py.MPI -O -sp $PROT.prmtop -cp complex.prmtop -rp receptor_e6lig.prmtop 
  -lp ligand_hx.prmtop -y ../../03_prod/e16_hx_lig_prod.nc -i mmgbsa.in -o MMGBSA_hx.dat -eo GBSA_byFrame.cvs &
				
Top