Release Notes

Release Highlights 2019.Apr

FastROCS TK: Color calculation on GPU

Changes to the FastROCS algorithm, including porting the static color calculation to GPU, have resulted in a more than 2x performance improvement of FastROCS on some GPU systems. Benchmarking was carried out on AWS GPU instances and compared to the 2018.Oct version of FastROCS TK:

../../_images/2018-2019_comparison_aws.png

Performance comparison between the 2018.Oct release and the 2019.Apr release using OpenEye’s standard benchmark dataset of 14M conformers on AWS.

For some systems, the standard benchmark dataset of 14M conformers is not large enough to fully saturate the GPUs. To demonstrate the potential performance of larger databases, a 2 billion conformer subset of Enamine was searched on suitable AWS instances. FastROCS searched the 2 billion conformer database on an AWS P3 instance with 8x Nvidia Tesla V100 GPUs at a rate of over 44 million overlays per second:

../../_images/AWS-Enamine-2bn.png

Performance of a 2 billion conformer subset of Enamine on suitable AWS instances.

OEChem TK: OEZ compressed file format

A new compressed file format with the extension oez has been added to OEChem TK. This format uses the Zstandard algorithm to efficiently compress individual multi-conformer molecules, making it well-suited to work with OEMolDatabase for fast read-only random access to molecules. See more details in the Compressed Input and Output section of the OEChem TK documentation.

OEGrapheme TK: Ramachandran plot

Following our tradition of providing easily comprehensible visualization of complex data, OEGrapheme TK can now depict Ramachandran plots ([Ramachandran-1963]). These plots provide an easy way to examine the distribution of backbone dihedral angles in a particular protein. For instance, structure quality can be assessed by identifying residues whose backbone \(\psi\) are outside energetically accessible regions. Grapheme TK uses the data and classifications available in OEBio TK, which were extracted from the open-source Computational Crystallography Toolbox [Grosse-Kunstleve-2002].

Hovering over the red circles (on the top right plot) reveals the name of the outlier residues

Examples of visualizing the Ramachandran plots of various residue types in Grapheme TK (PDB: 2ROX)

General Notices

  • OpenEye currently uses OpenJDK8 to build its Java packages. We are currently exploring support for OpenJDK 11.
  • The 2019.Apr release skips Java support for macOS. For Java support on RHEL6, please contact support@eyesopen.com.
  • This release adds support for macOS 10.14. OS X 10.11 is no longer supported.
  • This release adds support for Ubuntu 18. Ubuntu 14 is no longer supported.
  • Visual Studio 2017 support has been added for C++ and C#. This is the last release to support Visual Studio 2013, as well as 32-bit Windows for C++ and C#.
  • Full support has been added for Python 3.7. Python 3.5 for Windows is no longer supported.
  • The following prerequisites have been introduced so that OpenEye can implement algorithms in a more modern and efficient C++11 style:
    • GCC 4.8 is now the oldest targeted compiler for toolkits. RHEL6 with the default GCC 4.4 compiler is no longer supported.
    • The minimum recommended GNU binutils version is 2.26 for the C++ single-build Linux packages.
    • The minimum CMake version required to build the C++ examples is now 3.1.3 on all platforms.

Detailed Release Notes

OEChem TK 2.2.0

New features

Major bug fixes

  • The number of cases where round-tripping to MDL file format results in stereo information loss has been significantly reduced.

Minor bug fixes

  • High-level SMILES readers such as OESmilesToMol and OEReadMolecule now clear cis/trans bond specifications on bonds in small rings (less than 7 members).
  • The oemolistream.open and oemolostream.open methods now correctly set the formats for gz filenames.
  • A bug that caused a crash when an invalid oemolostream is finalized has been fixed.
  • oemolistream.Setgz and oemolostream.Setgz methods are now a no-op if the state of the stream is unchanged.
  • An issue that caused the JSON writer to crash with user-specified cis/trans stereo has been fixed.
  • The MDL V3000 reader has been fixed and no longer marks “either” double bonds with cis/trans parity.
  • The MDL V2000 reader has been fixed and no longer adds “either” double marks to chiral but unspecified cis/trans double bonds.
  • OESubsetMol no longer crashes when breaking and adding multiple R-groups to the same atoms.
  • Cobalt ions are now assigned a formal charge when being read from the PDB file.

Python-specific changes

Documentation changes

OEBio TK 2.2.0

New features

  • A new OEIsCTerminalAtom predicate has been added to identify the C-terminal atom(s) in a protein structure.
  • A new OEIsNTerminalAtom predicate has been added to identify the N-terminal atom(s) in a protein structure.
  • A new OEAtomMatchResidue predicate has been added to identify residue atoms by RegEx.
  • New OEGetResidueAtom functions have been added to provide easy access for specific residue atoms.
  • The OEIsBackboneAtom predicate has been updated to take an optional argument to consider the terminal oxygen atom (OXT) as part of the backbone.
  • The OEIsWater predicate has been updated to take two optional arguments:
    • to match hydrogen atoms in water molecules
    • to match the water ions \(OH^{-}\) and \(H_{3}O^{+}\)
  • A new OEIsStandardProteinResidue overload that takes an atom has been added.

