Omega TK 4.0.0.6¶
- OEMolBuilder::Build no longer enumerates specified nitrogen when OEMolBuilderOptions::GetEnumNitrogen is OENitrogenEnumeration::Unspecified.
Omega TK 4.0.0¶
As part of the integration of OEToolkits and OEApplications into a single release, the version number of Omega TK has been upgraded to 4.0.0 to make it consistent with that of the OMEGA application.
New features¶
GPU-Omega, a GPU-accelerated implementation of the torsion driving algorithm, is now available. This will make use of any suitable Nvidia GPU on supported Linux platforms by default for classic mode runs. It is advised to read the GPU-Omega section of the documentation to ensure that your system meets all the prerequisites and that availability is understood for the different sampling modes. On systems that do not meet the requirements, GPU-Omega will be disabled and fall back to the CPU.
GPU-Omega introduces the following new APIs:
The following APIs have been promoted from preliminary API to stable API status:
- OEMacrocycleOmega
- OEMacrocycleOmegaOptions
- OEMacrocycleBuilder
- OEMacrocycleBuilderOptions
- OEMolBuilder
- OEMolBuilderOptions
- OEConformerBuilder
- OEFragBuilder
- OEFragBuilderOptions
- OEFragBuilderOptions
- OETorDriver
- OETorDriveOptions
- OEFragOptions
- OERingFragOptions
- OEConfFixOptions
- OEConfSlicer
- OESliceEnsembleOptions
- OEFragBuilderMode
- OEOmegaReturnCode
- OEGetOmegaError
- OEIsMacrocycle
The OEOmegaOptions class has been simplified and now consists of multiple sub-options: OEMolBuilderOptions, OETorDriveOptions, OESliceEnsembleOptions, and OEConfFixOptions. The specific methods to set or get option values are now provided through these sub-option classes.
A new abstract base class, OEBuilderBase, has been added that contains the basic functionality of the builders that use a fragment library.
The following new methods have been added to OEConfFixOptions:
Two new methods, OEFragBuilderOptions::SetForceField and OEFragBuilderOptions::GetForceField, have been added to the OEFragBuilderOptions class.
Two new methods, OEMacrocycleBuilderOptions::SetRandomSeed and OEMacrocycleBuilderOptions::GetRandomSeed, have been added to the OEMacrocycleBuilderOptions class.
The following new methods have been added to OEMacrocycleOmegaOptions:
A new method, OEMolBuilder::Prep, has been added to the OEMolBuilder class to prepare molecules for building.
Minor bug fixes¶
- The following methods now return bool, instead of a void:
- OEConfFixOptions::SetFixDeleteH
- OEConfFixOptions::SetFixMaxMatch
- OEConfFixOptions::SetFixMol
- OEConfFixOptions::SetFixPredicate
- OEConfFixOptions::SetFixRMS
- OEConfFixOptions::SetFixSmarts
- OEConfFixOptions::SetFixSubSearch
- OEConfFixOptions::SetFixUniqueMatch
- OEFragOptions::SetEnergyWindow
- OEFragOptions::SetFragGen
- OEFragOptions::SetFragKeep
- OEFragOptions::SetRMS
- OEFragOptions::SetTimeLimit
- OEMacrocycleBuilderOptions::SetDielectricConst
- OEMacrocycleBuilderOptions::SetRefTolerance
- OEMacrocycleBuilderOptions::SetSkipRefinement
- OEMacrocycleOmegaOptions::SetIterCycleSize
- OEMacrocycleOmegaOptions::SetMaxIter
- OEMolBuilderOptions::SetCanonOrder
- OEMolBuilderOptions::SetEnumNitrogen
- OEMolBuilderOptions::SetEnumRing
- OEMolBuilderOptions::SetFromCT
- OEMolBuilderOptions::SetSampleHydrogens
- OEMolBuilderOptions::SetStrictAtomTypes
- OERingFragOptions::SetStartFactor
- OESliceEnsembleOptions::SetEnergyWindow
- OESliceEnsembleOptions::SetEnergyRange
- OESliceEnsembleOptions::SetMaxConfs
- OESliceEnsembleOptions::SetMaxConfRange
- OESliceEnsembleOptions::SetMaxTerminalHeavy
- OESliceEnsembleOptions::SetRangeIncrement
- OESliceEnsembleOptions::SetRMSThreshold
- OESliceEnsembleOptions::SetRMSRange
- OETorDriveOptions::SetCommentEnergy
- OETorDriveOptions::SetMaxRotors
- OETorDriveOptions::SetMaxSearchTime
- OETorDriveOptions::SetRotorOffset
- OETorDriveOptions::SetRotorPredicate
- OETorDriveOptions::SetSDEnergy
- OETorDriveOptions::SetTorLib
- New arguments have been added to the OEMacrocycleBuilder::Build method for consistency with the other classes in OMEGA.
- The following preliminary APIs have been removed from the
OESliceEnsembleOptions
class:
- OESliceEnsembleOptions::SetEnergyThreshold
- OESliceEnsembleOptions::GetEnergyThreshold
- OESliceEnsembleOptions::SetSliceByEnergy
- OESliceEnsembleOptions::GetSliceByEnergy
- Two methods, OETorDriver::SetForceField and OETorDriver::GetForceField, that were preliminary APIs, have been removed from the OETorDriver class.
- Two methods, OEMolBuilder::SetForceField and OEMolBuilder::GetForceField, that were preliminary APIs, have been removed from the OEMolBuilder class.
- Two methods, OEFragBuilder::SetForceField and OEFragBuilder::GetForceField, that were preliminary APIs, have been removed from the OEFragBuilder class.
- Two methods, OEMakeFragLib::SetForceField and OEMakeFragLib::GetForceField, that were preliminary APIs, have been removed from the OEMakeFragLib class.
- Two methods, OEConfFixOptions::ClearFixFile and OEConfFixOptions::SetFixFile, that were preliminary APIs, have been removed from the OEConfFixOptions class. Accordingly, OEConfFixOptions::SetFixMol has an overload that takes a molecule file as input.
- OETorDriver::GenerateConfs now errors out properly if the input molecule is not 3D.
- OEOmega::Build now properly de-duplicates the generated conformers in the case when MaxConfs is set to 0.
- OEOmega::Build no longer copies the molecule title to every conformer.
- OEGetOmegaError now returns a value for each entry in the OEOmegaReturnCode namespace.
- OEMakeFragLib::GenerateMissingFrags and OEFragBuilder::Build now perform a de-duplication on the generated fragment conformers.
- OEFragBuilder::Build now returns an appropriate failure code if it fails due to lack of atom types.
- SampleHydrogens is now robust when the potential number of conformers is too high due to hydrogen sampling.
- Default values for the parameters in OEMacrocycleOmegaOptions are now consistent with their respective counterparts in the OMEGA command line application.
- OEIsMacrocycle has been improved to better identify macrocycles when hetero atoms are involved.
Documentation changes¶
- A GPU-Omega chapter has been added to the documentation.
- OMEGA examples have been updated to reflect the latest changes for all supported languages.
General Notices¶
- In the C++ toolkit, GPU-Omega is not available on RHEL8 or Ubuntu18 in this release.