(http://openmp.org) and it works on shared memory architec-
tures. In order to use it with chemical libraries containing large
numbers of ligands, we prefer to launch Vina on a computer cluster
in a typical distributed memory environment, running single-core
copies of Vina, each working on a different ligand. This is accom-
plished by launching an array job, available in many queuing sys-
tems, such as SGE (https://arc.liv.ac.uk/trac/SGE) or PBS
Professional (http://www.pbsworks.com). Ask your system man-
ager for a generic script for your machine. Here is an example of a
script that submits an array job to a cluster with the SGE queue
system:
#!/bin/sh
Submit an AutoDock array job, with each Vina running on 1 CPU
and working on a different ligand, taken from a list of
files.
echo -n "Enter name of directory with input file(s): "
read indir
echo -n "Enter name of directory for output file(s): "
read outdir
echo -n "Number of concurrent jobs to run [no limit]: "
read nconc
echo -n "Job’s queue identifier: "
read jid
Nmax=9999
check nconc
if [ 0$nconc -eq "0" ]
then
nconc=‘echo $Nmax‘
fi
create a list of ligands
ls -1 ${indir}/*.pdbqt>filelist
nlig=‘cat filelist | wc -l‘
create input file for qsub, in the current directory
cat<
#!/bin/sh
#$ -o out -j y
#$ -cwd
LIGAND=\‘awk "NR==\$SGE_TASK_ID" filelist\‘
lnam=\‘echo \$LIGAND | rev | cut -f1 -d"/" | cut -f2- -d"." |
rev\‘
Molecular Dynamics in Virtual Screening 163