Re: [Rdkit-discuss] EmbedMolecule ignoring double-bond ring stereochemistry
Open-Source Cheminformatics and Machine Learning
Brought to you by:
glandrum
From: Greg L. <gre...@gm...> - 2018-05-04 06:52:08
|
Hi Jason, This isn't a duplicate of #435, it's a limitation of the embedding code. The embedding code does *try* to obey the double bond stereo that you provide, but it doesn't always succeed (particularly in rings) and, unlike with atomic stereochemistry, there's nothing there to filter out non-matching conformations. Here's a brief example using your sample molecule: In [38]: m2 = Chem.AddHs(Chem.MolFromSmiles('C/1=C\\CCCCCCCCCC1')) In [39]: AllChem.EmbedMultipleConfs(m2,numConfs=100) Out[39]: <rdkit.rdBase._vectint at 0x2dd75499990> In [40]: for cid in cids: ...: smi = Chem.MolToSmiles(Chem.MolFromMolBlock(Chem.MolToMolBlock(Chem.RemoveHs(m2),confId=cid))) ...: if smi!='C1=C\\CCCCCCCCCC/1': ...: print(cid,smi) ...: 2 C1=C/CCCCCCCCCC/1 3 C1=C/CCCCCCCCCC/1 6 C1=C/CCCCCCCCCC/1 7 C1=C/CCCCCCCCCC/1 9 C1=C/CCCCCCCCCC/1 In [41]: m1 = Chem.AddHs(Chem.MolFromSmiles('C/1=C/CCCCCCCCCC1')) In [42]: AllChem.EmbedMultipleConfs(m1,numConfs=100) Out[42]: <rdkit.rdBase._vectint at 0x2dd75499b10> In [43]: for cid in cids: ...: smi = Chem.MolToSmiles(Chem.MolFromMolBlock(Chem.MolToMolBlock(Chem.RemoveHs(m1),confId=cid))) ...: if smi!='C1=C\\CCCCCCCCCC/1': ...: print(cid,smi) ...: As you can see, there are a few trans conformations generated for the molecule with the trans double bond, bu the vast majority are cis. The molecule with the cis double bond, on the other hand, only generates cis conformations. Adding the filter to remove the bad conformations should be relatively easy, and is work that's worth doing. Do you want to generate the github issue or shall I? Thanks for reporting this and providing the simple example. -greg On Wed, May 2, 2018 at 10:59 PM Jason Biggs <jas...@gm...> wrote: > I don't know if this is a duplicate of > https://github.com/rdkit/rdkit/issues/435 > > I notice that ring double-bond stereo gets quietly ignored by the > embedding code. Trying to make cis and trans cyclododecene (choosing a > large ring to minimize any strain), and they both come out cis. > > Using the SMILES "C/1=C\CCCCCCCCCC1" and "C/1=C/CCCCCCCCCC1", the 3D > structure comes out cis for both > > > > > > > > > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Rdkit-discuss mailing list > Rdk...@li... > https://lists.sourceforge.net/lists/listinfo/rdkit-discuss > |