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]: [image: image.png] 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]: [image: image.png] 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]: [image: image.png] 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> 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 > 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