This release marks a major milestone for OEChem: 10 years as an OpenEye product! In recognition of that, we are releasing OEChem 2.0 to clean up some rough edges and bring in some important new features. We are committed to maintaining a stable OEChem API and thus the vast majority of programs written with previous versions of OEChem should continue to be supported in the OEChem 2.x series. The only “backwards breaking” functional change that everyone will see is something that we feel all users will appreciate:
‘.smi’ will now output molecules with stereochemistry.
A few of the new major features in OEChem are:
- OEGenerate2DCoordinates added for 2D coordinate generation and is automatically called when writing .sdf, .mdl, and .cdx files when the associated molecule had no coordinates.
- Support for .csv, comma-separated values, added as a supported molecule file format.
- Fast random access to all OEChem file formats through the new OEMolDatabase class.
- OEAddLicenseFromHttp added to Python, Java, and .NET toolkits to enable fetching license information from a server instead of the standard text file. This is not currently supported in C++.
This release also features the addition of two new toolkits to the distribution:
- Szmap TK – this provides access to the core functionality used by the SZMAP application and enables the calculation of solvent energies and probabilities at arbitrary points in space. It also provides access to probe geometry for output and display.
- OEMedChem TK – this is still in the experimental stages and is not yet officially supported; however, it provides many useful and interesting tools that we wanted to make available while we finalize the API and functionality set. As such, the existing API may (and most likely will) change in a future toolkit release.
Several notable improvements have been made to the Java distributions:
- The layout of the Java package has been simplified. In general the directory structure was flattened out. Unzipping the distribution now creates a directory: OpenEye-Java-Version-Platform-Arch. This directory includes the following subdirectories and files: lib, doc, examples, verify, and README.txt. The OpenEye jar is under the lib directory. The OEChem Quick Start Guide and Java Best Practices document are in the docs directory. Run verify.py in the verify directory to ensure a working distribution.
- All Java APIs that take primitive arrays as arguments have been optimized.
- The Java toolkits no longer run a separate finalizer thread to automatically close() file-like objects as it was not guaranteed to run close() for all objects. Users are required to call close() for any object that provides that method.
- The Java toolkits will no longer use OESwigBase and OENativePointer to circumvent the Java garbage collector. These constructs are no longer necessary with the newer versions of Java and were creating a small overhead in newer versions of Java.
- Added support for OSX 10.9 Mavericks.
- The next toolkit release, 2014.Jun, will be the last release to support OSX 10.7.
- This release will be the last release to support OSX 10.6.
- The next toolkit release, 2014.Jun, will be the last release to support 64-bit Ubuntu 10.04.
- GCC 4.8.2 support added for RHEL6. GCC 4.8.1 had a bug that made it impossible to compile OpenEye header files. Please use 4.8.2+.
- Experimental support for Python 3.3 added.