• Docs »
  • Release Notes

Release Notes

Release Highlights 2017.Oct

Shape TK: Version 2.0.0

The 2017.Oct release introduces Shape TK version 2.0.0, which is completely redesigned with a new API that is more flexible and easily extended with new functionality. Shape TK version 2.0.0 is now thread-safe and is able to:

  • calculate color using grid- or proxy grid-based analytic methods
  • calculate shape overlap and color score between two fixed-in-space objects with a single calculation using the OEOverlapFunc class
  • combine force fields from the OEFF TK with shape and/or color for overlay optimization
  • obtain top hits from a database against a given query using the OEROCS class
  • create a query combining any combination of a molecule, a grid, and multiple shape and/or color Gaussians using the OEShapeQuery class (see example below)

Preliminary testing of functionality from Shape TK version 2.0.0 indicates that overlay optimization is up to 10% faster than the 2017.Jun version.

Shape query with shape grid and color Gaussians

Omega TK: New Torsion Library

A new torsion library has been added to Omega TK based on a probabilistic analysis of torsion angles in the Cambridge Structural Database (CSD) by Guba et al. [Guba-2016] This torsion library, which contains more than 500 entries, complements the existing torsion library, which is based mainly on analysis of structures found in the Protein Data Bank (PDB). Replacement of the existing library with the new library has four important effects on OMEGA’s performance:

  • nearly complete elimination of torsion values not well represented in the CSD
  • significantly improved run time
  • substantial reduction in the size of the conformer ensemble
  • small trade-off increase in the median RMSD for solid state structures (both from the PDB and the CSD)

OEDepict TK and Grapheme TK: Interactive SVG Images

The 2017.Oct release expands these toolkits’ ability to assemble sets of graphical objects in SVG images.

Images can present great deal of information very quickly, but those that try to convey too much information at once can look convoluted. The solution lies in generating interactive images that on the surface are simple but that can reveal extra information on request. This release allows users to mouse over simple images to view additional embedded information.

In the example below, the sequence-level depiction of a peptide is easily comprehensible due to its simplicity (see image below). The more detailed atomic-level representation of the amino acid components of the peptide can be revealed on mouse-over without cluttering the simplified view.

Examples of interactive SVG images generated by Grapheme TK
Hover the mouse over any peptide circle Hover the mouse over any residue circle or “Legend” label

cyclic trypsin inhibitor (PDB: 1JBL) protein-ligand visualization (PDB: 3EQB)

For more information, see the Generating Interactive SVG Images chapter of the OEDepict TK documentation.

General Notices

  • On macOS Python, single-build distributions are now installed by default when using the meta-installer via pip install openeye-toolkits.
  • The Python verification tests now use pytest rather than nosetest as the test discovery tool. pytest options can be passed to the openeye.examples.openeye_tests module to control the tests and level of debugging information provided.
  • This is the last release to support Java 1.6.
  • This is the last release to support Python 2.7.

Detailed Release Notes

OEChem TK 2.1.3

New features


The standard InChI format includes chemical normalization activity that results in round-trip structure alterations to a very high percentage of structures when unnormalized or when arbitrary input chemistry is used. Even the output of OEMolToInChI, which generates a nonstandard InChI and attempts to minimize structure normalizations, results in many changes to input chemical structures.

  • OEInChIOptions now supports relative stereo and racemic stereo InChI output as well as control of the timeout condition.
  • The default output flavor for writing InChI or InChIKey via OEWriteMolecule has been changed to include the molecule title as well as the InChI information to synchronize behavior with other output formats. Since the InChI identifiers never include white space, there should be no ambiguity for separating the InChI information from the title. If there are third-party readers that have problems with the title, the following output flavor bits are now available to control whether the title is added to the output: OEOFlavor.INCHI.Title and OEOFlavor.INCHIKEY.Title.
  • An overload of OEShortestPath has been added to take an atom predicate and return the shortest path between atoms that are not excluded by the predicate.

Minor bug fixes

OESystem TK 2.1.3

New features

  • A new parameter has been added to the constructor of OEDots that enables changing the “processed” label in the output lines.

