Version 1.4.2

OEChem 1.4.2

OEChem 1.4.2 is a bug fix release including dozens of minor and major bug fixes. It also includes numerous new minor features, and also brings significant practical changes. OEChem 1.4.2 is the first OEChem that is being released along with all the other public OpenEye toolkits. This will be a major step forward for inter-operability between different OpenEye toolkits and will open the way for easier support of customer applications that span multiple OpenEye toolkits.

OpenEye continues to be committed to maintaining a stable OEChem API and thus any programs written with previous versions of OEChem should re-build with the 1.4.2 version of OEChem. However, as is the nature of C/C++ code, particularly C++ template code, some of the bug fixes are in header files, so dependent libraries such as most other OpenEye libraries may require a re-link.

OEChem 1.4.2 will be the first release in which OpenEye is beginning to move toward synchronizing our library releases. This will remedy problems some people have experienced with link-problems when combining three or more OpenEye libraries into a single application.

Major bug fixes

  • Added safeguards against stack over-runs in all molecule implementations.

  • Fixed a major bug in rotor-offset compressed OEBinary file handling that made these molecules fragile with respect to molecule copies.

  • Fixed thread-safety of reading SMILES.

  • Fixed crash-bug when OEPerceiveResidues was called on unusual small-molecule peptide mimics such as O=CC(C)NC(C)C=O.

  • Fixed dummy-atom handling in the CDX reader. Also improves implicit-hydrogen handling, but limits the reader to reading a single connection table.

  • Corrected failure to include Isotope information in OEBinary files.

  • Fixed crash-bug from processing stereochemistry on MDL atoms with degree three having hashes and wedges.

  • A major oemolistream bug was fixed by fixing a stream bug (see OEPlatform’s Major bug fixes above).

  • Fixed a bug where OELibraryGen failed to convert an aromatic ring to aliphatic accurately.

Minor bug fixes

  • Dramatic improvement in the search speed of disconnected SMARTS such as (*).(*).

  • Speed optimizations were added to molecular geometry manipulations.

  • Fixed very rare search-path bug in aromaticity perception.

  • Allow support for C[N@H]O and C[N@@H]O in SMILES output.

  • Fixed side-effects of OECanonicalOrderBonds on stereochemistry.

  • Added BondIntType I/O in OEBinary format.

  • Improve OEKekulize fall-backs to it fails gracefully.

  • Add support for fully explicit Hydrogen flavor in SMILES (i.e. [CH4]).

  • Fixed bug in the over-application of constraint for MCS searches.

  • Added support for aromatic lead, aluminum, germanium and tin.

  • Improved support for MDL’s V3000 format.

  • Improved perception of cationic N.pl3 atoms with partial charge greater than one.

  • Added protection to SMILES writer for molecules with a terminal single bond that has stereochemistry specified.

  • Fixed initialization of OEBinaryHandlers.

  • Added support for the aromaticity model being used to effect chirality perception.

  • Improved carbon dioxide, acetonitrile, cyanamide, cyanic acid and thiocyanic acid fragment recognition in bond perception algorithms.

  • Fixed rounding error in OENetCharge function.

  • Fixed endian bug in CDX reader for OS X.

  • Added protection from molecule titles >4K in length.

  • Added proper support for comments in MOPAC files.

  • Improved copy construction and assignment of OEQAtomBase and OEQBondBase.

  • Added OEOFlavor_PDB_HETBONDS flavor to the PDB writer that causes any bond to or from a HETATOM to be written explicitly. The HETBONDS flavor now part of the default output.

  • Added support for UNK atoms attached to a backbone and LIG atoms that are covalently bound ligand or post-translational modifications to be given the same chain ID and residue number as the residue to which they are bonded.

  • Added OESymmetryNumber to calculate the symmetry number of a given conformer within a user-defined threshold.

  • Fixed bug that lost SD data attached to an OEMol (not its conformers) when the molecule was written to OEB (Note, SD data is not generally stored on the parent molecule).

  • Fixed OrderConfs OS X memory bug.

  • Fixed strip salts to only count heavy atoms in determining the fragment with the largest size. This makes the behavior remain consistent with implicit and explicit hydrogens.

  • Added support for x in SMARTS as defined in v4.9 of Daylight’s toolkit.

  • Prevent PDB writer from generating CONECT records that have the same serial number for the source and destination.

  • Fixed bug in automorphism calculations on molecules with hydrogen-defined cis-trans bond stereo.

  • Improved algorithm for perception of 3D bond stereo.

  • Added support for stable serial numbers, alternate locations, insertion codes and heteroatoms during calls to OEPerceiveResidues.

  • Improved heuristics for residue perception in the presence of unusual chain terminations.

OEBio 1.4.2

Major bug fixes

  • Changed OEHierView constructor to assume initial perception has already occurred. This prevents the constructor from over-aggressively re-perceiving residue information.

Minor bug fixes

  • Made command-line usage more explicit for subsetres example.

  • Improved output format at water categorization for rescount example.

  • Converted OEBio::GetChis to OEGetChis.

  • Improved support for g++ 4.x.

  • Corrected bug so that a new chain automatically starts a new fragment and a new chain or new fragment automatically start a new residue.

  • Fixed bug in OEGetAtoms from a residue’s flood-fill algorithm.

OESystem 1.4.2

Major bug fixes

  • Fixed bug that caused all the OEErrorHandler parameters to be reset to default values when the stream was reset.

  • Increased error handler buffers to 8K to prevent crashes with very large warning and error messages.

  • Added specific handling of OEErrorLevel_Verbose that was previously missing.

  • Protect Hanoi sort routine from sorting lists of size 0 or 1.

  • Prevent parameter mismatches in OEMultiGrid’s owned grids.

Minor bug fixes

  • Improved efficiency of sorting in OEIter class and fixed bug in the OEBinaryPredicate sort implementation.

  • Added Push, Sort and the NonConst constructor to the primitive specializations of OEIter.

  • Allowed weighting of coordinates in inertial tensor and inertial alignment routines.

  • Fix OEBitVector.FromHexString function to skip over end of line characters in the input.

  • Allow OEBitVector to properly read std::vector<bool>.

  • Allow quoting parameter values in OEInterface parameter files.

  • Fixed bug in wildcard matching for OEInterface string parameters.

  • Fixed auto-link warnings resulting from --help html.

  • Added OEFixedGrid.SetValues (note, the size of the grid is not mutable).

  • Fixed float/double precision bug in OEStringToNumber.

OEPlatform 1.4.2

Minor bug fixes

  • Improved support for both MSVC and mingw on 32 bit Windows.

  • Improved 64 bit support.

  • Improved compatibility with HPUX and IRIX64

  • Improved support for gcc 4.x.

Major bug fixes

  • Fixed bug in oeistream.close that prevented oemolistream.close from returning the molstream to a default state.

  • Fixed a size-check bug in low-level binary i/o routines.