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