Fix cis/trans bond stereochemistry perception when reading MDL
MOL and SD files via OEReadMDLFile. We were overly aggressive
when marking double bonds in rings as cis vs. trans due to a missing
call to OEFindRingAtomsAndBonds. We also no longer attempt
to attribute E/Z stereochemistry to connection tables without coordinates,
or when any of the relevant bond lengths are zero.
Accidentally OEChem*`s zmatrix handling functions were documented
in the *OEChem documentation but were missing from the distributed list
of header files. This oversight has been corrected and the classes
OEChem::OECartesianToInternal and OEChem::OEInternalToCartesian
and the functions OECalcCartesianCoord and
OECalcInternalCoord are now publicly available.
Fixes OEGetSmallestSubtree to correctly return the smallest
set of atoms on either side of a given bond when the molecule contains
Performance improvements to OEGraphMolParameter, to avoid
using OEIsomericConfTest when loading single conformer molecules.
Bug fix to DeleteConf
that could occasionally result in that multi-conformer molecule’s active
conformer being corrupted.
Tweak to OEMDLPerceiveBondStereo to preferentially place the
wedge or hash bond on the bond to an explicit hydrogen, for chiral stereo
centers of degree three.
Enhancements to OEMDLPerceiveParity to support chiral
atoms with two heavy atom neighbors and an explicit hydrogen. These
aren’t supported by MDL software (including ISIS/Draw) but this allows
OEChem to convert X[N@H]Y to an MDL mol file and back to isomeric
SMILES without loss of information.
Improvements to OEMDLStereoFromParity to set OEChem‘s
atomic chirality for the MDL stereo parity flag for both degree three
and degree four atom stereo centers.
Correct problem in OEChem::OEMiniAtom::Copy where duplicating an
atom would preserve the explicit degree of the original, as returned by
Fixes to both OEChem::OEMiniBond::SetOrder and
OEChem::OEMiniBond::SetIntType that would incorrectly reset the
aromaticity and in-ring flags of a bond as a side-effect.
Miscellaneous fixes and improvements to OEChem::OEMiniMol::Copy.
OEPerceiveSymmetry would previously segmentation fault on some
platforms if passed a molecule with no atoms. This routine has now been
Maintenance updates to OEReadPDBFile to handle PDB files
deposited at RCSB, up to July 2004. For example, correctly handling
the hetero atoms of the NZQ residue of pdb1oj7.ent.
A serious performance regression in OERMSD has been addressed.
A change to OERMSD for OEChem 1.3 unexpectedly resulted in a
significant drop in superposition speed. This has now been resolved and
OERMSD is as fast as (or faster than) it was in OEChem 1.2.
The string reference argument to OESetComment is now correctly
marked as const. This value is never modified by this function.
The sanity checking in OESetTorsion has been improved such
that we now return false for dubious calls to that function. For example,
when the first and four atom pointers refer to the same atom. Previously,
we’d do nothing, but not indicate a failure with the return value.
Improvements to match limit test in OESubSearch that prevent
excessive run-times for pathological substructure search patterns. Previously,
substructure searching of *.*.*.* wouldn’t honor the match limit setting,
and spew multiple match limit reached warnings.
Enhancement to OEWritePDBFile to allow it to honor the
OEOFlavor::PDB::RADIUS flag to write an atom’s radius in the PDB
occupancy field, even when writing a molecule without residue information.