there was recently a post about various alternative aromaticity perception models:
While principally simply, converting a Hueckel rule into an algorithm leaves many unanswered questions.This causes most tools to disagree with each other on whether molecules are aromatic. (I'm sure it gets even interesting of we look at which bonds are aromatic).
I do not know how the reference (gold) list was created (I left that question), but the CDK tool makes the following interesting choices:
Now, the latter choice is based on user bugs from the past, but a bit controversial. I am not sure if choice 2 puts us in one of the groups, rather than the other, but it could be.
Anyway, I have long planned to make an alternative aromaticity perception tool that does not worry about the double bond sprouting, as many other tools are happily marking benzoquinone as aromatic.
Hence these three patches:
The first patch  introduces a new class called DoubleBondAcceptingAromaticityDetector to perceive aromaticity (with unit tests). It also extends the JavaDoc of the CDKHueckelAromaticityDetector, explain this double bond sprouting, and pointing to the new class as alternative.
The second patch  actually fixes a unrelated bug in one of the unit tests (for both the old and the new aromaticity perception classes): the placement of the double bonds is not deterministic, and thus testing that the placement is exactly the same in not the correct way of testing it. Instead, it now tests just if for both molecules all atoms are aromatic.
The new class is using the same algorithm (and copies the implementation), with the exception of the double bonds pointing out of the ring. Thus, the new class will find more molecules to be 'aromatic'.
This patch introduces a new class (thus new API) is tested, and aimed at cdk-1.4.x.
Your comments are most welcome.
Log in to post a comment.