• Docs »
  • Release Notes

Release Notes

Release Highlights 2017.Feb

Alternative Starting Points for Shape Overlap Optimization in FastROCS TK

This release of FastROCS TK extends its capability to find the best possible shape match between two conformers by introducing the ability to use custom starting points for the shape search. For some systems, using these alternative starting points can lead to more accurate shape scoring as it enables broader sampling of the molecular volume overlap.

By default, the shape search in FastROCS TK starts from 4 poses of the database molecule aligned around the inertial axes. With the UserInertialStarts option, FastROCS TK translates the database molecule to user-defined starting coordinates. With the InertialAtHeavyAtoms option, the database molecule is translated to each heavy atom of the query molecule. In both cases, the shape overlap is optimized for 4 unique inertial poses at each location.

The images below illustrate a shape search between caffeine query and a naphthalene derivative.

Caffeine query and naphthalene derivative
../../_images/fr1a.png ../../_images/fr1b.png

The default shape search results in a poor overlap between the two molecules (left). When the new InertialAtHeavyAtoms option is used, the resulting overlap is much more favorable (right).

Best overlap: default vs. ``InertialAtHeavyAtoms`` starting points
../../_images/fr2a.png ../../_images/fr2b.png

In general, these options provide the ability to fine-tune FastROCS TK searching based on specific criteria.

Charging Engine

A new charging function, OEAssignCharges, has been added. This function introduces the concept of a charge engine, a flexible, open-ended options class that defines a charging method. Charge engines have been written for every currently supported charging method as well as the new method OEAM1BCCELF10Charges.

New Maximum Common Substructure (MCS) Similarity Capability

A new class, OEMCSFragDatabase, has been added that allows pairwise MCS similarity scores to be computed for a query molecule against a set of indexed target structures. The indexing algorithm uses a fragmentation approach to reduce the computational requirements of traditional NxN structure comparisons for MCS scoring. Tanimoto and Tversky similarity scoring functions are provided, as well as the ability to implement custom scoring functions.

Protein Preparation Update

In the 2016.Oct release, new functionality for hydrogen placement was added as part of a protein preparation workflow. This new functionality has been significantly improved.

A new scoring system, MMFF-NIE (“MMFF Neighbor Interaction Energies”), has been added to OEPlaceHydrogens that significantly improves optimization of hydrogen bonding networks and clash avoidance.

In addition, significant improvements have been made in the placement of hydrogens around metal complexes. In the following example, cysteine sulfurs are now properly perceived as deprotonated in the zinc finger domain of the nucleocapsid protein NCp8 (PDB: 2A51).

2016.Oct vs 2017.Feb cysteines in zinc finger domain
../../_images/oct2a51SH.png ../../_images/feb2a51Sminus.png

General Notices

  • For Python, the new environment variable OE_PIP_ARCH can be set to override the Python package download. OE_ARCH now only applies to application installation. This should mitigate conflicts between Python and application package installation.
  • On Linux, Python single-build distributions are now installed by default when using the meta-installer via pip install openeye-toolkits. If a problem is encountered with the single-build packages, users can set the environment variable OE_PIP_ARCH=old before the pip install step.
  • The Java wrappers are now built using Java 1.8 in 1.6 compatibility mode. Users should see no impact.
  • The 2017.Feb release fully supports macOS Sierra 10.12.
  • Python 3.4 on Windows is no longer supported.
  • Python 3.6 will be supported in the 2017.Jun release.

Note

The default Python version installed under Anaconda/Miniconda is Python 3.6. Until the 2017.Jun release is available, users should override the default Python version with conda create python=3.5 ... during the conda environment creation step.

Note

OpenEye continues to monitor and collect feedback from our customers on the need to support Python 2 wrappers. Our current plan is to phase out support for Python 2 on Windows by the 2017.Oct release and phase out support on other platforms at a later date. As this is a substantial change for our customers, we are willing to help with migration. Please contact support@eyesopen.com for more details.

