PSOVina: Fast Protein-Ligand Docking Tool based on PSO and AutoDock Vina
A fast docking tool based on the efficient optimization algorithm of Particle Swarm Intelligence and the framework of AutoDock Vina. Based on the initial PSO implementation, our PSOVina method has undergone several important improvements to enhance the docking accuary and achieve remarkable efficiency as compared to the original AutoDock Vina.
Releases
- (2018-06-07) PSOVina-2.0 An improved PSOVina2LS with Singer chaotic function embedded into the PSO global search algorithm to improve search diversity and improve pose prediction. This version has been extensively tested by four docking sets and two DUD-E virtual screening sets.
- (2018-05-04) PSOVina2LS uses 2-stage local search to effectively reduce time for expensive local search.
- (2018-06-18) PSOVina-1.1 is now patched to be compatible with newer version of Boost, tested with boost 1.59.
- (2016-05-10) PSOVina-1.0 is released, try it out for your next docking!
Download
(Freely available for academic use only, please read our Open Source License)
- Source code tarball
- Linux/Mac executables (compiled in Ubuntu x86_64 and MacOSX)
- Datasets and tools to benchmark docking programs
Required Software
For successful compilation, please install Boost (version 1.59 or above). For preparing molecules for docking, please install AutoDockTools (ADT).
Installation
The installation basically follows the installation of AutoDock Vina:
- unpack the files
- cd psovina-x.x/build/{your-platform}/release
- modify Makefile to suit your system setting
- type "make" to compile
The binary psovina will be generated at the current directory. You can copy this binary to a directory in your PATH e.g. /usr/local/bin, or add the path of the current directory to your PATH.
Running PSOVina
You can run psovina as the way you run vina but additional three parameters (optional) are used to specify how the PSO algorithm perform searching:
Parameters --num_particles arg (=8) | Description Number of particles |
Parameters --w arg (=0.36) | Description Inertia weight |
Parameters --c1 arg (=0.99) | Description Cognitive weight |
Parameters --c2 arg (=0.99) | Description Social weight |
For example, docking Kifunensine in the Mannosidase enzyme (PDBID 1ps3 from the
PDBbind v2012 dataset) using PSOVina with default PSO parameters in a 8-core
computer and obtain the lowest energy prediction:
% {path-to-AutoDockTools}/prepare_ligand4.py -l 1ps3_ligand.mol2 -o
1ps3_ligand.pdbqt -A 'hydrogens' -U 'nphs_lps_waters'
% {path-to-AutoDockTools}/prepare_receptor4.py -r 1ps3_protein.pdb -o
1ps3_protein.pdbqt -A 'hydrogens' -U 'nphs_lps_waters'
% {path-to-psovina}/psovina --receptor 1ps3_protein.pdbqt --ligand
1ps3_ligand.pdbqt --center_x 31.951 --center_y 65.5053 --center_z 7.63888
--size_x 33.452 --size_y 27.612 --size_z 35.136 --num_modes 1 --cpu 8
More test cases can be available soon.
Develop PSOVina
If you are interested in the source code of PSOVina for any academic purposes,
please note that the following files were newly developedin our work or modified
based on Vina:
psovina-x.x/src/main/main.cpp
psovina-x.x/src/lib/pso.h
psovina-x.x/src/lib/pso.cpp
psovina-x.x/src/lib/parallel_pso.h
psovina-x.x/src/lib/parallel_pso.cpp
psovina-x.x/src/lib/pso_mutate.h
psovina-x.x/src/lib/pso_mutate.cpp
psovina-x.x/src/lib/pso_search.h
psovina-x.x/src/lib/pso_search.cpp
Citations
Please cite our paper if you have used PSOVina or its variants. It would also be nice to let us know that you found PSOVina useful by sending us an email:
For PSOVina 2.0:
Journal of Cheminformatics 10:62, 2018.
For PSOVina2LS:
The 2016 IEEE Congress on Evolutionary Computation (CEC), Vancouver, BC, 2016, pp. 770-777.
For PSOVina 1.0:
Journal of Bioinformatics and Computational Biology 13 (3), 1541007, 2015.
Contact Us
If you have further questions, please contact:
Developer:
- Giotto Tai
giottotai@yahoo.com.hk
- Allan Lin
lhang33@126.com
- Marcus C. K. Ng
marcus.ckng@gmail.com
- Edison Un (Web Developer)
chonwaiun@gmail.com
Project P.I.:
- Shirley W. I. Siu
shirleysiu@umac.mo