Minor bug fixes

  • The function OEGetTag and method OEBase.GetData could segfault when called with a null char * argument in C++ or with an empty argument in the wrapped languages. These have been fixed.

OEBio TK 2.1.3

New features

Minor bug fixes

  • GetGroups no longer crashes on Windows in cases where no alternate location group exists.
  • Calling the function OEBuildUnitCell on protein molecules had previously consumed large amounts of memory and, as a result, would often crash. This issue has been addressed, and the performance of the function has been improved for molecules of small or medium size.
  • Interaction perception for anionic carbonyl groups has been fixed.
  • OEIsValidActiveSite now takes into account the non-default parameter ligand component type.

Documentation changes

  • An example in Preparing a Protein has been modified to work properly when splitting a ligand from a binding site other than the first one.

OEGrid TK 1.6.0

Minor bug fixes

  • OEMaskGridByMolecule no longer segfaults for an empty molecule or for a molecule without 2D coordinates. It now throws a warning and returns false.
  • On Windows, UTF8 file and directory names are now correctly supported for toolkit file I/O operations.

Java-specific changes

Documentation changes

OEDepict TK 2.3.6

New features

  • The following API has been added to increase the reporting capabilities of OEDepict TK:


    Example of depicting molecules and data using image table

  • The following API has been added to render labels associated with certain parts of the depicted molecule:


    Example of adding labels on molecule depiction

  • A new function, OEDrawText, has been added.

  • The constructor of the OEHighlightByLasso class now takes a parameter that determines the width of the “lasso” used for highlighting. The corresponding GetLineWidthScale and SetLineWidthScale methods have been added.

  • A new constructor has been added to the OEImageFrame class that generates a new image with equal padding around it.

  • A new function, OEWriteReportPageByPage, has been added.

  • A new constructor has been added to the OE2DPath class that copies and rotates an already existing path.

Preliminary API - New Functionalities

Preliminary API - API Changes

Major bug fixes

  • Objects that have been drawn in hidden SVG groups are no longer visible in other image file formats. For example, when adding hover text to atoms (using the OEDrawSVGHoverText function), the text will only be visible in SVG images when the mouse is moved over a displayed atom. If the image is written into any other image file format, the hover text is no longer visible.

    2017.Jun 2017.Oct
    ../../_images/HoverAtomText-2017-Jun.png ../../_images/HoverAtomText-2017-Oct.png
  • When generating interactive SVG images, hover text (OEDrawSVGToggleText) and click events (OEAddSVGClickEvent) can both be added to atoms and bonds.

Minor bug fixes

  • The Ogham API, deprecated since 2014, is no longer available.

Documentation changes

OEDocking TK 1.3.5

  • Minor internal improvements have been made.

FastROCS TK 1.8.3

New features

  • Alternative starting points in FastROCS TK have been extended to include two additional API points: OEFastROCSOrientation.Random and OEFastROCSOrientation.Subrocs.

    See OEFastROCSOrientation and OEShapeDatabaseOptions.SetInitialOrientation for more information.

  • The following example scripts have been reworked to enable access to additional features of FastROCS TK:

    • ShapeDatabaseServer.py
    • ShapeDatabaseClient.py
    • ShapeDatabaseClientHistogram.py
    • ShapeDatabaseProxy.py

    Tversky sampling, shape-only searches, and basic alternative starting points can be accessed via the client without having to rerun or modify the server/proxy scripts. Users can submit a query as usual from the client adding the relevant flags. The new flags are:

    • --tversky
    • --shapeOnly
    • --alternativeStarts [inertialAtHeavyAtoms|inertialAtColorAtoms|subrocs|random [N]]


    These scripts are not backwards compatible. The behavior of running server/proxy/client scripts with mismatched versions is undefined. In order to use the new client flags, ensure that the server and proxy scripts are also updated to this version.

  • Warnings that are thrown for Tversky and Tanimoto scores greater than 1.0 have been simplified. Messages showing the actual Tversky/Tanimoto calculation are now Debug-level messages.

Minor bug fixes

Python-specific changes

  • The example script karma.py in FastROCS TK examples has been renamed to the more descriptive SphereExclusionClustering.py.