Detailed Release Notes

OEChem 2.1.1

New features

  • A new functor class, OESimilarByRMSD, has been added that checks similarity between a pair of conformers based on RMSD.

Major bug fixes

  • On Windows, a defect that caused a crash in OEReadMolecule for OEB format or OEReadOEBFile when processing large amounts of OEFormat.SDF or OEFormat.PDB data has been fixed.
  • A crash that occurred when explicitly calling oemolostream.Setgz after opening a file that was implicitly gzipped has been fixed.
  • Water hydrogens created by OEAddExplicitHydrogens had previously been assigned the incorrect names "H 2" and "H 3". This has been corrected to give these hydrogens the expected names "H1" and "H2". The PDB atom indices OEPDBAtomName.H1 and OEPDBAtomName.H2 can be used to refer to them. The index OEPDBAtomName.H has been deprecated.

Minor bug fixes

  • The algorithm used by the OEPerceiveBondOrders function for detecting sp2 hybridized planar ring systems has been improved.
  • For certain complex ring systems, the function OECreateSmiString previously attempted to write a SMILES with more than 99 ring closures and output an invalid SMILES. It now throws a warning and returns an empty string.
  • If the function OECreateSmiString cannot generate a valid SMILES for a molecule, a molecule title will no longer be output.
  • When extracting ring templates for depiction, the OE2DRingDictionary class’s normalization process no longer rejects long or short bonds. This allows the creation of non-regular ring templates.
  • The OECenter overload for OEMCMolBase now optionally accepts an array which, when present, returns the translations applied for each conformer during the centering operation. The additional overload does not affect any existing usage.
  • The OESymmetryNumber overload that works with OEMCMolBase had previously not properly calculated the symmetry numbers for all conformers. This has been fixed.

Java-specific changes

  • The Java verify script has been updated to correctly identify a Szybki TK license.
  • The Java verify script has been updated to return an error status if there was a problem when generating a subset jar.

C#-specific changes

  • The Python-based C# verify script has been modified to run correctly with either Python 2 or Python 3.

Documentation changes

  • Documentation for OECenter and other molecular geometry functions has been improved.

OEBio 2.1.1

New features

  • A new scoring system, MMFF-NIE (“MMFF Neighbor Interaction Energies”), has been added to improve optimizing hydrogen bonding networks and avoiding clashes in the function OEPlaceHydrogens. This physics-based scoring system includes Coulombic and Van der Waals terms from MMFF94, including MMFF partial charges. Interactions are scored between moveable functional groups (see OEPlaceHydrogensMoverClass) as well as between moveable functional groups and non-moving neighboring background atoms. The optimizer has also been improved to be much more memory-efficient.
  • OEPlaceHydrogens now samples waters more densely by default. A new constant, OEPlaceHydrogensWaterProcessing.Focused, can be used to revert to the more limited sampling. Waters are processed individually, in order, starting at the molecular surface and moving outward, after all other moveable functional groups have been optimized.
  • OEPlaceHydrogens now detects bad clashes more accurately.
  • OEPlaceHydrogens now deprotonates certain acidic groups (e.g., SH) in the presence of a metal. In addition, imidazoles can now be doubly deprotonated when between two metals. A new constant, OEPlaceHydrogensMoverClass.AroN, has been added to describe aromatic nitrogens that can be deprotonated by metals.
  • OEPlaceHydrogens now recognizes neutral carboxylic acids. Hydrogen positions are sampled on both oxygens.
  • OEPlaceHydrogens now includes alternate location codes in atom descriptions.
  • Two new methods, OEPlaceHydrogensOptions.SetMaxSubstateCutoff and OEPlaceHydrogensOptions.GetMaxSubstateCutoff, have been added to control how many substates the optimizer will consider in a single step. This prevents calculations from running long because of overly dense networks.
  • Class OEPlaceHydrogensOptions objects can now be compared for equivalence and non-equivalence.

