Re: [Rdkit-discuss] Generation of stereo-isomers
Open-Source Cheminformatics and Machine Learning
Brought to you by:
glandrum
|
From: Paolo T. <pao...@un...> - 2015-09-24 23:18:37
|
Dear Soren, I have recently used the RDKit to enumerate stereocentres. The approach I followed was to generate a 3D structure for the molecule of interest (including hydrogens) using EmbedMolecule(), followed by MMFF optimization; do not pay attention to stereochemistry at this stage. Then I used FindMolChiralCenters() to find the n chiral centres in the 3D structure thus obtained; there are 2^n theoretical possible diastereomers. You may enumerate all of them with a "for i in range (0, 2^n)" loop; converting i to binary, and considering 0 for S and 1 for R, you may easily find all possible combinations. Use SetChiralTag() to set the chirality on each stereocentre, then rebuild 3D coordinates with EmbedMolecule() followed by MMFF optimization. Carry out a final check to verify that the chirality of the molecule is the one you initially required; if not, try to rebuild 3D coordinates. If you fail, say, 20 times in a row, it means you are attempting to build a diastereomer that cannot give rise to a sensible 3D geometry (such as the case mentioned by Peter); then give up. You will also need to check if any of the structures that you obtain during the enumeration has more chiral centres than the initial one (for which you didn't specify steeochemistry); in fact, it could be that you started from a meso structure. If this happens, just restart enumeration from scratch with the increased number of stereocentres. I also carried out some geometry checks on the generated stereocentres coupled with MMFF energy evaluation relative to the most stable diastereomer to make sure that the diastereomers obtained where reasonable and not unreasonably strained. This brute-force enumeration is easy to implement, reasonably fast, and it worked very well for me. Kind regards, Paolo On 24/09/2015 22:17, Soren Wacker wrote: > Hi, > > is it possible with RDKit to generate all stereoisomers of a given > compound? > > If not, is anyone working on it? > > If not, how difficult would it be / what would be the best way to > implement such a function. > > best regards > > Soren > > > ------------------------------------------------------------------------------ > > > _______________________________________________ > Rdkit-discuss mailing list > Rdk...@li... > https://lists.sourceforge.net/lists/listinfo/rdkit-discuss |