On Thu, 1 Jul 2010 15:05:57 +0200 Tim Vandermeersch <tim.vandermeer...@gmail.com> wrote:
> On Thu, Jul 1, 2010 at 2:44 PM, Noel O'Boyle <baoille...@gmail.com> > wrote: > > On 1 July 2010 12:17, Tim Vandermeersch > > <tim.vandermeer...@gmail.com> wrote: > >> On Thu, Jul 1, 2010 at 11:02 AM, Noel O'Boyle > >> <baoille...@gmail.com> wrote: > >>> On 30 June 2010 16:44, Geoffrey Hutchison > >>> <ge...@geoffhutchison.net> wrote: > >>>>> bliss. bliss is GPLv2 and available from > >>>>> http://www.tcs.hut.fi/Software/bliss/. My code also has a > >>>>> dependency on Eigen2. > >>>> > >>>> I'm not thrilled at the idea of adding additional dependencies. > >>>> I know people like Kabsch alignment, but we can also distribute > >>>> a "contributed" program for those who want it and are willing to > >>>> install bliss separately. > >>> > >>> Hmmm...well, the additional dependency could be circumvented if > >>> we had an isomorphism tester (essentially, do these two sets of > >>> atoms map onto each other?). This would not be as efficient as > >>> using bliss, but it would work. I'll hold the code back (well, > >>> it's available on my github mirror) then until we have one of > >>> these. > >> > >> Writing an efficient automorphism algorithm is not trivial. > >> Checking all permutations for equivalent symmetry classes is not > >> acceptable for general use (I used it for validation in the past). > >> Inositol could easily take several hours. > > > > Well, I would say it is acceptable for the majority of cases, and > > for a minority of cases, it has really terrible performance. > > However, the CDK has had an Isomorphism Tester for years (it > > wouldn't have taken symmetry into account AFAIK though). It may > > have been updated since, but several years ago it simply had a > > time-out if it failed to finish after 10 seconds (or something). > > It's a very useful function to have. > > We also have a isomorphism tester, the SMARTS substructure search. You > could use a smiles to get all mappings for a molecule. These would be > the automorphisms (I haven't tested this but it should work AFAIK). > There are many optimizations that would be missed here though. The > symmetry classes are the most obvious optimization, we can start with > unique symmetry classes already mapped. > > A timeout is a good idea. > I think elapsed time is not very good criterion. Maybe iteration number or some convergence criteria? -- Regards, Konstantin ------------------------------------------------------------------------------ This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first _______________________________________________ OpenBabel-Devel mailing list OpenBabel-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-devel