Version 1.9.1

OEChem 1.9.1

New features

  • OEOmegaConfTest has been created specifically for output from OMEGA. This conftest ignores invertible nitrogen stereochemistry that OMEGA freely adjusts in order to allow these conformers to be read into the same OEMol.

  • OELibraryGen.SetValidateKekule added to set whether alternative Kekulé forms are enumerated until a valid form is identified before returning a product.

  • The oemolthreadbase.GetMol method for oemolithread class will now return chunks of molecule files that can be directly written to files to enable faster tokenization of a molecule file. Before this release, this method would often not return whitespace that was necessary to delineate boundaries between molecules.

Major bug fixes

  • OEPerceiveResidues had a bug introduced in the 2012.Feb release that could cause crashes or strange data to be written to the OEAtomBase.GetName field whenever OEAtomBase.GetAtomicNum returned 0. Atoms with an atomic number of 0 will now be given the name of `` UNK`` (note, the leading space to match PDB style names).

  • OEAssignAromaticFlags no longer takes an OEAroModel, which was a unsigned short * typedef, but takes an integer from the OEAroModel namespace instead. Global constants prepended with OEAroModel* are now deprecated. This works around a serious bug that would sometimes cause OEAssignAromaticFlags to not do anything to the molecule. This may break source-level backwards compatibility for strongly typed languages (C++, Java, and C#) if a global constant prepended with OEAroModel* was stored as a variable.

Code may have to be ported like the following:

short[] m = oechem.getOEAroModelOpenEye();
// change the previous line to the following
int m = OEAroModel.OpenEye;

OEAssignAromaticFlags(mol, m);

Minor bug fixes

  • The oemolistream constructor that takes a oeistream argument had its ownership flag default changed from true to false for Java. There is no way to pass ownership to the object from Java without usually resulting in a crash, so passing the value of true to this constructor will now throw an error message.

  • oemolithread and oemolothread can no longer to be copy constructed. They are heavy weight objects representing real operating system threads and thus should not be copied.

  • Resolved an issue in Java where compiling against the OpenEye jar would cause additional class files to appear in the current directory.


There is a known bug concerning OpenEye constants that occurs when compiling against an older version of the OpenEye jar and running against a newer version of the OpenEye jar. Please make sure to run against java programs against the same version it was compiled with.

  • The MDL V3000 reader now throws a warning that the ENDPTR and ATTACH bond properties will be ignored.

  • OEMatch.AddPair now checks whether the atom and bond pairs belong to the same molecule.

  • OELibraryGen now allows an aromatic bond to become a triple bond when breaking a ring.

OESystem 1.9.1

New features

Minor bug fixes

Documentation fixes

  • OEBitVector.FromHexString and OESystem::OEBitVector::ToHexString documentation has been corrected to explain their behavior with respect to bit vector lengths and the handling of non-hexadecimal digits in the translation process.

  • OECheckHelp is now documented.

OEPlatform 1.9.1

New features

  • oeifstream.pread method added to allow multiple threads to read from a single file.

  • oeiofstream class added to support reading and writing to the same open file.

  • method added to read the entire contents of the stream or throw std::bad_alloc whenever the system runs out of memory.

Major bug fixes

  • OEPlatform::oeifstream::getline would sometimes cause buffer overflows whenever max characters were actually in the line. The documentation was not very clear what this max parameter meant, it used to be the line size, not including the null terminator. Now it means the size of available memory in the buffer passed in, including the null terminator, and the documentation is now more clear on the subject.

  • OEPlatform::oeifstream::append will now close the previous file before opening the next file. Before, calling the append method in a loop could lead to the process easily running out of a available file descriptors.

  • The macros OE32BIT and OE64BIT were improperly set on 64-bit Windows.

Minor bug fixes

  • OEGetHostIdent fixed to work on machines where eth0 was not in use for network traffic.

OEBio 1.9.1

Minor bug fixes

Documentation fixes

  • OERotamer class is now documented for working with frequently observed conformations of amino-acid sidechains .

OEGrid 1.4.2

Major bug fixes