The OESubSearch class now throws a warning in the following
two cases:

If there are only explicit hydrogens in the pattern, but the target has only
implicit hydrogens.

If there are only implicit hydrogens in the pattern, but the target has only
explicit hydrogens.

These warnings are necessary in order to avoid substructure match failures that
are the result of mismatched hydrogen representation.

The OEGetFileType function now returns
OEFormat.UNDEFINED for file extensions that
contain extra characters after the known file extension. For
example, ismama used to inappropriately return
OEFormat.ISM. The only exception is if the extra
characters are preceded by ”.”. Therefore, the following strings are
still considered valid: sdf.gz, sdf.bin, and sdf.zip.

V3000 entries with a broken atom or bond block will no longer crash,
the reader will now throw a warning and skip the molecule.

OEWriteMDLFile no longer has a subtle race
condition that could lead to incorrect time stamps being written in
the header. The race condition was caused by the use of the standard
C library localtime function.

OEChem::oemolithread::open will no longer crash when given
an empty .csv file.

OEReadMDLReactionQueryFile previously incorrectly
required “M END” lines between reactant and product blocks. These
lines are no longer required and will be ignored if they are
encountered. This change allows reaction query files to be read that
are generated by ChemDraw and the Accelrys Enterprise Platform.

OEChem 2.0.0, the previous release, introduced automatic 2D
coordinate generation when writing to the following file formats:
OEFormat.SDF, OEFormat.MDL,
and OEFormat.CDX. However, coordinate generation
will only occur if OEMolBase.GetDimension does
not return 2 or 3, indicating that the molecule already contains
coordinates. OEWriteMolecule will now throw a
warning message if coordinates are detected on the molecule and
OEMolBase.SetDimension was not appropriately
called. Users should either call
OEMolBase.SetDimension to the appropriate
dimensionality of the molecule, or clear the molecule’s coordinates.

Note

.cdx files will still automatically generate 2D
coordinates from 3D molecules since .cdx is a 2D molecule
format only.

OEAssignAromaticFlags used to only set atoms to
non-aromatic if no ring bonds were found. Bond aromaticity will now
be cleared as well if no ring atoms are found.

Simplified the documentation for the basic molecule class
hierarchy. Previously, documentation was spread between the base
class and the concrete classes. The base class sections should now
be the canonical place to look for specific method documentation.

OEMakeMolecularGaussianGrid now has an overload
to allow a grid with existing dimensions, mid-point, and spacing to
be filled. Previously, the grid size would always be recreated based
upon the size of the molecule.

Better support for output of non crystallographic grids to CCP4
file. Now the CCP4 ARMS value is set to 1.0 and the CCP4 MEAN is
set to 0.0 to prevent scaling and offsetting in CCP4 map
visualizers. Additionally, the spacegroup is now output as 146 (H3)
as opposed to the non-standard 1146 (R3) to facilitate viewing in
MOE. Please note that values appearing outside of the
specified unit cell will be incorrect.