The following API have been added to generate and use 2D ring dictionaries:
The following sections provide examples to generate and utilize user-defined 2D ring dictionaries:
ringdict2pdf example in OEDepict TK will generate a multi-page PDF report of a 2D ring dictionary.
221 new ring templates have been added to the built-in ring dictionary.
Pure Carbon Skeleton Ring Templates
Ring Templates with Specified CIS/Trans Bonds
OEIFlavor.MOL2.Forcefieldflavor has been added to the MOL2 reader. This allows atom names in the MOL2 file to be interpreted as chemical elements while not using the second character if capitalized; for example, CA and CD are both carbon instead of calcium and cadmium. This will help reading
OEFormat.MOL2files that contain forcefield information like partial charges.
OEAddCustomFASTAResiduenow provides the ability to customize
OEFormat.FASTAinput files with unnatural nucleic acids.
OEIFlavor.FASTA.CustomResiduesflavor is used to activate the new feature.
OEIFlavor.FASTA.EmbeddedSMILESflavor has also been added to experiment with adding cyclizations to peptides using custom tethers. These features are currently considered experimental; please send feedback to firstname.lastname@example.org.
OEOFlavor.CDX.UnsetBad2DStereo, new output flavors for SDF and CDX output formats, have been added. These constants control behavior when generating 2D coordinates during output. When used, the writer will set the stereo to “undefined” for any misleading stereochemistry that may result from layout limitations.
OESubsetMolhas a new overload that supports the use of
OEAtomBondSetinput. This can offer significant performance improvements over the predicate overloads since a full molecule iteration can be avoided.
OEMolBase.ClearCoordshas been added to fully clear molecule coordinates, clear the dimension code, and reset perception flags.
OEMolDatabase.WriteMoleculehas been added to automatically extract a molecule from the database and write it to the
oemolostream. This function is optimized for performance to simply move bytes around if the input
OEMolDatabaseformat and the output format match exactly.
OEMolDatabase.GetMoleculeStringhas been added to allow direct access to the molecular record data.
OESweepRotorCompressHydrogenshave been added and documented to allow advanced users to start experimenting with perfect-rotor-encoding OEB files to achieve higher rates of conformer compression. This feature is currently only available to the C++ toolkits.
The following free functions have been added for handling dummy atoms in forcefield calculations in special circumstances:
Currently, dummy atoms are only allowed in Szybki TK for non-bonded interactions.
OEAssignRadiifree function has been added to allow for a central entry point for any OpenEye Toolkit atomic radii assignment. This free function uses the
OERadiiTypenamespace for choosing the type of radii to assign.
Major bug fixes¶
OEReadMoleculewill now correctly handle right-justified atomic symbols in MDL molfiles. These files are being generated by the RCSB PDB custom SDF file writer.
OEPerceiveCIPStereo, the Cahn-Ingold-Prelog stereochemistry perception algorithm, has been rewritten to solve the following issues:
Performance issues for large molecules have been resolved.
Incorrect chirality perception for certain isotopic molecules, detailed in the blog post R or S? Let’s Vote, has been corrected.
Incorrect chirality perception for stereocenters with both a hydrogen and either a deuterium or tritium attached has been fixed.
Incorrect chirality perception for stereocenters with both a hydrogen and a *atom (atomic number 0) has been fixed.
falseargument called after a stream has finished reading molecules will no longer cause
OEReadMoleculeto crash on subsequent calls. It will now return
falseto indicate that the stream has finished.
OEMolDatabase.Openwill now fail and throw a warning message if there is no disk space left for uncompressing compressed input files. In earlier releases, the operation would appear to succeed and lead to corrupted molecules past a certain point. Furthermore, the directory that
OEMolDatabaseuses for temporary files can now be controlled through the
TMPenvironment variables on Windows or the
TMPDIRenvironment variable on Linux and OSX.
OEMolwill now work with the
V3000file format much more reliably. This was accomplished by making sure that multi-conformer molecules can handle groups appropriately. The
OEGroupBaseclass is a container of atom and bond pointers inside an
OEGroupBaseclass is currently used to store MDL-enhanced stereo information. Each conformer of the multi-conformer molecule has its own separate container. Now methods such as
OEMolBase.GetGroupswill provide access to the groups of the active conformation.
Minor bug fixes¶
OEFormat.OEBformat reading will no longer cause a rare crash when dealing with large amounts of SD data, PDB data, or bond integer types.
OEMolBase.NewGroupmethod signatures now take
const std::vectorof atom and/or bond pointers. Previously, these arguments were not
consteven though the vectors were not altered.
OEGetAtomicNumis now tolerant of leading spaces for the string argument passed in.
OEBinaryIOHandlerBasehad accidentally been removed from Java in the 2014.Oct release. This broke the older idiom for preserving rotor-offset compression in OEB files using
OEInitDefaultHandler. The preferred API is to now use
OEPreserveRotCompressdirectly on the molecule streams, avoiding the need to access the
OEUnaryRoleSetPredicateFuncfunction was renamed to
OEUnaryRoleSetBoolFuncfor the sake of consistency.
OERoleSetpredicates can now be created and customized in the same way as atom and bond predicates.
OERoleSetpredicates are an important part of customizing the new OEBio TK Splitting Macromolecular Complexes feature.
An API has been added for classifying and separating the various components of a macromolecular complex by their functional roles. See the Splitting Macromolecular Complexes section for more information.
OEThrow.GetLevelrace conditions should be largely alleviated now.
OEErrorHandler.GetLevelwill now affect the error message level for the current thread only; all new threads launch with the default error level of
Multi-threaded OpenEye Toolkit programs may need to be updated to allow the desired output to be sent to standard error. However, the previous behavior was race-condition prone and difficult to get correct.
Minor bug fixes¶
OERandomconstructor will no longer take an
unsigned intas input. Previously, the
unsigned intwould be implicitly cast to
booland would control whether to time seed the constructor. However, most users actually intend to use an
unsigned intas a random number seed meant for the
OERandom.Seedmethod. This change should catch this common mistake at compile time.
OEFileTempPathwill now use the directory specified by the
TMPDIRenvironment variable on Linux and OSX. This allows the user to control where OpenEye Toolkits will create temporary files. This is especially useful since
OEMolDatabasecan use a lot of temporary storage when dealing with compressed data files.
Minor internal changes have been made.