Autodock & Autodock-GPU on Biowulf

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 is still available on Biowulf, but we enocourage users to try the newer version, Autodock-GPU

Autodock is apart of the Autodock Suite, along with: AutodockCrankPrep and Autodock Vina

Documentation
Important Notes
Autodock - GPU

Autodock-GPU processes ligand-receptor poses in parallel over multiple compute units on GPUs. [Autodock-GPU website]

Test script:

#!/bin/bash

module load Autodock-GPU
cd /data/$USER
mkdir autodock-gpu
cd autodock-gpu
git clone https://github.com/L30nardoSV/reproduce-parcosi-moleculardocking.git
cd reproduce-parcosi-moleculardocking
git clone https://gitlab.com/L30nardoSV/ad-gpu_miniset_20.git

# note: this test job requires the executables to be available in the same dir
ln -s ${AUTODOCK_BIN}/* .

./prepare_inputs.sh 
./evaluate_numwi.sh <<EOF
Y
Y
1
k80
EOF
Select a GPU type (e.g. k80, p100, v100) and submit with:
sbatch --partition=gpu --gres=gpu:k80:1  test.sh
Autodock
We encourage users to use HPC OnDemand for launching graphical sessions

Launch a graphical session to use ADT and PMV:

[user@cn3144 ~]$ module load Autodock
[+] Loading Autodock 4.2.6  ...
[user@cn3144 ~]$ adt
setting PYTHONHOME environment
Run ADT from  /usr/local/apps/Autodock/mgltools_x86_64Linux2_1.5.7/MGLToolsPckgs/AutoDockTools
MSMSLIB 1.4.4 started on cn2063
Copyright M.F. Sanner (March 2000)
Compilation flags

At this point you should see two Autodock windows appear.

Follow the same process for PMV:

[user@cn3144 ~]$ module load Autodock
[+] Loading Autodock 4.2.6  ...
[user@cn3144 ~]$ pmv
setting PYTHONHOME environment
Run PMV from  /usr/local/apps/Autodock/mgltools_x86_64Linux2_1.5.7/MGLToolsPckgs/Pmv
MSMSLIB 1.4.4 started on cn2063
Copyright M.F. Sanner (March 2000)
Compilation flags

At this point you should the Python Molecule Viewer window appear.

Batch job

Create a batch input file (e.g. autodock.sh). For example:

#!/bin/bash
module load Autodock
autodock4 -p myfile.dpf -l myfile.dlg 

Submit this job using the Slurm sbatch command.

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

Swarm of Jobs

Create a swarmfile (e.g. myfile.swarm). For example:

cd /data/$USER/mydir;  autodock4 -p lig1.macro.def -l lig1.log
cd /data/$USER/mydir;  autodock4 -p lig2.macro.def -l lig2.log
cd /data/$USER/mydir;  autodock4 -p lig3.macro.def -l lig3.log
cd /data/$USER/mydir;  autodock4 -p lig4.macro.def -l lig4.log
[...]

Submit this job using the swarm command.

swarm -f myfile.swarm [-g #] --module Autodock
where
-g # Number of Gigabytes of memory required for each process (1 line in the swarm command file)
-t # Number of threads/CPUs required for each process (1 line in the swarm command file). (not useful for Autodock which is single-threaded, but can be used for a swarm of Vina jobs)
--module AutodockLoads the Autodock module for each subjob in the swarm