ccsb-scripps / AutoDock-GPU

AutoDock for GPUs and other accelerators
https://ccsb.scripps.edu/autodock
GNU General Public License v2.0
366 stars 101 forks source link

Problem about the preparation process before docking #234

Open FeiLiuEM opened 1 year ago

FeiLiuEM commented 1 year ago

Hello,

I have a problem of preparing receptor and ligand.

Take 1stp for example. The preparation process is as follows:

#prepare receptor by ADFR suite
reduce 1STP.pdb > 1stp_1.pdb
prepare_receptor -r 1stp_1.pdb -o 1stp_receptor.pdbqt

#prepare ligand by meeko
mk_prepare_ligand.py -i 1stp_ligand.sdf -o 1stp_ligand.pdbqt

#prepare gridbox by adt and autogrid4
pythonsh prepare_gpf.py -l 1stp_ligand.pdbqt -r 1stp_receptor.pdbqt -y
#in this part, change the grid box data of 1stp_receptor.gpf to example
autogrid4 -p 1stp_receptor.gpf -l 1stp_receptor.glg

#docking  
autodock_gpu_64wi  \
--ffile 1stp_receptor.maps.fld \
--lfile 1stp_ligand.pdbqt  

The results are confusingly high:

Generations |  Evaluations |     Threshold    |  Average energy of best 10%  | Samples |    Best energy
------------+--------------+------------------+------------------------------+---------+-------------------
          0 |          150 |90309.07 kcal/mol |67888.49 +/- 5978.82 kcal/mol |       4 |57588.02 kcal/mol
          5 |        26903 |90309.07 kcal/mol |23993.58 +/-22750.77 kcal/mol |      98 |  145.29 kcal/mol
         10 |        51872 |27475.84 kcal/mol |  154.47 +/-   74.15 kcal/mol |       7 |   47.91 kcal/mol
         15 |        76459 |  313.36 kcal/mol |  130.90 +/-   37.29 kcal/mol |       6 |   47.91 kcal/mol
         20 |       100927 |  224.13 kcal/mol |  130.44 +/-   33.74 kcal/mol |       7 |   47.91 kcal/mol
         25 |       125223 |  202.73 kcal/mol |  117.95 +/-   40.45 kcal/mol |       4 |   47.91 kcal/mol
         30 |       149277 |  269.64 kcal/mol |  129.32 +/-   41.69 kcal/mol |       8 |   47.91 kcal/mol
         35 |       173241 |  207.49 kcal/mol |  117.95 +/-   40.45 kcal/mol |       4 |   47.91 kcal/mol
         40 |       197198 |  269.64 kcal/mol |  124.15 +/-   41.58 kcal/mol |      12 |   47.91 kcal/mol
         45 |       221000 |  176.12 kcal/mol |   52.41 +/-   10.60 kcal/mol |       8 |   38.35 kcal/mol
         50 |       244866 |   72.28 kcal/mol |   49.75 +/-    9.54 kcal/mol |       4 |   38.35 kcal/mol
         55 |       268641 |   85.54 kcal/mol |   45.80 +/-   11.04 kcal/mol |       6 |   28.40 kcal/mol
         60 |       292310 |   73.41 kcal/mol |   42.99 +/-    8.98 kcal/mol |       4 |   28.40 kcal/mol
         65 |       316026 |   76.68 kcal/mol |   46.08 +/-   12.96 kcal/mol |       4 |   28.40 kcal/mol
         70 |       339719 |   94.67 kcal/mol |   44.35 +/-   16.12 kcal/mol |       7 |   17.62 kcal/mol
         75 |       363390 |   78.89 kcal/mol |   36.89 +/-   11.91 kcal/mol |       5 |   17.62 kcal/mol
         80 |       387026 |   72.62 kcal/mol |   33.70 +/-   13.00 kcal/mol |       6 |   17.62 kcal/mol
         85 |       410710 |   66.21 kcal/mol |   26.79 +/-   10.73 kcal/mol |       4 |   17.53 kcal/mol
         90 |       434284 |   67.02 kcal/mol |   26.95 +/-   10.60 kcal/mol |       4 |   17.53 kcal/mol
         95 |       457807 |   66.68 kcal/mol |   33.62 +/-   11.33 kcal/mol |       4 |   17.53 kcal/mol
        100 |       481296 |   76.10 kcal/mol |   38.06 +/-   11.08 kcal/mol |       9 |   17.53 kcal/mol
        105 |       504834 |   56.52 kcal/mol |   19.19 +/-    5.23 kcal/mol |       4 |   13.83 kcal/mol
        110 |       528343 |   38.81 kcal/mol |   19.74 +/-    5.94 kcal/mol |       3 |   13.83 kcal/mol
        115 |       551830 |   49.44 kcal/mol |   28.89 +/-   12.69 kcal/mol |       5 |   13.83 kcal/mol
        120 |       575367 |   66.96 kcal/mol |   24.94 +/-   11.12 kcal/mol |       4 |   13.83 kcal/mol
        125 |       598926 |   66.64 kcal/mol |   33.25 +/-   11.94 kcal/mol |       9 |   13.83 kcal/mol
        130 |       622425 |   53.14 kcal/mol |   24.68 +/-   11.11 kcal/mol |       4 |   13.83 kcal/mol
        135 |       645897 |   66.35 kcal/mol |   26.04 +/-   12.67 kcal/mol |       6 |   13.83 kcal/mol
        140 |       669359 |   57.71 kcal/mol |   20.61 +/-    6.71 kcal/mol |       5 |   11.43 kcal/mol
        145 |       692893 |   40.73 kcal/mol |   14.30 +/-    6.42 kcal/mol |       4 |    7.28 kcal/mol
        150 |       716453 |   38.38 kcal/mol |   13.37 +/-    6.35 kcal/mol |       5 |    7.28 kcal/mol
