> The weird thing is that IdentifyResidue can identify the first serine > without any problems; it just doesn't identify the second one. Also, > it will identify them both correctly if the --gen3d is omitted (or > more precisely, if the call to Builder.Build is omitted).
This bug report exposed two issues: 1) Chain / residue perception is brittle with respect to bond indexes (e.g., if the beta carbon has a bond to the side chain first or second) 2) OBBuilder::Build re-orders bonds (i.e., it deletes them all, creates some, and then adds the rest at the end) The most immediate fix should be to address #2 -- if the bonds are kept in the same order, the bug should disappear. The problem is that it leaves chains.cpp in a very brittle state -- reordering atoms or bonds would still cause hard-to-debug failures in residue perception. (Come to think of it, this explains several weird bug reports.) I will investigate a more permanent solution, but it may take time. This is opaque OpenEye code with poor commenting. The key problem seems to be in how the TracePeptideBackbone() function works -- it probably needs to be more flexible, particularly with C(O) atoms, which could either be SER side-chains or backbone atoms. Hope that helps, -Geoff ------------------------------------------------------------------------------ Learn Windows Azure Live! Tuesday, Dec 13, 2011 Microsoft is holding a special Learn Windows Azure training event for developers. It will provide a great way to learn Windows Azure and what it provides. You can attend the event by watching it streamed LIVE online. Learn more at http://p.sf.net/sfu/ms-windowsazure _______________________________________________ OpenBabel-Devel mailing list OpenBabel-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-devel