Menu

smina parse error

Homry
2021-10-12
2022-03-09
  • Homry

    Homry - 2021-10-12

    Hello!

    I think I found a bug in parse_pdbqt.cpp at lines 504-506:
    if(p.immobileatom && i == p.immobileatom.get()) {}
    else pnode.insert(nr, c, b.node.getorigin());
    pnode.insertimmobiles(nr, c, b.node.getorigin());

    I think it is better to change these lines to:
    pnode.insert(nr, c, b.node.getorigin());

    Without the fix, it may happen that atoms are put into the child node that are not connected in this node at all.

    Due to that, conformations with incorrect geometry can be generated during global optimization, because of a non-existent torsion axis. (see attached files)
    Such conformations are cut off at the stage of local optimization, since conformations with the correct geometry give a better result.

    But the fix allows smina to consider larger number of correct conformations and increases the final affinity.

     
  • David Koes

    David Koes - 2021-10-12

    Can you provide example structures?

     
  • Homry

    Homry - 2021-10-12

    Example structures:

     
  • David Koes

    David Koes - 2021-10-13

    It's going to be a while before I can have the time to look into this in more detail and understand your proposed fix, but I do not see an artificial constraint being added. If you --randomize_only then smina is more than happy to produce extended conformations with these atoms far apart. However, if you minimize the compound it likes to put them together to get better intramolecular contacts.

     
  • David Koes

    David Koes - 2022-03-09

    I've stepped through the code and it seems to be doing exactly what it is suppose to and the fix would break things.

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.