Site menu:
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:a. unpack the files
b. cd psovina-x.x/build/<your-platform>/release
c. modify Makefile to suit your system setting
d. type "make" to compile
b. cd psovina-x.x/build/<your-platform>/release
c. modify Makefile to suit your system setting
d. 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:--num_particles arg (=8) | Number of particles |
--w arg (=0.36) | Inertia weight |
--c1 arg (=0.99) | Cognitive weight |
--c2 arg (=0.99) | 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
% <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
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:
Hio Kuan Tai, Siti Azma Jusoh, and Shirley W. I. Siu*. Chaos-embedded particle swarm optimization approach for protein-ligand docking and virtual screening. Journal of Cheminformatics 10:62, 2018.
For PSOVina2LS:
Hio Kuan Tai, Hin Lin and Shirley W. I. Siu*. Improving the efficiency of PSOVina for protein-ligand docking by two-stage local search. The 2016 IEEE Congress on Evolutionary Computation (CEC), Vancouver, BC, 2016, pp. 770-777.
For PSOVina 1.0:
Marcus C. K. Ng, Simon Fong, and Shirley W. I. Siu*. PSOVina: The Hybrid Particle Swarm Optimization Algorithm for Protein-Ligand Docking. Journal of Bioinformatics and Computational Biology 13 (3), 1541007, 2015.
Hio Kuan Tai, Siti Azma Jusoh, and Shirley W. I. Siu*. Chaos-embedded particle swarm optimization approach for protein-ligand docking and virtual screening. Journal of Cheminformatics 10:62, 2018.
For PSOVina2LS:
Hio Kuan Tai, Hin Lin and Shirley W. I. Siu*. Improving the efficiency of PSOVina for protein-ligand docking by two-stage local search. The 2016 IEEE Congress on Evolutionary Computation (CEC), Vancouver, BC, 2016, pp. 770-777.
For PSOVina 1.0:
Marcus C. K. Ng, Simon Fong, and Shirley W. I. Siu*. PSOVina: The Hybrid Particle Swarm Optimization Algorithm for Protein-Ligand Docking. Journal of Bioinformatics and Computational Biology 13 (3), 1541007, 2015.
Contact Us
Developer: | Giotto Tai | giottotai_[at]yahoo_[dot]_com_[dot]_hk |
Allan Lin | lhang33_[at]_126_[dot]_com | |
Marcus C. K. Ng | marcus.ckng_[at]_gmail_[dot]_com | |
Project P.I.: | Shirley W. I. Siu | shirley_siu_[at]_umac_[dot]_mo |