> 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

Reply via email to