Hi Paolo, Hmmm, I think this is displaying a bug (or at the very least unexpected behaviour) in the aromaticity code. The issue isn’t the aromaticity of the imidazole/dihydroimidazole, but the aromaticity of the pyridyl. Alexis’ second molecule is identical to the first except that one bond in the 5-membered ring was broken, and that (to my eyes at least) should not affect whether the 6-membered ring is seen as aromatic.
Regards, Mark. From: Paolo Tosco <paolo.tosco.m...@gmail.com> Sent: 27 November 2020 17:04 To: Alexis Parenty <alexis.parenty.h...@gmail.com> Cc: RDKit Discuss <rdkit-discuss@lists.sourceforge.net> Subject: Re: [Rdkit-discuss] canonicalization of two aromatic molecules returning two different forms (kekule and aromatic) Hi Alexis, The second molecule (smiles2) is indeed aromatic, but the first (smiles1) is not, as the imidazole ring condensed to the pyridine is partially saturated. The smiles1a analogue where I have added a double bond is aromatic, and upon canonicalization it yields an aromatic SMILES as expected. Cheers, p. from rdkit import Chem In [2]: mol1 = Chem.MolFromSmiles("N12C=CC=CC1=NCC2") In [3]: mol1 Out[3]: [cid:image001.png@01D6C4EB.7D142840] In [4]: smiles1 = Chem.MolToSmiles(mol1) In [5]: smiles1 Out[5]: 'C1=CC2=NCCN2C=C1' In [6]: mol2 = Chem.MolFromSmiles("CN=C1C=CC=CN1C") In [7]: mol2 Out[7]: [cid:image002.png@01D6C4EB.7D142840] In [8]: smiles2 = Chem.MolToSmiles(mol2) In [9]: smiles2 Out[9]: 'CN=c1ccccn1C' In [10]: mol1a = Chem.MolFromSmiles("N12C=CC=CC1=NC=C2") In [11]: mol1a Out[11]: [cid:image003.png@01D6C4EB.7D142840] In [12]: smiles1a = Chem.MolToSmiles(mol1a) In [13]: smiles1a Out[13]: 'c1ccn2ccnc2c1' On Fri, Nov 27, 2020 at 5:09 PM Alexis Parenty <alexis.parenty.h...@gmail.com<mailto:alexis.parenty.h...@gmail.com>> wrote: Hi everyone, Why is it that when I canonicalize the following smiles_1 I get its unexpected kekule form, whereas when I canonicalize a similar smiles_2, I get its expected aromatic form? From rdkit import Chem smiles1 = Chem.CanonSmiles("N12C=CC=CC1=NCC2") smiles ==> 'C1=CC2=NCCN2C=C1' smiles2 = Chem.CanonSmiles("CN=C1C=CC=CN1C") smiles2 ==> 'CN=c1ccccn1C' I would like to get the aromatic form in both cases... Is there a way to force the aromatic form? Best, Alexis _______________________________________________ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net<mailto:Rdkit-discuss@lists.sourceforge.net> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
_______________________________________________ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss