Omega TK 2.4.0

New features

  • The MaxConfGen and MaxPoolSize variables are now set internally and adjusted automatically subject to the user defined variable of MaxConfs. Additionally, hard limits have been removed from these variables and they are now only limited by available memory. The following methods are deprecated: SetMaxConfGen, GetMaxConfGen, SetMaxPoolSize, GetMaxPoolSize.

  • The method SetMaxConfs has been changed from void to bool. The method will return true if the parameter has been set properly and will return false if the number is too high and would cause the memory required for duplicate removal to exceed the maximum theoretical memory for the platform.

  • The method SetFixSmarts has been created to allow a smarts pattern to be used to fix a portion of the molecule. This requires 3D coordinates to be available from either a 3D input file with SetFromCT set to false or from a molecule set using SetFixMol.

  • Fragment generation for OEOmega is now the same as the MakeFraglib application. Previous versions used a faster but more approximate version of fragment generation.

  • The OEOmega default has been changed to no longer use “close enough” atom typing. If a proper MMFF atom type cannot be found for an atom then the molecule will fail. Previous versions would use a different atom type of the same element if it was available. The previous behavior of atom type substitution can be enabled by calling SetStrictAtomTypes with the argument false.

  • The error level for most messages coming from the Omega library has been lowered to Verbose. The library can be run in a much quieter manner if the error level is set to Info by the user.

Bug fixes

  • Crashes have been fixed that could occur when the FixFile could not find a valid match or did not have enough atoms to match against in a ring system.

  • Program no longer crash if there is not enough memory for duplicate removal. If there is not enough memory available for allocation then duplicate removal will be skipped for the molecule and operator() will return true.