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 proceeds in the following order:
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.