Re: [Rdkit-discuss] SDF and FindMolChiralCenters()
Open-Source Cheminformatics and Machine Learning
Brought to you by:
glandrum
From: Paolo T. <pao...@un...> - 2016-09-09 22:40:51
|
Dear Dimitri, the MOL reader perceives chirality based on the bond stereo field of the bond block. Instead the atom stereo parity value of the atom block is read and stored in the "molParity" atom property, but it is ignored for the purpose of chirality perception, as per the MOL file specs: http://c4.cabrillo.edu/404/ctfile.pdf (see in particular Figure 4) Therefore, if the MOL file lacks the bond stereo information chirality won't be set. This Jupyter notebook exemplifies the above: https://gist.github.com/ptosco/abbab6e39f9d3bd03676f06ecd331bd9#file-bondstereo-ipynb Hope this helps, Paolo On 09/09/2016 22:42, Dimitri Maziuk wrote: > Hi everyone, > > m = rdkit.Chem.SupplierFromFilename( filename, removeHs = False ).next() > sts = rdkit.Chem.FindMolChiralCenters( m, includeUnassigned = True ) > for s in sts : > lbl = m.GetAtomWithIdx( s[0] ).GetSymbol() + str( s[0] + 1 ) > print lbl, ":", s[1] > > For L-ALA 3D SDF the output is > C4 : ? > For D-ALA 3D SDF the output is also > C4 : ? > And for ALA 2D SDF the output is also > C4 : ? > If I change includeUnassigned to False, the list returned by > FindMolChiralCenters() is empty. > > The SDFs have 1, 2, and 3 in the 7th column in the atom block. > > If I use > m = rdkit.Chem.MolFromSmiles( 'C[C@@H](C(=O)O)N' ) > instead, the output is > C2 : S > (this is L-ALA from the same PubChem record as the SDF). > > So it looks like MOL reader ignores chirality, is that the case? > > Thanks, > > > ------------------------------------------------------------------------------ > > > _______________________________________________ > Rdkit-discuss mailing list > Rdk...@li... > https://lists.sourceforge.net/lists/listinfo/rdkit-discuss |