Hi all,

I opened an issue at rdkit-github for that matter.

https://github.com/rdkit/rdkit/issues/626

Thanks to your comments! If you want look at the code snippet I posted.
At the moment, simply all stereo-isomers are generated.

regards
Soren

On Fri, Sep 25, 2015 at 12:19 AM, Axel Pahl <axelp...@gmx.de> wrote:

> Hi Soren,
>
> maybe this function which enumerates racemates with one stereocenter into
> the corresponding enantiomers might help:
>
> def enum_racemates(sdf_list_or_file, find_only=True, mol_id="molid"):
>     """returns: result_sdf::list<mol>, racemic_molids::list<int>
>     find_only==True:  return new sdf as list which contains all the
> racemates of the input sdf.
>     find_only==False: return new sdf as list with ALL input structures,
> where the racemates are
>                       replaced by their two enantiomers. The returned sdf
> is always
>                       equal in size or larger as the input sdf.
>     Multiple stereo centers are not yet handled.
>     In the new sdf the molids are no longer unique and should be reassigned
>     (remove molid and run calc_props(sdf))."""
>
>     result_sdf = Mol_List()
>     racemic_molids = []
>
>     if not isinstance(sdf_list_or_file, list) and
> sdf_list_or_file.atEnd(): # sdf is file
>         print("  * file object is at end, please reload.")
>         return None
>
>     for mol in sdf_list_or_file:
>         first_undefined = False
>         chiral_centers  = Chem.FindMolChiralCenters(mol,
> includeUnassigned=True)
>
>         if chiral_centers:
>             first_center    = chiral_centers[0][0]
>             first_undefined = chiral_centers[0][1] == "?"
>
>         if first_undefined:
>             racemic_molids.append(int(mol.GetProp(mol_id)))
>             if find_only:
>                 result_sdf.append(mol)
>                 continue
>
>             else:
>                 mol1 = Chem.Mol(mol)
>                 mol2 = Chem.Mol(mol)
>
> mol1.GetAtomWithIdx(first_center).SetChiralTag(Chem.rdchem.ChiralType.CHI_TETRAHEDRAL_CW)
>
> mol2.GetAtomWithIdx(first_center).SetChiralTag(Chem.rdchem.ChiralType.CHI_TETRAHEDRAL_CCW)
>                 result_sdf.append(mol1)
>                 result_sdf.append(mol2)
>
>         else:
>             if not find_only: # return ALL mols
>                 result_sdf.append(mol)
>
>     return result_sdf, racemic_molids
>
> Please also have a look at this post
> http://sourceforge.net/p/rdkit/mailman/message/32390126/ and Toby's
> answer which pointed me in the right direction.
>
> Kind regards,
> Axel
>
>
> On 24.09.2015 23: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 
> listRdkit-discuss@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/rdkit-discuss
>
>
>
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> 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