Hi Toby,


I'd say it's more of a limitation inherent in Kekule representations than
an actual bug in RDKit.  Trying to get too "clever" in figuring out what
the user meant usually causes more harm than good.



I'm not sure what version of RDKit you're using, but the aromatic
specification with an explicit hydrogen on one of the nitrogen atoms works
for me:



>>> Chem.MolFromSmiles('n1[nH]ccc1').Debug();

Atoms:

        0 7 N chg: 0  deg: 2 exp: 3 imp: 0 hyb: 3 arom?: 1 chi: 0

        1 7 N chg: 0  deg: 2 exp: 3 imp: 0 hyb: 3 arom?: 1 chi: 0

        2 6 C chg: 0  deg: 2 exp: 3 imp: 1 hyb: 3 arom?: 1 chi: 0

        3 6 C chg: 0  deg: 2 exp: 3 imp: 1 hyb: 3 arom?: 1 chi: 0

        4 6 C chg: 0  deg: 2 exp: 3 imp: 1 hyb: 3 arom?: 1 chi: 0

Bonds:

        0 0->1 order: 12 conj?: 1 aromatic?: 1

        1 1->2 order: 12 conj?: 1 aromatic?: 1

        2 2->3 order: 12 conj?: 1 aromatic?: 1

        3 3->4 order: 12 conj?: 1 aromatic?: 1

        4 4->0 order: 12 conj?: 1 aromatic?: 1



The double bonds in the Kekule representations here can be between atom
pairs 1,2 and 3,4 or between atom pairs 2,3 and 4,0.  Putting one between
pair 0,1 leaves atom 4 with two single bonds to it (and therefore, to
satisfy valence requirements, two implicit hydrogens); I'm not horribly
surprised that RDKit perceives that as aliphatic.  You can see that's
what's happening in your second example where the hybridization of atom 4
is 4 (sp3) instead of 3 (sp2).



Regards,

Bob



--

Bob Funchess, Ph.D.                                                Kelaroo,
Inc

Senior Scientist
www.kelaroo.com

bfunch...@kelaroo.com                                         (858)
259-7561 x3







*From:* Toby Wright [mailto:toby.wri...@inhibox.com]
*Sent:* Monday, March 03, 2014 7:42 AM
*To:* RDKit Discuss
*Subject:* [Rdkit-discuss] Two nitrogens in a 5 membered ring



Hi,

If I have a five membered ring with 2 consecutive Ns and alternating single
and double bonds expressed by the smiles: N1N=CC=C1 RDKit gives me a
molecule in which every atom is aromatic. If I give it: N1=NC=CC1 it gives
me a molecule in which every atom is aliphatic. If I give it: n1nccc1 it
gives me a kekulization error. I, possibly naively, thought the forms would
be all aromatic or all aliphatic. Am I missing something or is this a bug?

>>> Chem.MolFromSmiles('N1N=CC=C1').Debug()
Atoms:
    0 7 N chg: 0  deg: 2 exp: 3 imp: 0 hyb: 3 arom?: 1 chi: 0
    1 7 N chg: 0  deg: 2 exp: 3 imp: 0 hyb: 3 arom?: 1 chi: 0
    2 6 C chg: 0  deg: 2 exp: 3 imp: 1 hyb: 3 arom?: 1 chi: 0
    3 6 C chg: 0  deg: 2 exp: 3 imp: 1 hyb: 3 arom?: 1 chi: 0
    4 6 C chg: 0  deg: 2 exp: 3 imp: 1 hyb: 3 arom?: 1 chi: 0
Bonds:
    0 0->1 order: 12 conj?: 1 aromatic?: 1
    1 1->2 order: 12 conj?: 1 aromatic?: 1
    2 2->3 order: 12 conj?: 1 aromatic?: 1
    3 3->4 order: 12 conj?: 1 aromatic?: 1
    4 4->0 order: 12 conj?: 1 aromatic?: 1

>>> Chem.MolFromSmiles('N1=NC=CC1').Debug()
Atoms:
    0 7 N chg: 0  deg: 2 exp: 3 imp: 0 hyb: 3 arom?: 0 chi: 0
    1 7 N chg: 0  deg: 2 exp: 3 imp: 0 hyb: 3 arom?: 0 chi: 0
    2 6 C chg: 0  deg: 2 exp: 3 imp: 1 hyb: 3 arom?: 0 chi: 0
    3 6 C chg: 0  deg: 2 exp: 3 imp: 1 hyb: 3 arom?: 0 chi: 0
    4 6 C chg: 0  deg: 2 exp: 2 imp: 2 hyb: 4 arom?: 0 chi: 0
Bonds:
    0 0->1 order: 2 conj?: 1 aromatic?: 0
    1 1->2 order: 1 conj?: 1 aromatic?: 0
    2 2->3 order: 2 conj?: 1 aromatic?: 0
    3 3->4 order: 1 conj?: 0 aromatic?: 0
    4 4->0 order: 1 conj?: 0 aromatic?: 0

>>> Chem.MolFromSmiles('n1nccc1').Debug()
[15:31:44] Can't kekulize mol

Yours,

Toby Wright

--

InhibOx Ltd
------------------------------

No virus found in this message.
Checked by AVG - www.avg.com
Version: 2014.0.4335 / Virus Database: 3697/7090 - Release Date: 02/13/14
Internal Virus Database is out of date.
------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works. 
Faster operations. Version large binaries.  Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to