Hi, Using openbabel trunk there are still a number of cases where highly symmetric molecules can not be canonicalized. See my blog posts for examples: http://timvdm.blogspot.com
To correctly select a minimum or maximum canonical labeling, I was planning to implement the algorithm from the 1993 Razinger paper on stereoisomer generation. The final result is a signed permutation matrix where equal rows represent the same stereoisomer. However, constructing these matrices requires the automorphism group of a structure. While I have some code to do this, a reasonably fast method is required for structures like inositol where the initial graph invariant atom partitioning still leaves us with 6! * 6! combinations. (See also: http://depth-first.com/articles/2009/09/15/stereoisomer-generation , http://depth-first.com/articles/2009/09/16/stereochemistry-puzzler-how-many-stereoisomers-for-these-69-structures ) Rich Apodaca suggested using the VFLib algorithm to limit the search space. However, my first attempt wasn't very successful and I thought it would be a good idea to get some input before I spent (or waste) more time on this. If I have to get to the bottom of the VFLib algorithm I'd prefer to write the isomorphism matcher for MolCore at the same time, hopefully reusing parts of RDKit. Another option would be to use bliss (small library, could be embedded, http://www.tcs.hut.fi/Software/bliss/index.html, MIT license) to get a set of generators of the automorphism group. Ideas or feedback would be very welcome. If someone is more familiar with permutation groups and wants to help, that would also be great :-) Cheers, Tim ------------------------------------------------------------------------------ Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf _______________________________________________ OpenBabel-Devel mailing list OpenBabel-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-devel