Version 2.1.1

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 OEChem::OEPDBAtomName::H1 and OEChem::OEPDBAtomName::H2 can be used to refer to them. The constant OEChem::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.