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

Virtual screening with AutoDock GPU: universal map files #254

Closed BruciiZ closed 2 months ago

BruciiZ commented 5 months ago

Dear Developers,

Thanks for the amazing program. I read the other post about doing VS with AD-GPU. However, instead of specifying a gpf file for every ligand and running autogrid to compute the map files for each ligands, I was thinking if i could add all the atom types in the gpf, and create all the map files for all the atom types in my atomic parameter file.

I tried doing that and ran a small VS (~1000 ligands), and it worked pretty well. However, I discovered that AutoDockTools which I used to prepare the gpf and map files only accepts up to 14 atom types each time (I tried, more than 14 an error would be raised). So what I am thinking right now is to prepare twice so that I can cover all atom types in the atomic parameter file. I understand that I need to modify the maps.fld file after the second run since it would be overwritten to include only atom types specified for that run.

Is doing this valid? For example, if one ligand only contains 8 atom types, will the results be different if I do docking with exactly only 8 map files, or with the 8 map files out of all map files that were prepared all together.

This is a long description so please take your time to reply. No hurry at all.

diogomart commented 5 months ago

Hello,

Yes, that's perfectly valid, as long as the receptor and box dimensions are the same. You may need to run autogrid more than once because autogrid too limits the number of atom types at 14 or so. Then, in the GPF and the FLD, the filenames of the maps and the atom types need to be in the same order.

For the GPF, the order of atom types after ligand_types must match that of the map lines. For example, for X, Y, and Z types:

ligand_types X Y Z
map receptor.X.map
map receptor.Y.map
map receptor.Z.map

Note that not all GPF lines are shown. In the FLD, the same applies for label and variable lines.

We have an autogrid version that allows for more atom types, we just haven't put it up on github. @atillack let's coordinate this.

atillack commented 5 months ago

@BruciiZ Thank you! Diogo is correct. What I implemented in AD-GPU is that you can have up to 32 atom types per ligand and as many as you want in the gpf file ;-)

@diogomart Yes, definitely ... There's some other little improvements too :-)

sustech-cym commented 3 months ago

Dear Everyone,

Could somebody told me where I can find a manual about add additional atom type. I understand that I did not add additional atomic types in gpf. But I have no idea what should I do.

I've only recently started experimenting with AD-GPU. And I'm also want to product a VS.

I used ADT-GUI to define a grid box,and output the gpf file, which was transfered by following command:

autogrid4 -p 22A.gpf -l 22A.glg

next, I product AD-GPU and it output a error.

 ./bin/autodock_gpu_128wi \
                --ffile VSD4_map3/22VSD4.maps.fld \
                --lfile gblock5/gblock_3d1.pdbqt \
AutoDock-GPU version: v1.5.3-73-gf5cf6ffdd0c5b3f113d5cc424fabee51df04da7e

Running 1 docking calculation

Cuda device:                              NVIDIA GeForce RTX 4060 Ti
Available memory on device:               7080 MB (total: 8187 MB)

CUDA Setup time 0.415927s
Error: No map file specified for atom type Br in fld and no derived type (--derivtype, -T) either.

Error in parse_liganddata, stopped job.

Error in setup of Job #1
Run time of entire job set (1 file): 0.417 sec
Processing time: 0.000 sec

The job was not successful.

The gpf of mine :

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

I would be very grateful if someone could help me with this problem.

rwxayheee commented 3 months ago

hey @sustech-cym

I understand that I did not add additional atomic types in gpf. But I have no idea what should I do.

For an atom type listed in the default parameter file, you could manually add it to the gpf file, like for Error: No map file specified for atom type Br:

ligand_types A C HD N NA OA SA Br # ligand atom types and

map 22VSD4.SA.map                    # atom-specific affinity map
map 22VSD4.Br.map                    # atom-specific affinity map
elecmap 22VSD4.e.map                 # electrostatic potential map

I used ADT-GUI to define a grid box, and output the gpf file

You could also set up map types in ADT, see below:

Screenshot 2024-03-16 at 12 32 11 PM
sustech-cym commented 3 months ago

Hi,@rwxayheee

Sincerely thanks for your reply. Everything work now