Vina-GPU 2.1 further improves the virtual screening runtime and accuracy with the noval RILC-BFGS and GCS mthods based on Vina-GPU 2.0.
Vina-GPU 2.1 includes AutoDock-Vina-GPU 2.1, QuickVina 2-GPU 2.1 and QuickVina-W-GPU 2.1.

-
Runtime comparison of Vina-GPU 2.1 on Drugbank library (partial)

-
Accuracy comparison of Vina-GPU 2.1 on Drugbank library (partial)

Visual Studio 2019 is recommended for build Vina-GPU 2.1 from source
-
install boost library (current version is 1.77.0)
-
install CUDA Toolkit (current version: v12.2) if you are using NVIDIA GPU cards
Note: the OpenCL library can be found in CUDA installation path for NVIDIA or in the driver installation path for AMD
-
add
$(ONE_OF_VINA_GPU_2_1_METHODS)/lib$(ONE_OF_VINA_GPU_2_1_METHODS)/OpenCL/inc$(YOUR_BOOST_LIBRARY_PATH)$(YOUR_BOOST_LIBRARY_PATH)/boost$(YOUR_CUDA_TOOLKIT_LIBRARY_PATH)/CUDA/v12.2/includein the include directories -
add
$(YOUR_BOOST_LIBRARY_PATH)/stage/lib$(YOUR_CUDA_TOOLKIT_PATH)/CUDA/lib/x64in the addtional library -
add
OpenCL.libin the additional dependencies -
add
--config=$(ONE_OF_VINA_GPU_2_1_METHODS)/input_file_example/2bm2_config.txtin the command arguments -
add
NVIDIA_PLATFORMOPENCL_3_0WINDOWSin the preprocessor definitions if necessary -
if you want to compile the binary kernel file on the fly, add
BUILD_KERNEL_FROM_SOURCEin the preprocessor definitions -
build & run Note: ensure the line ending are CLRF
Note: At least 8M stack size is needed. To change the stack size, use ulimit -s 8192.
-
install boost library (current version is 1.77.0)
-
install CUDA Toolkit (current version: v12.2) if you are using NVIDIA GPU cards
Note: OpenCL library can be usually in
/usr/local/cuda(for NVIDIA GPU cards) -
cdinto one of the three methods of Vina-GPU 2.1 ($(ONE_OF_VINA_GPU_2_1_METHODS)) -
change the
BOOST_LIB_PATHandOPENCL_LIB_PATHaccordingly inMakefile -
set GPU platform
GPU_PLATFORMand OpenCL versionOPENCL_VERSIONinMakefile. some options are given below:Note:
-DOPENCL_3_0is highly recommended in Linux, please avoid using-OPENCL_1_2in the Makefile setting. To check the OpenCL version on a given platform, useclinfo.Macros Options Descriptions GPU_PLATFORM -DNVIDIA_PLATFORM / -DAMD_PLATFORM NVIDIA / AMD GPU platform OPENCL_VERSION -DOPENCL_3_0 / -OPENCL_2_0 OpenCL version 2.1 / 2.0 -
type
make cleanandmake sourceto build$(ONE_OF_VINA_GPU_2_1_METHODS)that compile the kernel files on the fly (this would take some time at the first use) -
after a successful compiling,
$(ONE_OF_VINA_GPU_2_1_METHODS)can be seen in the directory -
change
--opencl_binary_pathin the./input_file_example/2bm2_config.txtaccordingly and type$(ONE_OF_VINA_GPU_2_1_METHODS) --config ./input_file_example/2bm2_config.txtto run one of the Vina-GPU 2.1 method -
once you successfully run
$(ONE_OF_VINA_GPU_2_1_METHODS), its runtime can be further reduced by typingmake cleanandmaketo build it without compiling kernel files (but make sure theKernel1_Opt.binfile andKernel2_Opt.binfile is located in the dir specified by--opencl_binary_path) -
other compile options:
| Options | Description |
|---|---|
| -g | debug |
| -DTIME_ANALYSIS | output runtime analysis in gpu_runtime.log |
| -DDISPLAY_ADDITION_INFO | print addition information |
The docking box now can be enlarged by
- Change
-DSMALL_BOXinto-DLARGE_BOXinMakefile - Type
make sourceand$(ONE_OF_VINA_GPU_2_1_METHODS) --config ./input_file_example/2bm2_config.txt - Once the tutorial docking is finished, type
make clearnandmake - Now you can enlarge the docking box
--size_x/y/zaccordingly (see Limitation below)
| Optimization | Methods | Reference | Documentation |
|---|---|---|---|
| Receptor Preparation | cross-docking | origin paper | Doc |
| Binding Pocket Prediction | COACH-D | origin paper | Doc |
| Ligand Optimization | Gypsum-DL | origin paper | Doc |
| Arguments | Description | Default value |
|---|---|---|
| --config | the config file (in .txt format) that contains all the following arguments for the convenience of use | no default |
| --receptor | the recrptor file (in .pdbqt format) | no default |
| --ligand_directory | this path specifies the directory of all the input ligands(in .pdbqt format) | no default |
| --output_directory | this path specifies the directory of the output ligands | no default |
| --lbfgs | --rilc_bfgs 0 turns off the RILC-BFGS, --rilc_bfgs 1 turns on the RILC-BFGS` |
--rilc_bfgs 1 |
| --thread | the scale of parallelism | 5000 for quickvina2-gpu 2.1, 8000 for others |
| --search_depth | the number of searching iterations in each docking lane | heuristically determined |
| --center_x/y/z | the center of searching box in the receptor | no default |
| --size_x/y/z | the volume of the searching box | no default |
| --opencl_binary_path | this path specifies the directory of the kernel path | no default |
| Arguments | Description | Limitation |
|---|---|---|
| --thread | the scale of parallelism (docking lanes) | preferably less than 10000 |
| --size_x/y/z | the volume of the searching box | less than 100/100/100 for AutoDock-Vina-GPU 2.1 and 70/70/70 for other two variants |
- Tang, Shidi, et al. "Vina-GPU 2.1: towards further optimizing docking speed and precision of AutoDock Vina and its derivatives." IEEE/ACM Transactions on Computational Biology and Bioinformatics (2024).
- Ding, Ji, et al. "Vina-GPU 2.0: further accelerating AutoDock Vina and its derivatives with graphics processing units." Journal of chemical information and modeling 63.7 (2023): 1982-1998.
- Tang, Shidi et al. “Accelerating AutoDock Vina with GPUs.” Molecules (Basel, Switzerland) vol. 27,9 3041. 9 May. 2022, doi:10.3390/molecules27093041
- Trott, Oleg, and Arthur J. Olson. "AutoDock Vina: improving the speed and accuracy of docking with a new scoring function, efficient optimization, and multithreading." Journal of computational chemistry 31.2 (2010): 455-461.
- Hassan, N. M. , et al. "Protein-Ligand Blind Docking Using QuickVina-W With Inter-Process Spatio-Temporal Integration." Scientific Reports 7.1(2017):15451.
- Amr Alhossary, Stephanus Daniel Handoko, Yuguang Mu, and Chee-Keong Kwoh. "Fast, accurate, and reliable molecular docking with QuickVina 2. " Bioinformatics (2015): 2214–2216.