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

VinaLC is a parallelized version of the molecular docking program Autodock Vina. VinaLC uses MPI and multithreading hybrid scheme, and potentially can be used in the future on exascale machines, without sacrificing accuracy. The resulting program scales up to more than 15K CPUs with a very low overhead cost.

VinaLC was developed at Lawrence Livermore National Lab (VinaLC website).

On Helix

VinaLC is a highly parallel program and is not suitable for Helix.

Batch job on Biowulf

The following example uses the test data in /usr/local/apps/VinaLC/vinalc-testcase.tar.gz. Copy the data to your own space using tar xvzf /usr/local/apps/VinaLC/vinalc-testcase.tar.gz in an appropriate subdirectory.

Set up a batch script along the following lines:

#!/bin/bash

module load VinaLC
cd /data/$USER/VinaLC/vinalc-testcase

mpirun -np $SLURM_NTASKS vinaBMPI --recList recList.txt --ligList ligList.txt --geoList geoList.txt

Submit the job with:

sbatch --nodes=4 --ntasks=4 --cpus-per-task=16 test.bat

Output file from this job:

Number of tasks= 4 My rank= 0
Master Node: 4 My rank= 0
Number of tasks= 4 My rank= 3
Number of tasks= 4 My rank= 2
Number of tasks= 4 My rank= 1
At Process: 2 working on  Ligand: LIGAND 1  receptor: 1KIJ_protH.pdbqt
At Process: 3 working on  Ligand: LIGAND 2  receptor: 1KIJ_protH.pdbqt
At Process: 1 working on  Ligand: LIGAND 3  receptor: 1KIJ_protH.pdbqt
At Process: 1 working on  Ligand: LIGAND 4  receptor: 1KIJ_protH.pdbqt
At Process: 2 working on  Ligand: LIGAND 5  receptor: 1KIJ_protH.pdbqt
At Process: 3 working on  Ligand: LIGAND 6  receptor: 1KIJ_protH.pdbqt
At Process: 1 working on  Ligand: LIGAND 1  receptor: 1KIJ_protH1.pdbqt
At Process: 3 working on  Ligand: LIGAND 2  receptor: 1KIJ_protH1.pdbqt
At Process: 2 working on  Ligand: LIGAND 3  receptor: 1KIJ_protH1.pdbqt
At Process: 1 working on  Ligand: LIGAND 4  receptor: 1KIJ_protH1.pdbqt
At Process: 3 working on  Ligand: LIGAND 5  receptor: 1KIJ_protH1.pdbqt
At Process: 1 working on  Ligand: LIGAND 6  receptor: 1KIJ_protH1.pdbqt
ndata=3 nJobs=12
Rank= 0 MPI Wall Time= 127.409 Sec.
Rank= 1 MPI Wall Time= 127.401 Sec.
Rank= 3 MPI Wall Time= 127.348 Sec.
Rank= 2 MPI Wall Time= 127.401 Sec.
Documentation

VinaLC website at Lawrence Livermore Nat'l Lab.