Thank you for the very clear and informative response! 

Sent from Mail for Windows 10

From: Greg Landrum
Sent: Wednesday, July 29, 2020 11:32 PM
To: Sean Stromberg
Cc: dmaziuk via Rdkit-discuss
Subject: Re: [Rdkit-discuss] PandasTools.WriteSDF Chirality Bits

Hi Sean,

What you're describing sounds like a bug in DataWarrior.
The chirality bit conveys information that cannot be conveyed in standard 
SMILES.
The "official" definition (according to the "Biovia chemical representation 
guide") is:
If the bit is set it means that the structure is a single stereoisomer where 
the absolute stereochemistry is known. If the bit is not set then the relative 
stereochemistry of specified centers is known, the structure is either a single 
diastereomer or a mixture of two stereiosomers (if there's only stereocenter 
then it's a mixture of enantiomers). 
However, different people/pieces of code interpret the flag differently, so 
YMMV there.
This information is all much more explicitly and flexibly expressed using 
enhanced stereo in V3000 mol files, but that option is not available to 
everyone.

To answer your question, if you want to set the chirality bit in the output, 
you just need to set the property "_MolFileChiralFlag" on the molecule. Here's 
an example:
In [7]: m = Chem.MolFromSmiles('C[C@H](F)Cl')                                   
                               

In [8]: print(Chem.MolToMolBlock(m))                                            
                                

     RDKit          2D

  4  3  0  0  0  0  0  0  0  0999 V2000
    0.0000    0.0000    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    1.2990    0.7500    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    2.5981   -0.0000    0.0000 F   0  0  0  0  0  0  0  0  0  0  0  0
    1.2990    2.2500    0.0000 Cl  0  0  0  0  0  0  0  0  0  0  0  0
  2  1  1  1
  2  3  1  0
  2  4  1  0
M  END


In [9]: m.SetProp("_MolFileChiralFlag","1")                                     
                               

In [10]: print(Chem.MolToMolBlock(m))                                           
                               

     RDKit          2D

  4  3  0  0  1  0  0  0  0  0999 V2000
    0.0000    0.0000    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    1.2990    0.7500    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    2.5981   -0.0000    0.0000 F   0  0  0  0  0  0  0  0  0  0  0  0
    1.2990    2.2500    0.0000 Cl  0  0  0  0  0  0  0  0  0  0  0  0
  2  1  1  1
  2  3  1  0
  2  4  1  0
M  END

If you set this property for each molecule in your dataframe that has a chiral 
center, then you'll end up with the chiral flag set in the output SDF.

best,
-greg


On Wed, Jul 29, 2020 at 10:02 PM Sean Stromberg 
<sean.stromb...@eighteenfiftynine.com> wrote:
Hello,
 
I’m using PandasTools.WriteSDF to generate an SDF from smiles strings. The 
smiles strings have stereochemistry specified, and the bond tables in the SDF 
have the correct bond orientations, but the chirality bits aren’t set. When I 
open these SDFs in DataWarrior the bond angle information is ignored because 
the chirality bits aren’t set. I wrote a script to parse the text file and turn 
on the chirality bits to solve this and it works fine, but I’m wondering if 
there is some way to get WriteSDF to set the chirality bit for me.
 
Thanks for any help!
 
 
_______________________________________________
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

Reply via email to