Re: [Rdkit-discuss] Generating all stereochem possibilities from smile

2016-12-11 Thread James Johnson
Thank you all again for the great responses! :) There seems to be a consensus between Andrew and Pavel that the solution is with SetBondDir(). I've tried Pavel's functions get_unspec_double_bonds() and set_double_bond_stereo() in python 2 (couldn't figure out how to get RDkit set up in python 3,

Re: [Rdkit-discuss] Generating all stereochem possibilities from smile

2016-12-09 Thread Pavel Polishchuk
I just want to share my script, which I use for enumeration of stereoisomers. Enumeration of double bonds was added quite recently and thus I didn't test it extensively. I put it on github: https://github.com/DrrDom/rdk It seems to work well on quite complex queries like

Re: [Rdkit-discuss] Generating all stereochem possibilities from smile

2016-12-09 Thread Brian Cole
So I may need a little guidance on this one from someone with a little more historical knowledge of RDKit. I found the findPotentialStereoBonds function inside Chirality.cpp that appears to do what we want, detect double bonds with unspecified E/Z stereo chemistry. That's at least what the

Re: [Rdkit-discuss] Generating all stereochem possibilities from smile

2016-12-09 Thread Brian Cole
This has me quite curious now, how do we detect unspecified bond stereo chemistry in RDKit? m = Chem.MolFromSmiles("FC=CF") assert m.HasProp("_StereochemDone") for bond in m.GetBonds(): print(bond.GetBondDir(), bond.GetStereo()) Yields: (rdkit.Chem.rdchem.BondDir.NONE,

Re: [Rdkit-discuss] Generating all stereochem possibilities from smile

2016-12-09 Thread Andrew Dalke
On Dec 9, 2016, at 9:50 PM, Brian Kelley wrote: > >>> from rdkit import Chem > >>> m = Chem.MolFromSmiles("F/C=C/F") > >>> for bond in m.GetBonds(): > ...print bond.GetStereo() > ... > STEREONONE > STEREOE > STEREONONE > > However, setting bond stereo doesn't appear to be exposed. I thought

Re: [Rdkit-discuss] Generating all stereochem possibilities from smile

2016-12-09 Thread Brian Kelley
bond.GetStereo >>> from rdkit import Chem >>> m = Chem.MolFromSmiles("F/C=C/F") >>> for bond in m.GetBonds(): ...print bond.GetStereo() ... STEREONONE STEREOE STEREONONE However, setting bond stereo doesn't appear to be exposed. I suppose you could permute the smiles strings \ => /

Re: [Rdkit-discuss] Generating all stereochem possibilities from smile

2016-12-09 Thread James Johnson
Thank you all for your responses. I got R/S combos to work (awesome!), but now I am working on E/Z. I am considering a similar approach (0 would be interpreted as E, 1 as Z). However to do this I would need two functions which I couldn't find 1.) Find double bonds that could be E/Z. 2.) Set the

Re: [Rdkit-discuss] Generating all stereochem possibilities from smile

2016-12-09 Thread Rafal Roszak
On Thu, 8 Dec 2016 23:21:24 -0800 James Johnson wrote: > Hello all, I am trying to generate R and S from: CCC(C)(Cl)Br > > Below is the code for making the smi to mol file. Can someone give me some > guidance to generate all sterochem possibilities? There are two ways