A new functor class,
OESimilarByRMSD, has been added that checks similarity between a pair of conformers based on RMSD.
Major bug fixes¶
A crash that occurred when explicitly calling
oemolostream.Setgzafter opening a file that was implicitly gzipped has been fixed.
Water hydrogens created by
OEAddExplicitHydrogenshad previously been assigned the incorrect names
"H 3". This has been corrected to give these hydrogens the expected names
PDB atom indices
OEChem::OEPDBAtomName::H2can be used to refer to them. The constant
OEChem::OEPDBAtomName::Hhas been deprecated.
Minor bug fixes¶
The algorithm used by the
OEPerceiveBondOrdersfunction for detecting sp2 hybridized planar ring systems has been improved.
For certain complex ring systems, the function
OECreateSmiStringpreviously 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
OECreateSmiStringcannot generate a valid SMILES for a molecule, a molecule title will no longer be output.
When extracting ring templates for depiction, the
OE2DRingDictionaryclass’s normalization process no longer rejects long or short bonds. This allows the creation of non-regular ring templates.
OEMCMolBasenow 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.
verifyscript has been updated to correctly identify a Szybki TK license.
verifyscript has been updated to return an error status if there was a problem when generating a subset jar.
The Python-based C#
verifyscript has been modified to run correctly with either Python 2 or Python 3.
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.
OEPlaceHydrogensnow 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.
OEPlaceHydrogensnow detects bad clashes more accurately.
OEPlaceHydrogensnow 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.
OEPlaceHydrogensnow recognizes neutral carboxylic acids. Hydrogen positions are sampled on both oxygens.
OEPlaceHydrogensnow includes alternate location codes in atom descriptions.
Two new methods,
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.
OEPlaceHydrogensOptionsobjects can now be compared for equivalence and non-equivalence.
Minor bug fixes¶
OEPlaceHydrogenswas limited to processing 1,024 moveable functional groups. This limitation has been removed.
OEPlaceHydrogenshas been improved for adding explicit hydrogens to molecules with multiple alternate locations when
OEPlaceHydrogensOptions.SetAltsMustBeCompatibleis set to
true, issuing a warning when it fails rather than halting.
The Preparing a Protein example has been modified to cover the expanded range of options in water processing as well as the maximum number of optimization substates. It also now repairs bonding mistakes when the command line option
-alt compareis used to retain all alternates by calling the method
OEAltLocationFactory.GetSourceMol. This is a recommended approach for other workflows that read
OEFormat.PDBfiles and retain all alternate location atoms.
The SWIG Java wrapper no longer creates finalizers for OpenEye objects that do not own memory:
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.
Minor bug fixes¶
Documentation for the public 2D and 3D geometry functions has been improved.