------------+--------------+------------------+------------------------------+---------+-------------------

                                   Finished evaluation after reaching
                          1136531 evaluations. Best energy     5.34 kcal/mol.

I noticed that the 1stp_receptor.pdbqt is very different from the example provided one and it influences the 1stp_receptor.gpf file.

I want to ask 2 questions:

  1. Is there any other problem in the whole process of docking?
  2. If it is the problem of 1stp_receptor.pdbqt, which method is recommended for preparing receptor?
FeiLiuEM commented 1 year ago

@atillack @L30nardoSV @scottlegrand

please ( •᷄人•᷅ )

diogomart commented 1 year ago

@FeiLiuEM could you post the contents of the .gpf file?

FeiLiuEM commented 1 year ago

@diogomart Here is the .gpf file:

npts 24 22 32                        # num.grid points in xyz
gridfld 1stp_receptor.maps.fld       # grid_data_file
spacing 0.375                        # spacing(A)
receptor_types A C NA OA N SA HD     # receptor atom types
ligand_types A C OA N SA HD          # ligand atom types
receptor 1stp_receptor.pdbqt         # macromolecule
gridcenter 10.734 2.033 -11.537      # xyz-coordinates or auto
smooth 0.5                           # store minimum energy w/in rad(A)
map 1stp_receptor.A.map              # atom-specific affinity map
map 1stp_receptor.C.map              # atom-specific affinity map
map 1stp_receptor.OA.map             # atom-specific affinity map
map 1stp_receptor.N.map              # atom-specific affinity map
map 1stp_receptor.SA.map             # atom-specific affinity map
map 1stp_receptor.HD.map             # atom-specific affinity map
elecmap 1stp_receptor.e.map          # electrostatic potential map
dsolvmap 1stp_receptor.d.map              # desolvation potential map
dielectric -0.1465                   # <0, AD4 distance-dep.diel;>0, constant

And this is the .gpf file from the original example which is mainly different:

receptor_types A C H HD N OA         # receptor atom types
ligand_types A C OA N SA HD          # ligand atom types
FeiLiuEM commented 1 year ago

@diogomart Oh, I find the problem.

I forget to delete drug in pdb file. This is my fault.

I still want to know if there is a recommended method for prepare receptor. Thanks!

diogomart commented 1 year ago

We are working on receptor preparation. There's a recently developed and feature-incomplete mk_prepare_receptor.py in meeko, currently in branch "reactive" but should be released as v0.5.0 soon. This script strictly requires residue and atom names following the Amber naming scheme, so the input PDB must have been massaged by some Amber compliant tool (wk_prepare_receptor.py from waterkit). The other option is the script you are already using, either from MGLTools or from ADFR/AGFR as described in the Vina docs.

FeiLiuEM commented 1 year ago

Thanks a million! @diogomart diogomart

Looking forward to the meeko v0.5.0 release.

Thanks!