Thank you very much for your detailed and clear explanation Greg. The point is clear for me now,
best regards Alfredo Enviado desde BlueMail En 25 de mayo de 2019 00:39, en 00:39, Greg Landrum <greg.land...@gmail.com> escribió: >Hi Alfredo, > >There are two things going on here: > >1) If stereocenters are not specified, the RDKit will not take them >into >account when generating conformers. This means you'll get a "random" >configuration for each stereoisomer in each conformation (I put random >in >quotes because that's not strictly true, but that's a longer >discussion). >The fact that you happened to get an S,S configurations when you didnt' >specify the stereochemistry is really just luck. > >2) The conformation generation includes a random process. If you make >two >separate calls to the EmbedMolecule for exactly the same molecule, >you'll >typically get different results. > >Here's a demonstration of that for your molecule with fully specified >stereochemistry: > >In [81]: def run_smiles(smi,seed): > ...: m = Chem.MolFromSmiles(smi) > ...: ma = Chem.AddHs(m) > ...: mb = Chem.AddHs(m) > ...: params = AllChem.ETKDGv2() > ...: if seed is not None: > ...: params.randomSeed = seed > ...: AllChem.EmbedMolecule(ma,params) > ...: AllChem.EmbedMolecule(mb,params) > >...: # use GetBestRMS() to show how different the conformations >are: > >...: print(AllChem.GetBestRMS(Chem.RemoveHs(ma),Chem.RemoveHs(mb))) > ...: Chem.AssignStereochemistryFrom3D(ma) > ...: Chem.AssignStereochemistryFrom3D(mb) > ...: >print(Chem.FindMolChiralCenters(ma),Chem.FindMolChiralCenters(mb)) > ...: > > >In [86]: run_smiles('CCCC[C@@H](C(=O)COc1c(F)c(F)cc(F)c1F)n1cc([C@ >@](C)(NCc2ccn3nccc3n2)C2CCCC2)nn1',None) >2.1825663314354418 >[(4, 'S'), (22, 'S')] [(4, 'S'), (22, 'S')] > > >If you want to get reproducible results from the conformation >generation, >you need to provide a random number seed to the embedding call: > >In [87]: >run_smiles('CCCC[C@@H](C(=O)COc1c(F)c(F)cc(F)c1F)n1cc([C@@](C)(NCc2ccn3nccc3n2)C2CCCC2)nn1',0xf00d) > >1.4715514179429237e-07 >[(4, 'S'), (22, 'S')] [(4, 'S'), (22, 'S')] > > >Here's a demo of the same effect for the version of your molecule with >partially specified stereo: > >In [89]: run_smiles('CCCCC(C(=O)COc1c(F)c(F)cc(F)c1F)n1cc([C@ >@](C)(NCc2ccn3nccc3n2)C2CCCC2)nn1',None) >2.889576407915814 >[(4, 'R'), (22, 'S')] [(4, 'S'), (22, 'S')] > >In [90]: run_smiles('CCCCC(C(=O)COc1c(F)c(F)cc(F)c1F)n1cc([C@ >@](C)(NCc2ccn3nccc3n2)C2CCCC2)nn1',0xf00d) >1.0405439864921206e-07 >[(4, 'R'), (22, 'S')] [(4, 'R'), (22, 'S')] > >In [91]: run_smiles('CCCCC(C(=O)COc1c(F)c(F)cc(F)c1F)n1cc([C@ >@](C)(NCc2ccn3nccc3n2)C2CCCC2)nn1',23) >0.0 >[(4, 'S'), (22, 'S')] [(4, 'S'), (22, 'S')] > > > >I hope this helps, >-greg > >On Thu, May 23, 2019 at 8:34 PM Alfredo Quevedo ><maquevedo....@gmail.com> >wrote: > >> Good afternoon, >> >> I am generating 3D structures in .pdb format starting from smiles >> notation. I am working with chiral molecules, and noted that the 3D >> structure obtained when generating the molecule explicitly indicating >> the configuration of the stereocenter is sligthly different from that >> obtained when the configuration of the stereocenter is not explicitly >> indicated. A pair of examples are as follows: >> >> #No explicit stereochemistry in the 1st chiral center >> m = >> Chem.MolFromSmiles('CCCCC(C(=O)COc1c(F)c(F)cc(F)c1F)n1cc([C@ >> @](C)(NCc2ccn3nccc3n2)C2CCCC2)nn1´) >> m3d = Chem.AddHs(m) >> AllChem.EmbedMolecule(m3d, AllChem.ETKDG()) >> print(Chem.MolToPDBBlock(m3d, flavor=2),file = open(' molecule1.pdb', >> 'w+')) >> >> >> #Explicit stereochemistry in the 1st chiral center >> m = >> Chem.MolFromSmiles('CCCC[C@@H](C(=O)COc1c(F)c(F)cc(F)c1F)n1cc([C@ >> @](C)(NCc2ccn3nccc3n2)C2CCCC2)nn1´) >> m3d = Chem.AddHs(m) >> AllChem.EmbedMolecule(m3d, AllChem.ETKDG()) >> print(Chem.MolToPDBBlock(m3d, flavor=2),file = open(' molecule2.pdb', >> 'w+')) >> >> >> So in both cases I get the S,S enantiomers, but molecule1 is not >> perfectly superimposable on molecule2, which leads to further resp >> fitted charges differences. >> >> Any idea why expicitly indicating the configuration of the first >> stereocenter is giving slighlty different results regarding the 3D >> conformation compared to not indicating it? >> >> Thanks in advance for the help, >> >> best regards >> >> Alfredo >> >> >> >> >> >> >> >> _______________________________________________ >> 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