Geoff and I have had a short private conversation about aromaticity, and I had 
some ideas that are better expressed here on the discussion board.

Currently, OpenBabel's aromaticity (typer.cpp) is pretty well broken.  It seems 
to accept most correct structures, ordinary stuff like benzenes and pyridines, 
which is good.  But it also accepts totally bogus structures like this:

  echo "c1=c=c=c=c=c1" | babel -i smi -o smi
  c1ccccc1
  1 molecule converted

This is so wrong it makes my head spin.

It turns out the problem is fairly deep, and there is no simple solution to it, 
and part of it goes even to the SMARTS parser itself.

For my purposes, I just need it to work correctly for a cheminformatics system, 
i.e. for SMILES and SDF formats.  The SMILES definition of aromaticity is 
clear, and the chemical concept of aromaticity is irrelevant to me.

For the future, the work that Greg is doing with RDKit and OpenBabel 3, which 
will provide aromaticity plug-ins, is the right approach.

Until that's available, I need to rewrite the aromaticity code in typer.cpp and 
the rules in aromaticity.txt, to make them implement the SMILES aromaticity 
rules correctly.  But because the code will probably behave quite differently 
than it does now, I don't think I should check it back in to the Subversion 
repository.  I'll just keep my own private version for use in our 
cheminformatics system, and it (or a derivative of it) will only go in to 
OpenBabel when version 3 plug-in technology is available.

On the other hand, a different approach is just to make OpenBabel2 use a strict 
SMILES aromaticity definition.  I have trouble believing the current 
aromaticity definition is good science; at least with a strict SMILES 
definition, you'd know what you were getting.  But then, I'm a mathmatical, 
computer science type guy who took freshman chemistry and physics in college, 
then hung around chemists for a few decades.  I'm not a real chemist, so I'll 
leave that judgement to others.

Part 2 to follow...

Craig

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) 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/devconference
_______________________________________________
OpenBabel-Devel mailing list
OpenBabel-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-devel

Reply via email to