AutoDock4 Pose Reproduction Tutorial

From Rizzo_Lab
Revision as of 10:58, 28 July 2020 by Stonybrook (talk | contribs) (Trouble Shooting)
Jump to: navigation, search

The purpose of this tutorial is to provide members of the Rizzo lab a way to benchmark the AutoDock4 software to compare the Pose Reproduction success rates against the DOCK6 software. (Note: The program version used for this experiment was AutoDock4.2.6 and DOCK6.9

I. Introduction

AutoDock4 is a commonly used docking program which assess the affinity of a ligand, a drug candidate to a target site (Protein, Enzyme, RNA). To evaluate a software's ability to accurately reproduce experimental results, an experiment called Pose Reproduction was developed

Pose Reproduction used an experimental known ligand and protein complex from the PDB database and attempts to dock this ligand back into it's original location. If the lowest energy ligand(most energetically favorable) is within 2.0 RMSDh of the original target site, this is referred to as a docking success. If any of the ligands, but not the lowest energy ligand is within 2.0 RMSDh of the original target site, this is referred to as a scoring failure. If none of the ligands are within 2.0 RMSDh of the original target site this is referred to as a sampling failure.

Pose Reproduction Intro.JPG

II.Prepping Directories

First step is prepare a file with a list of systems within it. For this docking experiment this file was called clean.systems.all

121P
181L
182L
183L 
184L
etc

Second step run the run.000.AutoDock.source.sh script to prepare a directory for each system in the file. The 1st arguement is the list of systems file made in the previous step. The 2nd Arguement is the new directory that will be made where all the AutoDock4 experiments will be performed

bash ./run.000.AutoDock.source.sh ../clean.systems.all AutoDock4_Tutorial

The directory where all the directories will be formed is

AutoDock4_Tutorial/

Each System will have it's own directory in this file

AutoDock4_Tutorial/121P/
AutoDock4_Tutorial/181L/
AutoDock4_Tutorial/182L/
etc

III.Preparing Receptors and Ligands

For this part of the experiment, the receptors and ligands were prepared into pdbqt format. To accomplish this part of the experiment the original mol2 files were used from the testset to convert these systems. The ligands will be assigned gasteiger charges and am1bcc charges will be assigned to the receptor, which produced the highest success rates in previous experiments and was performed in previous papers. Scripts were developed to process these systems from mol2 to pdbqt.

Command to convert these files

Step 1) Make sure you are in the correct directory

cd AutoDock4_Tutorial/

Step 2) Run the correct bash script to run these molecules

bash ./../run001.AutoDock4.system.prep.sh /gpfs/projects/rizzo/yuchzhou/RCR/DOCK_testset/clean.systems.all ../AutoDock4_Tutorial

This script will create a ligand and pdbqt receptor in each system directory

cd 121P/
ls
121P/121P.lig.am1bcc.pdbqt
121P/121P.rec.clean.pdbqt

Further Processing may be needed to prepare these systems, will explain later

This scripts used to accomplish this were prepare_ligand4.py and prepare_receptor4.py found in mgltools/1.5.6

IV.Preparing Grids

For this part of the experiment the grids will be generated for each ligand and receptor

Step 1) Enter the correct directory

cd AutoDock4_Tutorial

Step 2) Run the bash script that creates the grids, recommending submitting to the qsub

Important Note: This script uses the ligand location as the center of the grid position, since all ligands in these systems are already in the binding pocket


bash ./../run002.AutoDock4.grid.generation.sh /gpfs/projects/rizzo/yuchzhou/RCR/DOCK_testset/clean.systems.all ../AutoDock4_Tutorial > AutoDock4_grid_output

This will generate all of the grids by using the ligand and receptor previously generated, it's possible to edit the parameters in this script using the prepare_gpf4.py script by inputting new parameters such as the gridbox which is adjusted using the option npts='60,60,60' or the center of the box which uses the -y command to center the grid box around the ligand

Usage: prepare_gpf4.py -l pdbqt_file -r pdbqt_file
    -l ligand_filename
    -r receptor_filename
Optional parameters:
   [-i reference_gpf_filename]
   [-o output_gpf_filename]
   [-x flexres_filename]
   [-p parameter=newvalue. For example: -p ligand_types='HD,Br,A,C,OA' or p npts='60,60,66' or gridcenter='2.5,6.5,-7.5']
   [-d directory of ligands to use to set types]
   [-y boolean to center grids on center of ligand]
   [-n boolean to NOT size_box_to_include_ligand]
   [-I increment npts in all 3 dimensions by this integer]
   [-v]


Following this cd into the 121P system directory

cd AutoDock4_Tutorial/121P/

