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.

    Note

    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.

    Warning

    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
    

    Note

    None of this is possible in JDK1.6.

  • OEChem::OEIter::Target and OEChem::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.