Minor bug fixes

Documentation changes

OEPlatform 2.1.1

Minor bug fixes

  • The OEFile API has been augmented to support large (>2Gb) files on Windows.

Java-specific changes

  • The SWIG Java wrapper no longer creates finalizers for OpenEye objects that do not own memory: OEBase, OEAtomBase, OEBondBase, OEConfBase, and OEGroupBase. Previously, the SWIG wrapper created empty finalizers, which resulted in garbage collection bottlenecks for processes that used a lot of objects (e.g., looping over atoms and bonds in a protein). This fix improves overall throughput for Java toolkit programs.

OESystem 2.1.1

Minor bug fixes

  • The OEGeom2DRotate method previously assumed inputs with 3-dimensional coordinates. It now assumes 2-dimensional coordinates.
  • The OEGeom2DTranslate method previously assumed inputs with 3-dimensional coordinates. It now assumes 2-dimensional coordinates.

Documentation changes

  • Documentation for the public 2D and 3D geometry functions has been improved.

OEDepict TK 2.3.4

New features

  • A new function, OEPrepareMultiAlignedDepiction, has been added that performs 2D molecule alignment based on common fragments between two molecules.

    ../../_images/OEPrepareMultiAlignedDepiction-Example.png

    Example of depiction with alignment based on molecule similarity

  • A new method, CreateCopy, has been added to the OEHighlightBase base class and all of its derived classes.

  • A new function, OEDrawCurvedRectangle, has been added that renders a rectangle with rounded corners.

Major bug fixes

  • The OE2DMolDisplay constructor previously threw an error when initialized with an empty molecule or with a molecule with no coordinates. A warning is now thrown and the object is marked invalid (e.g., the OE2DMolDisplay.IsValid method will return false). In addition, an OE2DMolDisplay object becomes invalid if the molecule from which it was initialized is modified (e.g., when atoms/bonds are added or deleted). All OEDepict TK functions handling an OE2DMolDisplay object now check the validity of the object prior to use.
  • Reactions with only product or only reactant components are now depicted correctly with a reaction arrow and the “+” sign between the components.
  • The methods OEImageBase.DrawArc and OEImageBase.DrawPie have been unified when generating PDF images. As a result, arc and pie objects in PDF images appear more seamless.

Minor bug fixes

  • When generating an SVG image, the opacity of the background is now written into the file. This allows generating images with a semi-transparent background.
  • For the molecules C#C and C=C, the carbon atom labels are now always explicitly depicted.
  • When determining the scaling of a depicted molecule, the bounding box of each multi-line bond is now considered to ensure that no bond is rendered outside the canvas.
  • A minor molecule scaling issue that occurred when using fixed atom label fonts has been fixed.
  • The function OEDrawChevronArrow has been improved to handle very short arrows. In addition, the default parameters of the function have been changed.

Documentation changes

OEDocking TK 1.3.3

  • Minor internal improvements have been made.

FastROCS TK 1.8.1

New features

  • This release extends the capabilities of FastROCS TK to allow for 2 types of alternative starting points: user-defined starts and starts at heavy atoms.

    The FastROCS TK algorithm involves optimizing each overlaid query and database molecule by shape. Previously, the optimization had been performed for 4 orientations of each database molecule around its principle axes of inertia.

    User-defined starts allow users to input starting coordinates directly. The database molecule is now translated to each starting position and the 4 inertial poses are optimized.

    Starts at heavy atoms translate each database molecule to each heavy atom plus the center of mass of the query molecule. Again, the 4 inertial poses are optimized at each translation.

    For more information, see OEShapeDatabaseOptions.SetInitialOrientation and OEFastROCSOrientation.

  • A new function, OEFastROCSGetNumDevices, has been added that returns the number of GPUs currently visible. Since no FastROCS TK objects are required, it can be used to probe a system prior to running any queries.

  • A new function, OEIsDatabasePrepared, has been added to check whether a database file has already been run through OEPrepareFastROCSMol. This is useful for ensuring that a database file has been prepared and also saves time by preventing it from being prepared twice. OpenEye recommends preparing all large databases in order to benefit from significantly faster OEShapeDatabase.Open times.

  • The cutoffs in FastROCS TK now support the retrieval of all scores less than or equal to the desired cutoff. See OEShapeDatabaseOptions.SetCutoffLT.

