Version 2.0.4¶
OEChem 2.0.4¶
New features¶
The following API have been added to generate and use 2D ring dictionaries:
OE2DRingDictionary class
OEIsValid2DRingDictionary
functionOEWrite2DRingDictionary
functionOEInit2DRingDictionary
function
The following sections provide examples to generate and utilize user-defined 2D ring dictionaries:
See also
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::Forcefield
flavor 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 readingOEFormat::MOL2
files that contain forcefield information like partial charges.OEAddCustomFASTAResidue
now provides the ability to customizeOEFormat::FASTA
input files with unnatural nucleic acids.OEIFlavor::FASTA::CustomResidues
flavor is used to activate the new feature.OEIFlavor::FASTA::EmbeddedSMILES
flavor has also been added to experiment with adding cyclizations to peptides using custom tethers. These features are currently considered experimental; please send feedback to support@eyesopen.com.
OEReadMolFromString
andOEWriteMolToString
have been added. These functions provide efficient molecule encoding to all the OEChem file formats. We anticipate significant performance improvements using these functions instead of theoemolostream::openstring
method.
OEOFlavor::SDF::UnsetBad2DStereo
andOEOFlavor::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.OESubsetMol
has a new overload that supports the use of OEAtomBondSet input. This can offer significant performance improvements over the predicate overloads since a full molecule iteration can be avoided.OEMolBase::ClearCoords
has been added to fully clear molecule coordinates, clear the dimension code, and reset perception flags.OEMolDatabase::WriteMolecule
has 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 OEMolDatabase format and the output format match exactly.OEMolDatabase::GetMoleculeString
has been added to allow direct access to the molecular record data.OEPRECompress
andOESweepRotorCompressHydrogens
have 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.OEMDLGetValence
has been added to provide direct access to the MDL valence model. See the MDL Valence Model section for more information.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.
OEAssignRadii
free function has been added to allow for a central entry point for any OpenEye Toolkit atomic radii assignment. This free function uses theOERadiiType
namespace for choosing the type of radii to assign.
Major bug fixes¶
OEReadMolecule
will 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.
oemolistream::openstring
will now properly reset the state of the oemolistream to use the new data passed tooemolistream::openstring
wheneveroemolistream::Setgz
was previously called. In earlier releases,oemolistream::openstring
would only work the first time it was called; subsequent calls would fail to use the new data, even though the function was returningtrue
as if it had succeeded.
oemolistream::Setgz
with afalse
argument called after a stream has finished reading molecules will no longer causeOEReadMolecule
to crash on subsequent calls. It will now returnfalse
to indicate that the stream has finished.OEMolDatabase::Open
will 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 OEMolDatabase uses for temporary files can now be controlled through theTEMP
orTMP
environment variables on Windows or theTMPDIR
environment variable on Linux and OSX.OEMol will now work with the
V3000
file format much more reliably. This was accomplished by making sure that multi-conformer molecules can handle groups appropriately. The OEGroupBase class is a container of atom and bond pointers inside an OEMCMolBase. The OEGroupBase class is currently used to store MDL-enhanced stereo information. Each conformer of the multi-conformer molecule has its own separate container. Now methods such asOEMolBase::GetGroups
will provide access to the groups of the active conformation.
Minor bug fixes¶
OEFormat::OEB
format reading will no longer cause a rare crash when dealing with large amounts of SD data, PDB data, or bond integer types.OEMatchBase now checks parameters to the overloaded versions of the
OESubsetMol
function to ensure that the given match corresponds to source and destination molecules.OEMolBase::NewGroup
method signatures now takeconst std::vector
of atom and/or bond pointers. Previously, these arguments were notconst
even though the vectors were not altered.OEReadMolecule
will now perform chirality perception for 0D MDL molfiles to ensure thatOEAtomBase::IsChiral
andOEBondBase::IsChiral
are correct.OEGetAtomicNum
is now tolerant of leading spaces for the string argument passed in.
Java-specific changes¶
OEBinaryIOHandlerBase had 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 useOEPreserveRotCompress
directly on the molecule streams, avoiding the need to access the OEBinaryIOHandlerBase internals entirely.The
OEUnaryRoleSetPredicateFunc
function was renamed toOEUnaryRoleSetBoolFunc
for the sake of consistency.OERoleSet predicates can now be created and customized in the same way as atom and bond predicates. OERoleSet predicates are an important part of customizing the new OEBio TK Splitting Macromolecular Complexes feature.
OERoles class has been added as a concrete implementation of the OERoleSet abstract base class.
Documentation changes¶
2D Coordinate Generation chapter has been added.
OEBio 2.0.4¶
New features¶
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.
OESplitMolComplex
functionOEGetMolComplexComponents
functionOECountMolComplexSites
functionOESplitMolComplexOptions class
OEMolComplexCategorizer class
OEResidueCategoryData class
OEMolComplexFilter class
OEGetResidues
function has been added to allow iteration over all unique OEResidue objects in an OEMolBase.
Documentation changes¶
Protein Preparation chapter has been added to document the APIs for splitting macromolecular complexes into their components.
OESystem 2.0.4¶
New features¶
OEThrow.SetLevel
andOEThrow.GetLevel
race conditions should be largely alleviated now.OEErrorHandler::SetLevel
andOEErrorHandler::GetLevel
will now affect the error message level for the current thread only; all new threads launch with the default error level ofOEErrorLevel::Default
(Info
or above).Warning
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¶
OERandom constructor will no longer take an
unsigned int
as input. Previously, theunsigned int
would be implicitly cast tobool
and would control whether to time seed the constructor. However, most users actually intend to use anunsigned int
as a random number seed meant for theOERandom::Seed
method. This change should catch this common mistake at compile time.
Documentation changes¶
OEMath Functions chapter now contains more detailed descriptions of the functions.
Documentation has been added for the following classes:
OEPlatform 2.0.4¶
New features¶
OEFileTempPath
will now use the directory specified by theTMPDIR
environment variable on Linux and OSX. This allows the user to control where OpenEye Toolkits will create temporary files. This is especially useful since OEMolDatabase can use a lot of temporary storage when dealing with compressed data files.
OEGrid 1.5.1¶
Minor internal changes have been made.