Version 2.1.4

OEChem TK 2.1.4

New features

Major bug fixes

  • The OEChem::OEReadMolFromString and OEChem::OEWriteMolToString functions use internal buffers for the encoding or decoding of molecules from bytes. Previously, depending on library load order, internal buffers could be initialized without the complete set of binary input/output handlers. This could result in the loss of custom datatypes when translating to or from bytes. These internal buffers now are updated during subsequent loads of OpenEye libraries to ensure that the complete set of custom datatypes is handled correctly.

  • The implementations of OEChem::OEDBMol and OEChem::OEMiniMol have been corrected to avoid a potential crash after an OEMolBase::Compress and OEMolBase::UnCompress call sequence when the molecule contains OEGroupBase objects (e.g., reaction component information or V3000 enhanced stereo information). While the OEChem::OEMiniMol supports OEGroupBase objects, it cannot save and restore following OEMolBase::Compress and OEMolBase::UnCompress calls, so this class must never be used if OEGroupBase information is to be maintained. The OEChem::OEDBMol implementation is the preferred class for low memory footprint applications when OEGroupBase may be present.

  • When writing a 2D molecule with explicit hydrogens to an MDL file, the coordinates of the stereo hydrogens are now reassigned by calling the OESet2DHydrogenGeom function if they are identical to their parent heavy atom coordinates. This ensures that reinterpretation of the MDL file does not inadvertently flip stereo configurations.

Minor bug fixes

  • The algorithm used by OEGenerate2DCoordinates to detect and resolve atom clashes when generating 2D coordinates has been improved.

  • When calling the OERMSD function for a multi conformer fit molecule, the returned RMSD array will now have a -1.0 value for conformation indices that are not valid for the fit molecule.

  • The OEAssignAromaticFlags function now limits the search path to 30 bonds when the bond/atom ratio is higher than 1.3. As a result, buckyball-like molecules can be processed in reasonable time.

C++-specific changes

  • A deprecated overload of the OEPRECompress function, OEPRECompress(OEMol &, const OEMCMolBase &), has been removed from the C++ API. OEPrepareFastROCSMol should now be used to create molecules optimized for ROCS-type calculations. The documentation has been updated to reflect this change.

Python-specific changes

  • Two new overload functions, OEReadMolFromBytes and OEWriteMolToBytes, have been added to specify input or output flavors from the OEIFlavor and OEOFlavor namespaces.

  • A crash in the Python interpreter due to malformed UTF-8 input character sequences has been fixed.

  • Binary data now can be safely attached to objects as generic data without being truncated at a \0 character.

Java-specific changes

  • Two new overload functions, OEChem::OEReadMolFromByteArray and OEChem::OEWriteMolToByteArray, have been added to specify input or output flavors from the OEIFlavor and OEOFlavor namespaces.

C#-specific changes

  • Two new overload functions, OEReadMolFromBytes and OEWriteMolToBytes, have been added to specify input or output flavors from the OEIFlavor and OEOFlavor namespaces.

  • A minor issue with the C# verify.py script that caused the validation to halt if one or more toolkit licenses was missing from the active license file has been fixed.

OESystem TK 2.1.4

Minor bug fixes

OEBio TK 2.1.4

New features

Minor bug fixes