Hi Greg, thanks for the suggestion. Though the following

m = Chem.MolFromSmiles('c1c2ccnc2ccc1',False)
Draw.MolToFile(m,'temp.png',kekulize=False)

Still throws as:

****
Pre-condition Violation
getNumImplicitHs() called without preceding call to calcImplicitValence()
Violation occurred on line 162 in file GraphMol/Atom.cpp
Failed Expression: d_implicitValence>-1
****

The problem is that the CDL SMILES writer doesn't print explicit Hydrogens
in aromatic structures for saturated heteroatoms. This is because the CDL
Kekulization algorithm tries all possibilities of double-bond arrangements
in ring systems, including saturation of heteroatoms (one of the aromaticity
rules in CDL is that lone pairs of sp3 heteroatoms in ring systems
contribute to 2 delocalized pi electrons). So "c1c2ccnc2ccc1" is equivalent
to "c1c2cc[nH]c2ccc1" (which is accepted by RDKit) because saturating the
Nitrogen in the 5-member ring is the only way the ring system can be
aromatic (as defined by Hueckel's rule).

Is there any way RDKit can force the Kekulization (or try the saturation of
Heteroatoms in ring systems)?

Thanks,

Vlad
-- 
*Vladimir J Sykora, PhD*
Molplex Ltd
6-8 Charlotte Square
Newcastle Upon Tyne
NE1 4XF
United Kingdom
Tel. +44 (0)1912111965
Mob. +44 (0)7842905272
www.molplex.com
------------------------------------------------------------------------------
vRanger cuts backup time in half-while increasing security.
With the market-leading solution for virtual backup and recovery, 
you get blazing-fast, flexible, and affordable data protection.
Download your free trial now. 
http://p.sf.net/sfu/quest-d2dcopy1
_______________________________________________
Rdkit-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to