Minor bug fixes

Java-specific changes

Documentation changes

OESystem TK 2.2.0

Minor bug fixes

  • The OEMakeMolecularGaussianGrid function now returns false for an empty molecule.
  • New code snippets have been added to the OESystem_OEThrow class to demonstrate how to redirect warning and error messages to a file.

OEPlatform TK 2.2.0

New features

Minor bug fixes

  • The OEAddLicenseFromHttp function available in the wrapped languages (Python, Java, and C#) now accepts HTTP responses with a text/plain; charset=utf-8 content type.

OEGrid TK 1.6.3

Minor bug fixes

  • The OEReadMTZ function has been updated to read CCP4 alternative space group numbers (e.g., 4005).
  • OEReadGrid no longer loses its title beyond the first blank space.
  • A potential memory corruption issue with Gaussian volume calculation has been fixed.

OEDepict TK 2.4.2

New features

Major bug fixes

  • A bug in the alignment process that occurred when the number of rotatable bonds of the fit molecule exceeded the built-in limit has been fixed.

Minor bug fixes

  • A minor memory leak in the molecule alignment process has been fixed.
  • On macOS, the deprecated kCTLeftTextAlignment, kCTRightTextAlignment, and kCTCenterTextAlignment Core Graphics constants have been replaced with new APIs. These constants are used to handle text alignment when drawing in PNG images.

Documentation changes

OEDocking TK 1.4.0

Major bug fixes

Minor bug fixes

FastROCS TK 1.10.0

New features

  • FastROCS TK has been optimized to yield a further ~2-3x in performance compared to the previous release. The performance improvement will vary from system to system. See more details in the Release Highlights 2019.Apr section.

Minor bug fixes

  • GPUs in prohibited mode will now be honored when querying the number of available devices on the system. Previously, a fatal error occurred during the search.

Python-specific changes

  • The example in the ShapeDatabasePrep section now defaults to a maximum of 10 conformers per molecule and saves the coordinates in half-float precision. A flag is provided to switch to full-float precision coordinates.

Documentation changes

GraphemeTM TK 1.3.7

New features

Minor bug fixes

GraphSim TK 2.4.2

  • Minor internal improvements have been made.

Lexichem TK 2.6.7

  • Minor internal improvements have been made.

OEMedChem TK 1.1.0

Minor bug fixes

  • An issue with Matched Pair index generation that occurred when input structures contained reaction mapping information has been fixed.
  • Several issues in the probesite-based preliminary API function OEGetMatchedMolecularPairs have been fixed.

MolProp TK 2.5.2

New features

  • A new OEGetRotatableBondCount function has been added that can calculate either the number of rotatable bonds in the molecule or the molecule flexibility, taking into consideration the flexibility of aliphatic rings.
  • New OEConfigureFilterParams and OEConfigureFilterType functions have been added to configure the given interface.
  • A new OEGetFilterType function has been added to retrieve the filter type initialized in the given interface.
  • New OEFilterParamSetup, OEFilterParamName, and OEFilterType namespaces have been added to provide options for the choice of filter interface parameters, filter parameter names, and filter types, respectively.

Documentation changes

OEFF TK 2.0.4

  • Minor internal improvements have been made.

Omega TK 2.9.0

New features

Major bug fixes

  • An issue that caused an occasional Coulombic collapse for conformations of zwitterionic molecules generated with the Macrocycle algorithm has been fixed.
  • An issue that caused Omega* to fail to produce conformations for molecules containing chiral nitrogen atom using macrocycle mode has been fixed.

Minor bug fixes

Quacpac TK 2.0.1

Minor bug fixes

Shape TK 2.0.3

New features

Minor bug fixes

Documentation changes

  • Code examples in the Examples section have been revised.

Spicoli TK 1.4.6

  • Minor internal improvements have been made.

Spruce TK 0.9.2

  • The product name in the license file for Spruce TK has been changed from spruce to sprucetk. This change does not impact the validity of current licenses, which will continue to work with this new version of the toolkit. For more information on Spruce TK licensing, please contact sales@eyesopen.com.
  • Spruce TK is still preliminary.

New features

  • A new predicate, OEIsModeledAtom, has been added that identifies atoms built by the Spruce TK functions.
  • A new function, OEBuildSidechains, has been added to build partial or missing sidechains of standard amino acid residues in a protein.
  • A new method, OECapCTermini, has been added to cap the C-termini of a protein.
  • A new method, OECapNTermini, has been added to cap the N-termini of a protein.
  • A new method, OECapTermini, has been added to cap both the N- and C-termini of a protein.
  • A new method, OEGetPartialResidues, has been added to return a list of partial residues in a protein.
  • A new method, OEMutateResidue, has been added to mutate a single residue in a protein.

Major bug fixes

Minor bug fixes

  • OEExtractBioUnits has been updated to better handle atoms placed on a symmetry axis.
  • OEExtractBioUnits now more reliably assigns components to a biological unit (BU) even when they are far away.

Szmap TK 1.4.5

  • Minor internal improvements have been made.

Szybki TK 2.0.4

Major bug fixes

Minor bug fixes

Zap TK 2.3.5

  • Minor internal improvements have been made.