Geoffrey Hutchison wrote:
> 
> On Oct 29, 2009, at 2:40 PM, Craig A. James wrote:
> 
>> This is a good topic for OpenBabel 3.  There really is no such thing 
>> as an "aromatic atom".  Aromaticity is only a property of bonds and 
>> ring systems.  It might make sense to eliminate the "atom-is-aromatic" 
>> property altogether.
> 
> That's a tough call, though. What do you do with SMARTS "c" or atom 
> typing for Sybyl Mol2, which wants "C.ar" or similar?
> 
> I somewhat agree with your premise, but there's too much existing 
> weight. A more accurate question would be "is this atom aromatic in this 
> ring?"

I think the trick would be to keep the "aromatic atom" concept externally.  As 
you and others point out, it's useful.  But it should be clearly defined as a 
sort of conceptual shorthand for "an atom with aromatic bonds."

Internally, all algorithms that deal with aromaticity should do it at the bond 
level.  Take this function from ring.cpp:

  bool OBRing::IsAromatic()
  {
    OBMol *mol = _parent;
    vector<int>::iterator i;
    for (i = _path.begin();i != _path.end();++i)
      if (!(mol->GetAtom(*i))->IsAromatic())
        return(false);
    return(true);
  }

This simply gives the wrong answer.  The premise that, "A ring is aromatic if 
its atoms are aromatic," is false.

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