Documentation changes

GraphemeTM TK 1.3.4

New features

  • The following new API has been added to customize peptide depiction:

    The main feature is that OEDrawPeptide now can generate interactive SVG images where the amino acid components of the compact peptide representation are depicted on mouse-over.

Hover over any circle below

Example of interactive SVG image generated by OEDrawPeptide

Hover over the legend label or any circle representing a residue

Example of interactive SVG image generated by OERenderActiveSite

  • The OEBondGlyphZigZag constructor now takes a parameter that allows drawing diagonal zig-zag lines across a bond.


    Example of using the OEBondGlyphZigZag class

  • OEGrapheme TK now uses the new thread-safe OEShape TK API to generate shape and color overlaps for OEShapeQueryDisplay and OEShapeOverlapDisplay classes.

Minor bug fixes

GraphSim TK 2.3.1

New features

Documentation changes

Lexichem TK 2.6.4

  • Minor internal improvements have been made.

OEMedChem TK 1.0.5

New features


The change in the serialized data format requires that any existing saved matched pair analyzer index files be regenerated if they were created using a previous OpenEye Toolkit version. Indices serialized from this version cannot be read by older versions.

  • OEReadMatchedPairAnalyzer now supports a new Boolean argument that controls the regeneration of index information during the read. By default, the regeneration is suppressed and index data read from the file is used.
  • A new OEMatchedPairTransformExtractOptions option class has been added to control the transformations returned from the OEMatchedPairGetTransforms functions. Several new function overloads have been provided that use this new option class.

Minor bug fixes

  • Output to stdout from within OEMatchedPairAnalyzer has been removed.
  • Several tetrahedral stereo issues in the transformations extracted by OEMatchedPairGetTransforms have been fixed.
  • Erroneous warnings had been thrown about duplicate structures when appending matched pair indices if duplicate structures are allowed. This has been fixed.
  • An issue with exported matched pair transformations that occurred when search qualifiers were requested and matched pair core atoms contained charged atoms has been fixed. The search qualifiers erroneously duplicated charge information in the output string, causing transformation mappings to fail.

Documentation changes

MolProp TK 2.4.7

Minor bug fixes

  • The pains_pre_aminal1 rule has been removed from the PAINS filter. The SMARTS for the rule was incorrectly defined and was overly general. The rules pains_basic_amine1, pains_basic_amine2, and pains_basic_amine3 cover the same general structural classes in a more precise manner. A SMARTS issue with the pains_basic_amine3, uncovered after removing the pains_pre_aminal1 rule, has also been corrected.

OEFF TK 2.0.1

New features

Minor Bug Fixes

  • The constructor for the OEMMFFCoulomb class previously had an unused OEFFParams parameter. A new overload without this parameter has been added, and the older constructor has been deprecated.

Omega TK 2.6.7

New features

Documentation changes

  • The function OEFlipper now removes molecule coordinates during its processing. This behavior change was introduced in the 2017.Feb release.

Quacpac TK 1.9.2

Minor bug fixes

Documentation changes

  • The functions OEEnumerateTautomers and OEGetReasonableProtomer remove molecule coordinates during their processing since changing the tautomer state may invalidate the 3D structure. This behavior change was introduced in the 2017.Feb release.

Shape TK 2.0.0