ls

This will always generate the grids, .fld, .xyz, a variety of .map files will be generated for each chemical type present within the systems, and a log file of the results a .glg file

121P.autogrid.glg
121P.lig.am1bcc.pdbqt
121P.rec.clean.A.map  
121P.rec.clean.e.map   
121P.rec.clean.maps.fld  
121P.rec.clean.N.map   
121P.rec.clean.P.map
121P.rec.clean.C.map  
121P.rec.clean.gpf     
121P.rec.clean.maps.xyz  
121P.rec.clean.OA.map
121P.rec.clean.d.map  
121P.rec.clean.HD.map  
121P.rec.clean.NA.map    
121P.rec.clean.pdbqt

The commands used for this script was prepare_gpf4.py found in mgltools/1.5.6 and autogrid4 found in autodock/4.2.6

V.Docking Ligands

The following step will perform the actual AutoDock4 docking for this experiment. For this part of the experiment, it's possible to reuse the previously generated ligands, receptors, and grids to perform multiple docking experiments. This eliminates any variables that later bias in case systems were converted differently and to save time to prevent the user from rerunning all these steps again.

To conduct this experiment

cd AutoDock4_Tutorial

Following this run the script run003.AutoDock4.docking.sh Arguement 1 is the list of systems Arguement 2 is the directory were all the system directories are located Arguement 3 is the docking directory created for each docking experiment

bash ../run003.AutoDock4.docking.sh /gpfs/projects/rizzo/yuchzhou/RCR/DOCK_testset/clean.systems.all ../AutoDock4_Tutorial Tutorial_Docking

Once, this completed all the systems should look the same. Perform the ls command to see all files

ls

The following systems should show

121P.autogrid.glg
121P.lig.am1bcc.pdbqt
121P.rec.clean.A.map  
121P.rec.clean.e.map   
121P.rec.clean.maps.fld  
121P.rec.clean.N.map   
121P.rec.clean.P.map
121P.rec.clean.C.map  
121P.rec.clean.gpf     
121P.rec.clean.maps.xyz  
121P.rec.clean.OA.map
121P.rec.clean.d.map  
121P.rec.clean.HD.map  
121P.rec.clean.NA.map    
121P.rec.clean.pdbqt
Tutorial_Docking/

Following this cd into the Tutorial_Docking/ and ls to view results

cd Tutorial_Docking/
ls

The following should be within the directory

121P.docking.dlg  
121P.docking.dpf 
121P.dock.parameter.dpf 
summary_of_results_1.0


Trouble Shooting

Some of these systems may present issues such as zero charge atom types or non-integral charge systems(ex. is a ligand with a charge of 2.48) This should only occur with ligands because the receptors are maintaining their am1bcc charges.

Non-integral Charge Issue will look like this, and occur during the docking step

autodock4: *** Caution!  Non-integral total charge (-2.498 e) on ligand may indicate a problem... ***

To trouble shoot, you'll need to perform DOCK the first time to see which systems are problematic


This troubleshoot increases the success rate of the Pose Reproduction by 3%


Following all this the grids were regenerated for all these systems. Once these ligands, receptors, and grids have been generated once. You'll be able to reuse these systems and not need to repeat all the previous steps again.


The following script was used to determine and isolate these problematic ligands. This adds the nonintegral charge systems and systems with zero charge atoms into one directory.

Arguement 1 is the list of systems

Arguement 2 is the docking directory

 python ../Problematic_files_transfer.py /gpfs/projects/rizzo/yuchzhou/RCR/DOCK_testset/clean.systems.all Tutorial_Docking

This creates a directory of Problematic_ligands/ and the directory Broken/ was created within this to store these problematic ligands

cd AutoDock4_Tutorial/Problematic_ligands/Broken
ls

This shows the list of all the problematically charged ligands

121P.lig.am1bcc.mol2
181L.lig.am1bcc.mol2
184L.lig.am1bcc.mol2
etc

Once these ligands are identified into their own directory open them all up in chimera

File->open->All_Ligands

Problematic Ligands.png

Then add gasteiger charges to all the systems

Tools->Structure Editing->Add Charges

Charges to Ligand.PNG

Then press ok under these settings

Following this, save all of these fixed ligand into one directory. This directory was put into the Fixed directory

cd Fixed/

The inside of the directory will have a list of all the ligands within the directory that are all fixed

ls

This should show, all the fixed ligands. Directory can be named anything but ligands needs to have this file name format to work

121P.lig.am1bcc.mol2
181L.lig.am1bcc.mol2
182L.lig.am1bcc.mol2
183L.lig.am1bcc.mol2
etc