Hi all, I am trying to get my head around the tautomer function. Here a few issues, could you help me getting into touch with Tim, or someone else being able to help with the tautomerization functionality?
First, the canonical tautomer function is less tautomeric than I would wish for. The following molecules are not normalized correctly, I get two different tautomeric versions. Test file and debugging log files are attached. In both cases I would expect: CC(=O)Cc1ccccc1 Second, the full enumeration is just not working. In the case of NOT defining "-c" I would expect to get all possible tautomers as defined by the Functor class class Functor : public OpenBabel::TautomerFunctor but I just get one structure all the time? Any clues what goes wrong? Cheers /.Joerg -- Web <http://www.joergkurtwegner.eu>, Twitter<http://twitter.com/joergkurtwegner>, LinkedIn <http://linkedin.com/in/joergkurtwegner>, FOAF<http://foaf-visualizer.org/?uri=http://www.joergkurtwegner.eu/foaf.xml&hl=en>, FaceBook <http://www.facebook.com/joergkurtwegner>, Google+<https://plus.google.com/116731043002877336055/posts>
Atom Types: 0: Hybridized 1: Hybridized 2: Hybridized 3: Hybridized 4: Hybridized 5: Hybridized 6: Other 7: Hybridized 8: Acceptor 9: Other Bond Types: 0: Unassigned 1: Unassigned 2: Unassigned 3: Unassigned 4: Unassigned 5: Unassigned 6: Assigned 7: Assigned 8: Unassigned 9: Assigned Atom Types: 0: Hybridized 1: Hybridized 2: Hybridized 3: Hybridized 4: Hybridized 5: Hybridized 6: Other 7: Hybridized 8: Unassigned 9: Other EnumerateRecursive Assigned 8 Acceptor -> Rule 5: Assign 7-8 Double -> Rule 5: Assign 5-0 Double -> Rule 5: Assign 1-2 Double -> Rule 4: Assign 2-3 Single -> Rule 4: Assign 4-5 Single -> Rule 5: Assign 3-4 Double --> LeafNode reached... Change? 8 A 8 A Backtrack... 8 CC(=O)Cc1ccccc1 Atom Types: 0: Hybridized 1: Hybridized 2: Hybridized 3: Hybridized 4: Hybridized 5: Hybridized 6: Hybridized 7: Hybridized 8: Donor 9: Other Bond Types: 0: Unassigned 1: Unassigned 2: Unassigned 3: Unassigned 4: Unassigned 5: Unassigned 6: Unassigned 7: Unassigned 8: Unassigned 9: Assigned Atom Types: 0: Hybridized 1: Hybridized 2: Hybridized 3: Hybridized 4: Hybridized 5: Hybridized 6: Hybridized 7: Hybridized 8: Unassigned 9: Other EnumerateRecursive Assigned 8 Donor -> Rule 1: Assign 7-8 Single -> Rule 5: Assign 6-7 Double -> Rule 4: Assign 0-6 Single -> Rule 5: Assign 5-0 Double -> Rule 5: Assign 1-2 Double -> Rule 4: Assign 2-3 Single -> Rule 4: Assign 4-5 Single -> Rule 5: Assign 3-4 Double --> LeafNode reached... Change? 8 D Change 8 to Acceptor -> Rule 5: Assign 1-2 Double -> Rule 5: Assign 7-8 Double -> Rule 4: Assign 2-3 Single -> Rule 4: Assign 6-7 Single -> Rule 5: Assign 3-4 Double -> Rule 5: Assign 0-6 Double -> Rule 4: Assign 5-0 Single -> Rule 4: Assign 4-5 Single invalid Acceptor/Hybridized 1 8 A Backtrack... 8 CC(=Cc1ccccc1)O
test4.sdf
Description: Binary data
Atom Types: 0: Hybridized 1: Hybridized 2: Hybridized 3: Hybridized 4: Hybridized 5: Hybridized 6: Other 7: Hybridized 8: Acceptor 9: Other Bond Types: 0: Unassigned 1: Unassigned 2: Unassigned 3: Unassigned 4: Unassigned 5: Unassigned 6: Assigned 7: Assigned 8: Unassigned 9: Assigned Atom Types: 0: Hybridized 1: Hybridized 2: Hybridized 3: Hybridized 4: Hybridized 5: Hybridized 6: Other 7: Hybridized 8: Unassigned 9: Other EnumerateRecursive Assigned 8 Acceptor -> Rule 5: Assign 7-8 Double -> Rule 5: Assign 5-0 Double -> Rule 5: Assign 1-2 Double -> Rule 4: Assign 2-3 Single -> Rule 4: Assign 4-5 Single -> Rule 5: Assign 3-4 Double --> LeafNode reached... CC(=O)Cc1ccccc1 Change? 8 A 8 A Backtrack... 8 Atom Types: 0: Hybridized 1: Hybridized 2: Hybridized 3: Hybridized 4: Hybridized 5: Hybridized 6: Hybridized 7: Hybridized 8: Donor 9: Other Bond Types: 0: Unassigned 1: Unassigned 2: Unassigned 3: Unassigned 4: Unassigned 5: Unassigned 6: Unassigned 7: Unassigned 8: Unassigned 9: Assigned Atom Types: 0: Hybridized 1: Hybridized 2: Hybridized 3: Hybridized 4: Hybridized 5: Hybridized 6: Hybridized 7: Hybridized 8: Unassigned 9: Other EnumerateRecursive Assigned 8 Donor -> Rule 1: Assign 7-8 Single -> Rule 5: Assign 6-7 Double -> Rule 4: Assign 0-6 Single -> Rule 5: Assign 5-0 Double -> Rule 5: Assign 1-2 Double -> Rule 4: Assign 2-3 Single -> Rule 4: Assign 4-5 Single -> Rule 5: Assign 3-4 Double --> LeafNode reached... C/C(=C\c1ccccc1)/O Change? 8 D Change 8 to Acceptor -> Rule 5: Assign 1-2 Double -> Rule 5: Assign 7-8 Double -> Rule 4: Assign 2-3 Single -> Rule 4: Assign 6-7 Single -> Rule 5: Assign 3-4 Double -> Rule 5: Assign 0-6 Double -> Rule 4: Assign 5-0 Single -> Rule 4: Assign 4-5 Single invalid Acceptor/Hybridized 1 8 A Backtrack... 8
------------------------------------------------------------------------------ For Developers, A Lot Can Happen In A Second. Boundary is the first to Know...and Tell You. Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________ OpenBabel-discuss mailing list OpenBabel-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-discuss