Biowulf High Performance Computing at the NIH
rDock on Biowulf

rDock is a fast and versatile Open Source docking program that can be used to dock small molecules against proteins and nucleic acids. It is designed for High Throughput Virtual Screening (HTVS) campaigns and Binding Mode prediction studies.

Documentation
Important Notes

Interactive job
Interactive jobs should be used for debugging, graphics, or applications that cannot be run as batch jobs.

Allocate an interactive session and run the program. The following sample session copies the test data to the user directory and runs the rDock test suite.

[user@biowulf]$ sinteractive
salloc.exe: Pending job allocation 46116226
salloc.exe: job 46116226 queued and waiting for resources
salloc.exe: job 46116226 has been allocated resources
salloc.exe: Granted job allocation 46116226
salloc.exe: Waiting for resource configuration
salloc.exe: Nodes cn3144 are ready for job

[user@cn3144 ~]$ module load rDock

[user@cn3144 ~]$ rbdock --help
Running "singularity exec /usr/local/apps/rDock/2013.1/rDock-2013.1.img  /rDock_2013.1_src/bin/rbdock --help"
[...]

Usage: rbdock -r -p -i -o [options]
  -i, -input=STRING        input file
  -o, -output=STRING       output file
  -r, -receptor=STRING     receptor file
  -p, -protocol=STRING     protocol file
  -n, -runs=INT            number of runs
  -T, -trace=INT           trace level for debugging
  -s, -seed=INT            random seed
  -P, -ap                  protonate groups
  -D, -an                  DEprotonate groups
  -H, -allH                read all Hs
  -t, -target=STRING       target score
  -C, -cont                continue even if target met

Help options:
  -?, --help               Show this help message
      --usage              Display brief usage message

[user@cn3144 ~]$ mkdir -p /data/$USER/rDock; cd /data/$USER/rDock

[user@cn3144 ~]$ cp /usr/local/apps/rDock/test_data/* .

[user@cn3144 ~]$ rbcavity -r1YET_test.prm -was
Running "singularity exec /usr/local/apps/rDock/2013.1/rDock-2013.1.img  /rDock_2013.1_src/bin/rbcavity -r1koc.prm -was"
WARNING: Bind file source does not exist on host: /etc/resolv.conf
**********************************************
The rDock program is licensed under GNU-LGPLv3.0. http://rdock.sourceforge.net/
Executable:	rbcavity ($Id: //depot/dev/client3/rdock/2013.1/src/exe/rbcavity.cxx#3 $)
Library:	libRbt.so/2013.1/901 2013/11/27
RBT_ROOT:	/rDock_2013.1_src
RBT_HOME:	/home/susanc
Current dir:	/spin1/users/susanc/rDock
Date:		Mon Feb  5 16:23:34 2018
***********************************************

Command line arguments:
-r 1YET_test.prm
-was
[...]


[user@cn3144 ~]$ rbdock -r1YET_test.prm -i 1YET_c.sd -p dock.prm -n 1 -s 48151623 -o 1YET_test_out
Running "singularity exec /usr/local/apps/rDock/2013.1/rDock-2013.1.img  /rDock_2013.1_src/bin/rbdock -r1YET_test.prm -i 1YET_c.sd -p dock.prm -n 1 -s 48151623 -o 1YET_test_out"
WARNING: Bind file source does not exist on host: /etc/resolv.conf
***********************************************
The rDock program is licensed under GNU-LGPLv3.0. http://rdock.sourceforge.net/
Executable:	rbdock ($Id: //depot/dev/client3/rdock/2013.1/src/exe/rbdock.cxx#4 $)
Library:	libRbt.so/2013.1/901 2013/11/27
RBT_ROOT:	/rDock_2013.1_src
RBT_HOME:	/home/susanc
Current dir:	/spin1/users/susanc/rDock
Date:		Mon Feb  5 16:23:52 2018
***********************************************


Command line args:
 -i 1YET_c.sd
 -r 1YET_test.prm
 -p dock.prm
 -o 1YET_test_out
 -n 1
 -s 48151623
Reading polar hydrogens only from ligand SD file
[...]

[user@cn3144 ~]$ python check_test.py 1YET_reference_out.sd 1YET_test_out.sd
The test succeeded! The results agree with the reference ones.
Have fun using rDock!!

[user@cn3144 ~]$ exit
salloc.exe: Relinquishing job allocation 46116226
[user@biowulf ~]$

To run the full test suite, run the script "run_test" in the test data directory.

Batch job
Most jobs should be run as batch jobs.

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

#!/bin/bash
set -e
module load rDock

mkdir -p /data/$USER/rDock
cp -r /usr/local/apps/rDock/test_data /data/$USER/rDock
cd /data/$USER/rDock/test_data
rbcavity -r1YET_test.prm -was
rbdock -r1YET_test.prm -i 1YET_c.sd -p dock.prm -n 1 -s 48151623 -o 1YET_test_out
python check_test.py 1YET_reference_out.sd 1YET_test_out.sd

Submit this job using the Slurm sbatch command.

sbatch [--mem=#g] rDock.sh
Swarm of Jobs
A swarm of jobs is an easy way to submit a set of independent commands requiring identical resources.

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


rbdock -rfile1.prm -i file1_c.sd -p dock.prm -n 1 -s 48151623 -o file1.out
rbdock -rfile2.prm -i file2_c.sd -p dock.prm -n 1 -s 48151623 -o file2.out
rbdock -rfile3.prm -i file3_c.sd -p dock.prm -n 1 -s 48151623 -o file3.out
[...]

Submit this job using the swarm command.

swarm -f rDock.swarm [-g #] --module rDock
where
-g # Number of Gigabytes of memory required for each process (1 line in the swarm command file)
--module rDock Loads the rDock module for each subjob in the swarm