New features

  • The Shape TK has been completely redesigned to make the library thread-safe, to make the library more flexible to use, and to allow the API to be easily extended with additional functionality.

  • Three new classes, OEExactShapeFunc, OEGridShapeFunc, and OEAnalyticShapeFunc, have been added to provide static shape overlap calculation based on Exact, Grid, and Analytic methods.

  • Three new classes, OEExactColorFunc, OEGridColorFunc, and OEAnalyticColorFunc, have been added to provide static color score calculation based on Exact, Grid, and Analytic methods.

  • A new class, OEShapeOptions, has been added to define options related to all OEShapeFunc evaluations.

  • A new class, OEColorOptions, has been added to define options related to all OEColorFunc evaluations.

  • A new class, OEShapeGridOptions, has been added to define options related to grid-based method evaluations.

  • A new class, OEAnalyticOptions, has been added to define options related to analytic method evaluations.

  • A new class, OEOverlapPrep, has been added that can be used to prepare molecules for shape and/or color calculations.

  • A new class, OEOverlay, has been added that can be used to overlay conformers of an OEMol on a reference system that can be a molecule, grid, or shape query.

  • A new class, OEOverlayOptions, has been added that sets all options for overlay optimization using OEOverlay. OEOverlayOptions provides flexibility to optimize based on shape or color or both, to choose any method for shape or color calculation, and to optimize overlap or Tanimoto individually for shape and color.

  • A new class, OEROCS, has been added that can be used to generate hits from a database on a reference system that can be a molecule, grid, or shape query. OEROCS provides top hits based on flexible scoring criterion.

  • A new class, OEROCSOptions, has been added to define options for generating hits using OEROCS.

  • A new class, OEROCSResult, has been added that extends the OEBestOverlayScore with overlaid conformer structures.

  • Three overloads of a new function, OEROCSOverlay, have been added to provide the best hit between a pair of molecules.

  • New unary predicates have been added to terminate a hit search calculation using OEROCS:

  • The OEShapeQueryPublic class has been replaced by OEShapeQuery and is complete with functionality to create and edit a shape query with combinations of molecules, grids, and Gaussians.

  • With the introduction of the new API classes in Shape TK, several previously existing classes have been deprecated. The following table shows the deprecated classes and their replacements:

    Deprecated Class New Class
    OEShape::OEOverlap OEExactShapeFunc OEGridShapeFunc OEAnalyticShapeFunc
    OEShape::OEColorOverlap OEExactColorFunc OEGridColorFunc OEAnalyticColorFunc
    OEShape::OEBestOverlay OEOverlay OEROCS
    OEShape::OEColorResults OEOverlapResults
    OEShape::OEShapeQueryPublic OEShapeQuery
  • With the introduction of the new API, several obsolete functionalities have been removed. These functionalities were added in the early development days of Shape TK and are no longer deemed useful. Methods related to such functionality, contained within the deprecated classes, are now ignored. The list of methods that fall into this category, with their current behavior, is as follows:

    • OEShape::OEOverlap::Overlap(const OESystem::OEScalarGrid&, OEOverlapResults&): The method does nothing and returns false.
    • OEShape::OEOverlap::SetFitGrid(const OESystem::OEScalarGrid&): The method does nothing and returns false.
    • OEShape::OEOverlap::SetRepresentationLevel(unsigned int): The method does nothing and returns false. The default representation level is OEShape::OEOverlapRepresentation::Atomic.
    • OEShape::OEColorOverlap::SetAllColor(bool): The method does nothing and returns false. The default AllColor state is true.
    • OEShape::OEBestOverlay::SetAllColor(bool): The method does nothing and returns false. The default AllColor state is true.
    • OEShape::OEBestOverlay::SetInertialAxialDivisions(unsigned int): The method does nothing and returns false.
    • OEShape::OEBestOverlay::SetRepresentationLevel(unsigned int): The method does nothing and returns false. The default representation level is OEShape::OEOverlapRepresentation::Atomic.
    • OEShape::OEBestOverlay::Overlay(const OESystem::OEScalarGrid&): The method does nothing and returns an empty iterator.

Minor Bug Fixes

  • The Hermite grid generated by OEHermite was previously offset from the original frame of the molecule being expanded. This has been corrected.
  • Previously, using a molecule without 3D coordinates as a reference for an overlay had caused a crash. This has been fixed.

Documentation changes

  • The ShapeTK examples have been rewritten to illustrate the use of the new API. The various bestOverlay examples now have more descriptive names.

Spicoli TK 1.4.3

Minor bug fixes

  • A bug that caused protein ribbons created with the type OERibbonType.Pretty to be truncated by one residue at the C-terminus has been fixed.

Szmap TK 1.4.2

  • Minor internal improvements have been made.

Szybki TK 2.0.1

Minor bug fixes

Zap TK 2.3.2

  • Minor internal improvements have been made.