finDrVS is a distributed computing application to perform a virtual screening on several computers.
finDrVS is part of finDr, a toolset developed to find peptide binders for reflect, the iGEM Team of Freiburg 2019.
finDrVS simply runs a rigid AutoDock Vina docking for every file in the
library folder specified in config.ini
, distributing equally amongst
all computing nodes and running one docking per processor per node
at a time.
- An implementation of the MPI standard, for distribution on cluster nodes, but also required to run on a single computer. We used MPICH
- AutoDock Vina, for binding affinity calculations
- MGLTools, for generation of files required by AutoDock Vina
- PyMOL (Open Source), for generation of PDB files
finDrVS is written for Linux. Make sure you have all dependencies installed, then move on to the following steps:
Go to any directory you like and clone this repository, change into its directory and compile using make
cd ilikethisdirectory
git clone https://github.com/kcaliban/finDrVS.git
cd finDrVS
make
Before you can use finDrVS you have to configure it. Take a look at config.ini
and change the settings accordingly, making sure all directories you
specify exist.
Dvelopr is written for computer clusters, it can however be executed on a single computer.
Change to the directory you created in the installation step and run the following command:
mpirun -np 1 ./finDrVS : -np 1 ./finDrVS -w
To also convert your receptor(s) from L to D or the other way around:
mpirun -np 1 --mi ./finDrVS : -np 1 ./finDrVS -w
For computation on a computing cluster, you have to specify how many individual computing nodes (not threads!) you can use.
Change to the directory you created in the installation step and run the following command:
mpirun -np 1 ./finDrVS : -np NUMNODES ./finDrVS -w
To also convert your receptor(s) from L to D or the other way around:
mpirun -np 1 --mi ./finDrVS : -np NUMNODES ./finDrVS -w
You will find the results of your dockings in the folder specified
as workdir
in your config.ini
. They contain the filename,
the FASTA sequences and the calculated binding affinities.
See LICENSE file
Used libraries:
- inih is written by Ben Hoyt, see src/inih/LICENSE
- cxxopts is written by Jarryd Beck, see src/cxxopts/LICENSE