Omega TK 2.5.2

New features

  • The fragment library is now shared across multiple instances of the OEOmega objects in a thread-safe manner. This can greatly reduce the amount of memory needed to run a multi-threaded version of Omega TK. For example, the memory consumption of Omega TK running across 8-cores dropped from 715MB to 258MB for 14,000 lead-like compounds from MDDR. This can also lead to a performance improvement since expensive fragment generation can sometimes be avoided if it has already been completed by another thread.

Note

For Java, the internal fraglib is not shared because the fraglib is not shipped as part of the omega2 library binary, but as a separate standalone file to allow multiple JAR files to be combined together and not duplicate the fragment library across them. Fragments generated on the fly will be shared across OEOmega objects, just not the builtin fragments.

Minor bug fixes

  • Now OEOmega.operator() will fail nicely and return false for non-3D input if SetFromCT is set to false.
  • All ring bonds will be left unset by OEFlipper unless forceFlip=true.