High-Performance Computing at the NIH
GitHub YouTube @nih_hpc RSS Feed
Autodock & AutodockVina on Biowulf & Helix

AutoDock is a suite of automated docking tools. It is designed to predict how small molecules, such as substrates or drug candidates, bind to a receptor of known 3D structure.

AutoDock Vina does not require choosing atom types and pre-calculating grid maps for them. Instead, it calculates the grids internally, for the atom types that are needed, and it does this virtually instantly.

Notes:

On Helix

Autodock is best run on Biowulf, as it can be compute-intensive. Autodock Vina can be run on Helix, but it is easy to overload memory or CPU on Helix, so we recommend using an interactive node on Biowulf.

Batch job on Biowulf

Set up a job script along the following lines:

#!/bin/bash
#
#this file is Myjob.sh
#
#

cd /data/$USER/mydir
autodock4 -p myfile.dpf -l myfile.dlg 

Submit this job:

sbatch  [--mem=#g] Myjob.sh
The --mem=#g flag should be used if the autodock run requires more than the default 4 GB of memory.

Sample Autodock Vina job: this job copies the sample input files from /usr/local/apps/Autodock/vina_tutorial, and runs vina on multiple processors. You can follow the Autodock Vina tutorial for this example at http://vina.scripps.edu/tutorial.html.

#!/bin/bash

cd /data/$USER/AutodockVina

module load AutodockVina

cp -r /usr/local/apps/Autodock/vina_tutorial/* .

vina --config conf.txt --cpu $SLURM_CPUS_PER_TASK

Submit with, for example:

sbatch --cpus-per-task=4  vina.bat
Autodock Vina can multi-thread, and so this batch job is set up to utilize as many CPUs as you allocate with cpus-per-task.

Swarm of jobs on Biowulf

Set up a swarm command file with a single line for each Autodock command. e.g.

--------file myswarm.cmd---------------
autodock4 -p /data/user/mydir/lig1.macro.dpf -l /data/user/mydir/llig1.log
autodock4 -p /data/user/mydir/llig2.macro.dpf -l /data/user/mydir/llig2.log
autodock4 -p /data/user/mydir/llig3.macro.dpf -l /data/user/mydir/llig3.log
autodock4 -p /data/user/mydir/llig4.macro.dpf -l /data/user/mydir/llig4.log
[...]

If each autodock command requires less than 1 GB of RAM, submit this swarm of jobs with a command like:

swarm -f myswarm.cmd
If each autodock command requires more than 1 GB of RAM, submit with
swarm -g # -f myswarm.cmd
where '#' is the number of Gigabytes required by each autodock command.

It may be more convenient to separate the files for each autodock run into individual directories. In this case, the swarm command file could be set up as follows:

--------file myswarm.cmd---------------
cd /data/user/mydir1; autodock4 -p lig1.macro.dpf -l llig1.log
cd /data/user/mydir2; autodock4 -p lig2.macro.dpf -l llig2.log
cd /data/user/mydir3; autodock4 -p lig3.macro.dpf -l llig3.log
Interactive job on Biowulf

Make an Xwindows connection to Biowulf. Then allocate an interactive node and run Autodock or Autodock Vina there. Sample session:

[susanc@biowulf ~]$ sinteractive --cpus-per-task=8
salloc.exe: Granted job allocation 17408
slurm stepprolog here!
Begin slurm taskprolog!
End slurm taskprolog!

[susanc@p1005 ~]$ module load AutodockVina

[susanc@p1005 ~]$ module list

Currently Loaded Modules:
  1) AutodockVina/1.1.2

[susanc@p1005 ~]$ vina --config conf.txt --cpus $SLURM_CPUS_PER_TASK

#################################################################
# If you used AutoDock Vina in your work, please cite:          #
#                                                               #
# O. Trott, A. J. Olson,                                        #
# AutoDock Vina: improving the speed and accuracy of docking    #
# with a new scoring function, efficient optimization and       #
# multithreading, Journal of Computational Chemistry 31 (2010)  #
# 455-461                                                       #
#                                                               #
# DOI 10.1002/jcc.21334                                         #
#                                                               #
# Please see http://vina.scripps.edu for more information.      #
#################################################################

Output will be ligand_out.pdbqt
Reading input ... done.
Setting up the scoring function ... done.
Analyzing the binding site ... done.
Using random seed: 653328095
Performing search ...
0%   10   20   30   40   50   60   70   80   90   100%
|----|----|----|----|----|----|----|----|----|----|
***************************************************
done.
Refining results ... done.

mode |   affinity | dist from best mode
     | (kcal/mol) | rmsd l.b.| rmsd u.b.
-----+------------+----------+----------
   1        -12.3      0.000      0.000
   2        -10.1      5.153      9.937
   3         -9.6      5.800      9.437
   4         -9.5      5.027     10.364
Writing output ... done.

[susanc@p1005 AutodockVina]$ exit
slurm stepepilog here!
salloc.exe: Relinquishing job allocation 17409
salloc.exe: Job allocation 17409 has been revoked.
Documentation

Autodock website.
Autodock Vina website
Autodock Vina manual
Autodock User Guide
Autodock Tutorials