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.
  • The internal fragment library for the Omega TK shared library is now stored in a more space and time efficient manner. Creating an OEOmega object and running it on a single molecule should now be faster. For example, running the simple_omega.py example on a single benzene now takes 0.25 seconds instead of 0.83 seconds. Your mileage may vary depending upon operating system and hardware.
  • The python global interpreter lock will now be released when entering OMEGA toolkit calls.

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.