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
$(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/include
in the include directories$(YOUR_BOOST_LIBRARY_PATH)/stage/lib
$(YOUR_CUDA_TOOLKIT_PATH)/CUDA/lib/x64
in the addtional library OpenCL.lib
in the additional dependencies --config=$(ONE_OF_VINA_GPU_2_1_METHODS)/input_file_example/2bm2_config.txt
in the command argumentsNVIDIA_PLATFORM
OPENCL_3_0
WINDOWS
in the preprocessor definitions if necessaryBUILD_KERNEL_FROM_SOURCE
in the preprocessor definitionsNote: 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)
cd
into one of the three methods of Vina-GPU 2.1 ($(ONE_OF_VINA_GPU_2_1_METHODS)
)
change the BOOST_LIB_PATH
and OPENCL_LIB_PATH
accordingly in Makefile
set GPU platform GPU_PLATFORM
and OpenCL version OPENCL_VERSION
in Makefile
. some options are given below:
Note: -DOPENCL_3_0 is highly recommended in Linux, please avoid using -OPENCL_1_2 in the Makefile setting. To check the OpenCL version on a given platform, use clinfo . |
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 clean
and make source
to 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_path
in the ./input_file_example/2bm2_config.txt
accordingly and type $(ONE_OF_VINA_GPU_2_1_METHODS) --config ./input_file_example/2bm2_config.txt
to 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 typing make clean
and make
to build it without compiling kernel files (but make sure the Kernel1_Opt.bin
file and Kernel2_Opt.bin
file 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
-DSMALL_BOX
into -DLARGE_BOX
in Makefile
make source
and $(ONE_OF_VINA_GPU_2_1_METHODS) --config ./input_file_example/2bm2_config.txt
make clearn
and make
--size_x/y/z
accordingly (see Limitation below)Optimization | Methods | Reference |
---|---|---|
Receptor Preparation | cross-docking | origin paper |
Binding Pocket Prediction | COACH-D | origin paper |
Ligand Optimization | Gypsum-DL | origin paper |
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 |