ccsb-scripps / AutoDock-GPU

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

Regarding sampling algorithms in covalent docking #170

Open Hong-Rui opened 2 years ago

Hong-Rui commented 2 years ago

Hi developers, Recently I've tested covalent docking using AutoDock-FR in our internal pipeline, and I found few questions regarding usages and conformational search algorithms between different engines in AutoDock series, such as AutoDock-FR, AD-GPU, and Vina:

  1. In the ADFR paper published in 2015, the author said that for covalent and flex residue docking, the ADFR outperforms Vina in the docking success rates, due to its traditional GA approach. But in other reports, Vinda seems to performs better in general free dockings due to its MC+BFGS local search, while AD4 and ADFR use Solis-Wets. So I'm wondering that, in covalent or flex res docking, does ADFR performs better than Vina due to the LGA sampling method or there's some internal tricks that ADFR did in the source code that manipulate the flex res rotamer states so that you get better conformation samplings?

  2. Does ADFR's LGA different from AD4's (or AD4-GPU's) LGA method? When I read through the source codes of ADFR, I found the operations is so different compare to AD4. The genes load an external translation points to move ligands in unbound docking, while AD-GPU does not do this.

  3. From your understanding, what is the currently best or better docking engines for doing covalent docking or flex res docking? The old ADFR, Vina, or AD-GPU?

  4. For AD-GPU, to do the covalent docking, I need to treat the bound ligand as a flex receptor side chain, so I need to use the --flexres option, but it seems that this option are not supported as inputs in the filelist, currently the filelist only support maps, ligand pdbqt filenames, and output filenames. In addition, for doing covalent docking, it seems that I need to input an empty ligand file in the filelist and specify the -F option to point to the flex res simultaneously?

Thank you for answer these questions!

Regards,

Hong-Rui commented 2 years ago

Hi @diogomart @atillack Any comments or suggestions on these questions?

Thank you so much!

diogomart commented 2 years ago

Hi @Hong-Rui,

1) I don't know.

2) Yes the LGA is different.

3) It's hard to tell because we haven't compared these programs explicitly for the case of flexible sidechains. AD-GPU uses a convergence criterion to stop the search, and we noticed that adding flexible residues (in addition to a ligand) makes it run significantly longer. This may suggest that there's room for improvement in sidechain sampling. However, I don't really know how Vina and ADFR behave in comparison, so maybe this observation holds for those programs too.

4) Yes, AD-GPU was not developed with covalent docking in mind, but I think the trick you suggest, to pass an empty ligand, works fine.

Best regards,

atillack commented 2 years ago

@Hong-Rui @diogomart I would currently recommend not adding an empty ligand as a work-around to get covalent docking to work. The reason is that the search minimizer in this case will still try to optimize root atom translation/rotation which might throw it off and lead to weird behavior/results.

This shouldn't be hard to overcome though and I will work on adding this feature in the future.

Hong-Rui commented 2 years ago

Okay, really thanks for your answering! and I would maybe have a try and benchmark test between AD-GPU, vina, and ADFR when the covalent docking is working in AD-GPU.

Thanks a lot!

Yongrui-Wang commented 2 years ago

Hello! @Hong-Rui How to use autodock GPU for covalent docking? Thank you!