Code Monkey home page Code Monkey logo

Comments (4)

mwojcikowski avatar mwojcikowski commented on June 21, 2024

Hi Michel,

Thanks for reporting the issue. May you please share how you prepared the molecules in PDBQT format? Reading back PDBQT files is many times not the best idea, as they loose information about connectivity, bond orders in particular. I assume that you use OB as the toolkit. When I read back your ligand file this is what OB generates

obabel 1A30_FH_ligand.pdbqt -osmi
[C](NC(=O)[C]([C][C]C(=O)[O])[NH3])(C(=O)N[C]([C][C]([C])[C])C(=O)[O])[C]C(=O)[O]	1A30_FH_ligand.pdbqt
1 molecule converted

As you can see there are some radicals, which might be the issue here. I would recommend starting with a format that has proper bond orders, which are essential for marking donors and acceptors.

Alternatively there is an autodock_vina_descriptor which uses native Vina library and should work for you.

from oddt.

michelsanner avatar michelsanner commented on June 21, 2024

Thanks for your reply Maciej
I did not prepare the PDBQT files but used from a paper published by Rentzsch et al 10.1093/bib/bbv008 but i do not understand why it would make a difference. I run both programs using the native PDBQT format. I would expect both program to end up doing the same thing or am I missing something ?
Are you saying that your program reads the PDBQT (which provides all the data needed for Vina) but then somehow reassigns atom types?

Will the AutoDock_vina_decriptor return ligand internal energies ?

the reason for my email was mainly that a user sing Vina with some PDBQT files would expect to get the same results when using oddt with the same input files.

-Michel

from oddt.

mwojcikowski avatar mwojcikowski commented on June 21, 2024

oddt_vina_sescriptor scores the representation of molecule in the toolkit, Openbabel or RDKit. If you produce PDBQT with ODDT I would expect the scores to be identical. In your case, the PDBQT is already there so what you should be using is the aforementioned autodock_vina_descriptor, which should produce 1:1 results for you - it uses vina --score_only binary and should produce the exact set of partial scores as Vina does out of the box.

The exact command line can be found here:

subprocess.check_output([self.executable, '--score_only',
'--receptor', self.protein_file,
'--ligand', ligand_file] + self.params,
stderr=subprocess.STDOUT))

The oddt_vina_sescriptor was intended as a faster alternative to be used in ODDT pipelines, as it avoids expensive IO and conversion to PDBQT which is prone to error, as you witnessed.

from oddt.

michelsanner avatar michelsanner commented on June 21, 2024

yes you are right, the AutoDockVina.py will run the same binary as used on the command line and give me the same values, although it does not report the ligand internal energy terms.

I generated PDBQT files ODDT and compared with my PDBWT files. The only differences is the AutoDock atom type of sulfur atoms in MET36, MET46,CYS67 and CYS95 in both chains A and B of the receptor which are SA in my file and S in the files produced by ODDT. However, none of these amino acid are close enough to the ligand to hydrogen bond.

In AutoDock the donors and acceptors are encoded by the atom type HD, OA, SA etc, but I guess this gets overwritten by your perception of donors and acceptors, even when the input is the native PDBQT used by Vina. I guess that is what leads to the differences in the results.

However, what I do not understand is that when I run Vina on the PDBQT files generated with ODDT I get the same results as with my PDBQT files i.e. hydrogen = 3.59471 not 6.018104553222656 which is to be expected as the only difference in PDBQT files is the TYPE of S atoms which do not interact with the ligand. So I am still unclear where and why the difference arises.

from oddt.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.