As many readers know that currently GPU based docking for massive number of comound is trend. Because speed of GPU Docking is faster than CPU based. Of course if you can use huge amount of CUPs, CPU docking is aslo fast ;)
AutoDock-Vina is one of the famous OSS docking tool. And GPU version is published in 2023.
The article shows that good correlation between CPU and GPU based vina score. I would like to chack it on my PC.
Fortunately UniDock provides example dataset. So I used it and tried to comparison.
Following experiments, I used Vina-GPU 2.1 which is the latest version of Vina-GPU. And I used def dataset in UniDock.
Following commands are exaple.
$ time vina --config vina_config.txt
$ cat vina_config.txt
receptor = ./indata/def.pdbqt
dir = vina_results
exhaustiveness = 16
cpu = 16
center_x = -36.0095
center_y = 25.628500000000003
center_z = 67.49199999999999
size_x =17.201
size_y = 14.375000000000004
size_z = 12.239999999999995
$ time ~/dev/Vina-GPU-2.1/AutoDock-Vina-GPU-2.1/AutoDock-Vina-GPU-2-1 --config vina_gpu_config.txt
$ cat vina_gpu_config.txt
receptor = ./indata/def.pdbqt
ligand_directory =./indata/def_unique_charged/
thread = 8000
opencl_binary_path = /home/iwatobipen/dev/Vina-GPU-2.1/AutoDock-Vina-GPU-2.1
output_directory =./vina_gpu/
log = vinagpu.log
center_x = -36.0095
center_y = 25.628500000000003
center_z = 67.49199999999999
size_x =17.201
size_y = 14.375000000000004
size_z = 12.239999999999995
Config files are almost same.
My PC has GeForce RTX 4060. Not so much GPU resources.
And here is a results.
#this dataset has almost 5000 ligands
vina
real 852m55.481s
user 11229m52.143s
sys 4m29.598s
AutoDockVina-GPU3 total runtime = 7891.842 s
real 131m12.509s
user 131m24.946s
sys 0m6.994s
Vina-GPU is 6~ times faster than CPU based Vina. Ok, how about score?
As you can see score between both method seems well correlated but not same. To use new tools it is important to compare current tools.
In this post I compared performance between vina and vina-gpu with one target. It is not enough. I would like to collect additional data with many tools and dataset.