Major bug fixes

  • Customers using Tesla C2050 cards and GTX cards at compute capability 2.x may have experienced some issues with large databases of very small molecules since compute resources were being over-allocated in some scenarios. This issue has been resolved.

Minor bug fixes

  • Warnings had previously been thrown for Tversky scores greater than 1.0 (shape/color). For performance reasons, components of the Tversky/Tanimoto scores can be calculated on either the GPU or CPU. This sometimes results in scores slightly greater than 1.0. Customers should be aware of this possibility when handling scores. A warning is now thrown if a score is greater than 1.2.
  • When opening an OEShapeDatabase object, the presence of invalid molecules now results in a warning rather than error.
  • karma.py can now handle databases with molecules that don’t have titles. A unique title is given to each untitled molecule.

GraphemeTM TK 1.3.2

New features

  • A new function, OEDrawPeptide, has been added that identifies standard amino acid components in molecules and substitutes them with circular glyphs and corresponding labels. The figure below illustrates this functionality for oxytocin.

    ../../_images/OEDrawPeptide-Oxytocin.png

    Example of visualizing oxytocin

    (left) depiction of oxytocin highlighting its amino acid fragments

    (right) depiction of oxytocin using the OEDrawPeptide function

  • OERenderActiveSite can now visualize halogen bond interactions (represented by a brown wavy arrow).

    ../../_images/pdb3eqb.png

    Example of visualizing halogen bond interaction (PDB 3EQB)

  • The legend of the protein-ligand depiction has been improved by separating and labeling residue styles and interaction styles (see image above).

Minor bug fixes

  • The label “only contact” has been changed to “contact only” in the legend of the protein-label depiction (see image above).

GraphSim TK 2.2.6

New features

Lexichem TK 2.6.2

New features

  • The template-based Von Baeyer ring-naming scheme has been replaced with an algorithmic approach. This significantly improves the naming of complex ring systems.

OEMedChem TK 1.0.3

New features

Documentation changes

  • New documentation has been added for the OEMCSFragDatabase API and the ancillary support functions, classes, and constants.

MolProp TK 2.4.5

  • Minor internal improvements have been made.

Omega TK 2.6.5

New features

Quacpac TK 1.9.0

New features

  • A new charging function, OEAssignCharges, has been developed to replace the more limited legacy function OEAssignPartialCharges. This new function uses charge engines, an open-ended options class, to define the charging method. Charge engines can be configured as required and new charge engines can be developed independently. Charge engines have been written for every supported charging method, as well as for the new method OEAM1BCCELF10Charges.

Minor bug fixes

  • Warning messages from AM1BCC charging functions have been made more informative.

Documentation changes

  • The documentation has been updated to describe the new charge engine approach to charging and to show examples of its use.

Shape TK 1.10.4

  • Minor internal improvements have been made.

Spicoli TK 1.4.1

  • Minor internal improvements have been made.

Szmap TK 1.4.0

  • Minor internal improvements have been made.

Szybki TK 1.9.2

New features

Minor bug fixes

  • User-defined partial charges set for the MMFFS_AMBER or MMFF_AMBER force field calculations had previously not been preserved. They are now passed to the optimized molecule.
  • Changing the protein flexibility type from range-defined to a list of residues for an OESzybkiOptions object previously required creating a copy of the object. This issue has been fixed.
  • Atomic radii for IEFF/PB calculations were previously restricted to the Bondi type. Although the default is still Bondi, ZAP7 and ZAP9 radii are now available.

Zap TK 2.3.0

  • Minor internal improvements have been made.