- OpenCL-accelerated version of AutoDock4.2.6. It leverages its embarrasingly parallelizable LGA by processing ligand-receptor poses in parallel over multiple compute units.
- Besides the legacy Solis-Wets local search method, AutoDock-GPU adds newly implemented local-search methods based on gradients of the scoring function. One of these methods, ADADELTA, has proven to increase significantly the docking quality in terms of RMSDs and scores.
- It targets platforms based on GPU as well as multicore CPU accelerators.
- Observed speedups of up to 4x (quad-core CPU) and 56x (GPU) over the original serial AutoDock 4.2 (Solis-Wets) on CPU.
Operating system | CPU | GPU |
---|---|---|
CentOS 6.7 & 6.8 / Ubuntu 14.04 & 16.04 | Intel SDK for OpenCL 2017 | AMD APP SDK v3.0 / CUDA v8.0 & v9.0 |
macOS Catalina 10.15.1 | Apple / Intel | Apple / Intel Iris, Radeon Vega 64 |
Other environments or configurations likely work as well, but are untested.
make DEVICE=<TYPE> NUMWI=<NWI>
Parameters | Description | Values |
---|---|---|
<TYPE> |
Accelerator chosen | CPU , GPU |
<NWI> |
OpenCL work-group size | 1 , 2 , 4 , 8 , 16 , 32 , 64 , 128 , 256 |
Hints: The best work-group size depends on the GPU and workload. Try NUMWI=128
or NUMWI=64
for modern cards with the example workloads. On macOS, use NUMWI=1
for CPUs.
After successful compilation, the host binary autodock_<type>_<N>wi is placed under bin.
Binary-name portion | Description | Values |
---|---|---|
<type> | Accelerator chosen | cpu , gpu |
<N> | OpenCL work-group size | 1 , 2 , 4 , 8 ,16 , 32 , 64 , 128 , 256 |
./bin/autodock_<type>_<N>wi \
-ffile <protein>.maps.fld \
-lfile <ligand>.pdbqt \
-nrun <nruns>
Mandatory options | Description | Value |
---|---|---|
-ffile | Protein file | <protein>.maps.fld |
-lfile | Ligand file | <ligand>.pdbqt |
./bin/autodock_gpu_64wi \
-ffile ./input/1stp/derived/1stp_protein.maps.fld \
-lfile ./input/1stp/derived/1stp_ligand.pdbqt \
-nrun 10
By default the output log file is written in the current working folder. Examples of output logs can be found under examples/output.
Argument | Description | Default value |
---|---|---|
-nrun | # LGA runs | 1 |
-nev | # Score evaluations (max.) per LGA run | 2500000 |
-ngen | # Generations (max.) per LGA run | 27000 |
-lsmet | Local-search method | sw (Solis-Wets) |
-lsit | # Local-search iterations (max.) | 300 |
-psize | Population size | 150 |
-mrat | Mutation rate | 2 (%) |
-crat | Crossover rate | 80 (%) |
-lsrat | Local-search rate | 80 (%) |
-trat | Tournament (selection) rate | 60 (%) |
-resnam | Name for docking output log | "docking" |
-hsym | Handle symmetry in RMSD calc. | 1 |
-devnum | OpenCL device number | 1 |
-cgmaps | Use individual maps for CG-G0 instead of the same one | 0 (use same map) |
For a complete list of available arguments and their default values, check getparameters.cpp.
Visit the project Wiki.