rdkit.Chem.rdEnumerateStereoisomers module — The RDKit 2025.09.6 documentation

# rdkit.Chem.rdEnumerateStereoisomers module

Module containing functions to enumerate stereoisomers of a molecule. Chiral centers and double bonds will be enumerated if unassigned, or, if the appropriate option is set, if assigned. Atropisomers will only be enumerated if assigned. There is, as yet, no means of finding unassigned atropisomers.

class rdkit.Chem.rdEnumerateStereoisomers.StereoEnumerationOptions((object)arg1) → None :

  Bases: `instance`

  EnumerateSteroisomers options.

  C++ signature :

    void __init__(_object*)

  property maxIsomers

    The maximum number of isomers to yield. If the number of possible isomers is greater than maxIsomers, a random subset will be yielded. If 0, there is no maximum. Since every additional stereocenter doubles the number of results (and execution time) it’s important to keep an eye on this.

  property onlyStereoGroups

    If true, only find stereoisomers that differ at the StereoGroups associated with the molecule. Default=False.

  property onlyUnassigned

    If true, stereocenters which have a specified stereochemistry will not be perturbed unless they are part of a relative stereo group. Default=True.

  property randomSeed

    Seed for random number generator. Default=-1 means no seed.

  property tryEmbedding

    If true, the process attempts to generate a standard RDKit distance geometry conformation for the stereoisomer. If this fails, we assume that the stereoisomer is non-physical and don’t return it. NOTE that this is computationally expensive and is just a heuristic that could result in stereoisomers being lost. Default=False

  property unique

    If true, only stereoisomers that differ in canonical CXSmiles will be returned. Default=True.

class rdkit.Chem.rdEnumerateStereoisomers.StereoisomerEnumerator((object)arg1, (object)arg2[, (object)options=None[, (bool)verbose=True]]) → None :

  Bases: `instance`

  Stereoisomer enumerator.

  C++ signature :

    void __init__(_object*,boost::python::api::object {lvalue} [,boost::python::api::object {lvalue}=None [,bool=True]])

  GetStereoisomerCount((StereoisomerEnumerator)arg1) → int :

    Get the number of stereoisomers.

    C++ signature :

      unsigned int GetStereoisomerCount((anonymous namespace)::LocalStereoEnumerator {lvalue})

  next((StereoisomerEnumerator)arg1) → rdkit.Chem.rdchem.Mol :

    Get next isomer in the sequence, or None if at the end.

    C++ signature :

      boost::shared_ptr<RDKit::ROMol> next((anonymous namespace)::LocalStereoEnumerator {lvalue})