bool OESliceEnsemble(OEChem::OEMCMolBase &mol, double rms=OESliceEnsembleDefaults::RMS,
                     double ewindow=OESliceEnsembleDefaults::EWindow,
                     unsigned maxconfs=OESliceEnsembleDefaults::MaxConfs)

Reduces the number of conformers in the input mol using the OMEGA deduplication algorithm. This allows for OEOmega to generate a very large ensemble with much looser deduplication parameters, and then to “slice” that ensemble of conformations by various different parameters after the fact. The default values for this function are picked from the OESliceEnsembleDefaults namespace.

Conformer slicing procedes in the following order:

  1. Slice by energy window. Decreasing this value will result in fewer conformers.
  2. Slice by RMS. Increasing this value will result in fewer conformers.
  3. Slice by maximum number of conformers. Decreasing this value will result in fewer conformers.


If the same energy window and RMS values are being chosen as the defaults being used in the previous OEOmega calculation, it will be faster to just delete conformers directly with OEMCMolBase::DeleteConf. This function is really intended to be run whenever the RMS has changed, or the conformer geometry itself has changed. As RMS deduplication is the expensive O(N^2) problem that requires many “tricks” to perform very fast.