OEToolkits 1.7.1ΒΆ

This is a new release of the OpenEye Toolkits with versions of the following libraries:

OEChem TK:1.7.1
GraphSim TK:1.0.0
Grid TK:1.3.3
Lexichem TK:2.1.0
MolProp TK:
Ogham TK:
Omega TK:1.4.0
Quacpac TK:1.4.1
Shape TK:1.4.0
Spicoli TK:1.1.0
Szybki TK:
Zap TK:2.1.1
  • There are two major additions to the OpenEye toolkit suite with this release:

    GraphSim TK:

    A toolkit for doing 2D molecule similarity. The methods currently implemented are:

    • Path based fingerprints
    • MACCS key fingerprints
    • LINGOS
    MolProp TK:

    A toolkit derived from OpenEye’s FILTER technology. This toolkit is useful for calculating an extensive list 2D molecular properties and building custom filters around these properties.


    The version number of MolProp TK will track with the FILTER application to indicate similarities.

  • This release of OEChem introduces many bug fixes and new features provided they didn’t break source-level compatibility with 1.7.0.

  • This release completes the transition from the old LaTeX based documentation system to the new reStructuredText based system. This includes better support for Python and Java in the manuals as separate manuals for every library.

  • JDK1.5 would sometimes crash while loading the 1.7.0 libraries. This bug was introduced in 1.7.0 with the change to make all OpenEye library memory allocation use memory from the Java heap. However, JDK1.5 has a known bug http://bugs.sun.com/view_bug.do?bug_id=6253386 which doesn’t allow accessing the JVM during library initialization. Therefore, we now detect when the OpenEye libraries are being loaded by JDK1.5 and turn off Java heap allocation during library initialization. The amount of memory allocated during library initialization is usually negligible, so this shouldn’t allow programs to exceed the Java heap restrictions very much.


    This fix introduces a rare corner case that could cause the OpenEye libraries to leak memory. It will only occur if the following sequence of events occurs:

    Race Condition Causing Memory Leak
    Thread 1 Thread 2
    Load OEChem  
    Allocate OEChem objects  
      Start loading another OpenEye library (e.g. OEDepict)
    Deallocate OEChem objects  
    This thread is terminated causing the OEChem objects to leak  
      Finish loading library

    If this occurs OEChem will throw the following warning:

    Leaking memory (0x00000000) because OEUseJavaHeap is false
    Contact OpenEye support if this message is seen


    None of this is possible in JDK1.6.

  • OEIter.Target and OEIter.next will now raise NoSuchElementException to better adhere to the Iterable interface.

  • Quacpac: Added support for writing a custom OETautomerMolFunction or OETyperMolFunction in Java by deriving from the base class.