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.
  • A multi-threaded Omega TK example has been added omega_omp to demonstrate how to use Omega TK with OpenMP.
  • The internal fragment library for the Omega TK static library is now stored in a more space and time efficient manner. Binaries linked to the Omega TK library should now be smaller, for example, the RHEL6 simple_omega example is now 53MB instead of 77MB. The library load time has also been improved. For example, running the RHEL6 simple_omega example on a single benzene will now take 0.20 seconds instead of 0.78 seconds. Your mileage may vary depending upon operating system and hardware.

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.