MCPcopy Create free account
hub / github.com/DeltaGroupNJUPT/Vina-GPU-2.1

github.com/DeltaGroupNJUPT/Vina-GPU-2.1 @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
2,320 symbols 5,374 edges 240 files 1,119 documented · 48% updated 21mo ago★ 16857 open issues

Browse by type

Functions 1,903 Types & classes 417
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Vina-GPU 2.1

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. Vina-GPU2 1-arch

Virtual Screening Results

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

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

Compiling and Running

Windows

Build from source file

Visual Studio 2019 is recommended for build Vina-GPU 2.1 from source 1. install boost library (current version is 1.77.0) 2. 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
  1. 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/include in the include directories
  2. add $(YOUR_BOOST_LIBRARY_PATH)/stage/lib $(YOUR_CUDA_TOOLKIT_PATH)/CUDA/lib/x64in the addtional library
  3. add OpenCL.lib in the additional dependencies
  4. add --config=$(ONE_OF_VINA_GPU_2_1_METHODS)/input_file_example/2bm2_config.txt in the command arguments
  5. add NVIDIA_PLATFORM OPENCL_3_0 WINDOWS in the preprocessor definitions if necessary
  6. if you want to compile the binary kernel file on the fly, add BUILD_KERNEL_FROM_SOURCE in the preprocessor definitions
  7. build & run Note: ensure the line ending are CLRF

Linux

Note: At least 8M stack size is needed. To change the stack size, use ulimit -s 8192. 1. install boost library (current version is 1.77.0) 2. 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)
  1. cd into one of the three methods of Vina-GPU 2.1 ($(ONE_OF_VINA_GPU_2_1_METHODS))
  2. change the BOOST_LIB_PATH and OPENCL_LIB_PATH accordingly in Makefile
  3. 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

  4. 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)

  5. after a successful compiling, $(ONE_OF_VINA_GPU_2_1_METHODS) can be seen in the directory
  6. 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
  7. 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)
  8. other compile options:
Options Description
-g debug
-DTIME_ANALYSIS output runtime analysis in gpu_runtime.log
-DDISPLAY_ADDITION_INFO print addition information

Enlarge the docking box

The docking box now can be enlarged by

  1. Change -DSMALL_BOX into -DLARGE_BOX in Makefile
  2. Type make source and $(ONE_OF_VINA_GPU_2_1_METHODS) --config ./input_file_example/2bm2_config.txt
  3. Once the tutorial docking is finished, type make clearn and make
  4. Now you can enlarge the docking box --size_x/y/z accordingly (see Limitation below)

Structure Optimization

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

Usage

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

Limitation

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

Citation

  • 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.

Core symbols most depended-on inside this repo

Shape

Method 1,281
Function 622
Class 411
Enum 6

Languages

C++100%

Modules by API surface

QuickVina2-GPU-2.1/lib/everything.cpp69 symbols
QuickVina-W-GPU-2.1/lib/everything.cpp69 symbols
AutoDock-Vina-GPU-2.1/lib/everything.cpp69 symbols
QuickVina2-GPU-2.1/lib/model.cpp68 symbols
QuickVina-W-GPU-2.1/lib/model.cpp68 symbols
AutoDock-Vina-GPU-2.1/lib/model.cpp68 symbols
QuickVina2-GPU-2.1/lib/conf.h63 symbols
QuickVina-W-GPU-2.1/lib/conf.h63 symbols
AutoDock-Vina-GPU-2.1/lib/conf.h63 symbols
QuickVina2-GPU-2.1/lib/parse_pdbqt.cpp53 symbols
QuickVina-W-GPU-2.1/lib/parse_pdbqt.cpp53 symbols
AutoDock-Vina-GPU-2.1/lib/parse_pdbqt.cpp53 symbols

For agents

$ claude mcp add Vina-GPU-2.1 \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page