This repository contains molecular docking database files and scripting tools for use in virtual screening campaigns conducted with AutoDock Vina.
This project supplements research performed as part of the Research Scholars program at EACPHS, a concentration offered through the Doctor of Pharmacy program.
-
Install AutoDock Vina according to the directions on the developer's website. For Arch Linux users, an unofficial package is also available in the AUR.
-
Install MGLTools.
-
Install Open Babel.
-
Obtain a 3D protein structure in
.PDBQT
format from a database such as RCSB PDB. This format may not be available for direct download; if this is the case, use Open Babel to convert from an available format. An uncomplexed structure of the protein N5-CAIR mutase (modified from PBD ID: 2ATE) is included in thetargets
directory as an example. -
Place the prepared file in the
targets
directory and create a configuration file in theconfig
directory which specifies this file as the receptor for docking. See2ate.conf
for an example. Launch AutoDockTools using$MGL_ROOT/bin/adt
and use the graphical interface to determine docking box coordinates for your target. Several guides and video walkthroughs of this process are available online. -
Obtain 3D ligand structure files in
.PDBQT
format for screening from a database such as ZINC. Place these in theligands
directory. NitroAIR (CID: 135398647), a ligand which forms a known complex with N5-CAIR mutase, is included in theligands
directory as an example. Two shell scripts,zinc15_download.sh
andmirror_download.sh
are included to automate downloading catalogs from zinc15.docking.org and files.docking.org respectively. -
Run
arrange_ligands.sh ##
to split ligand files into a specified number of subdirectories optimized for parallel processing (for example,arrange_ligands.sh 100
will organize ligands into 100 subdirectories). -
Run
convert_ligands.sh
to automatically convert downloaded ligands into .PDBQT format and prepare files for docking. AutoDock Vina and Open Babel must be installed prior to running this script. -
Modify
run_local.sh
(orrun_parallel.sh
if using a Slurm-based HPC cluster) to reference the correct configuration file for your target receptor protein. Execute the script. Be aware that screening a large number of compounds will take a long time. When run locally, a log file containing binding energies for each complex will be generated inlog
. When run on an HPC cluster, Slurm will generate log files automatically. -
Execute
vina_screen_get_info.py
. This will print the filename, ZINC ID, and binding energy of every docked structure in theresults
directory. This information can be redirected to a text file if desired; for example, a text fileresults_info.txt
can be generated using the commandvina_screen_get_info.py > results_info.txt
.Note: This is a Python 2 script. It will not work if run using Python 3.
-
For additional analysis including ranking and filtering by binding site, use Raccoon2. Launch Raccoon2 using
$MGL_ROOT/bin/cadd
. From the Analysis tab, selectProcess directory (Vina)
underDocking results
. Select theresult
directory in the first window, then the desired target receptor from thetargets
directory in the second window. The results from Vina will be processed and an analysis log file will be generated.