Version 2.0.1¶
OEChem 2.0.1¶
New features¶
OEMolBase::SetCoordswill now reset the atom and bond stereo perception flags,OEPerceived::AtomStereoandOEPerceived::BondStereorespectively. This can force reperception of the stereo information from the new coordinates by other functions that may need it. For example, a later call toOEWriteMoleculewill now automatically callOE3DToAtomStereo.OECopyMolfunction added to make a copy of a molecule and return the atom or bond associations between the source and destination molecules.OEMolBase::ClearBasemethod added to allow clearing generic data on the OEMolBase without destroying the molecule itself.OEUniMolecularRxn::SetValidateKekulemethod added to allow skipping the Kekule validation step after the reaction is applied. Note, this allows OEUniMolecularRxn to return radicals, leaving clean up to the user.OESuppressHydrogenscan now suppress hydrogens at specific heavy atom sites.OENthAtom predicate’s 2nd argument now defaults to
0to be easier to use.OEGetMolDatabaseIdxFileNameadded to generate index file names from database file names using the same rules asOECreateMolDatabaseIdxandSave.
Major bug fixes¶
OEMMFFAtomTypewill no longer crash whenever an unbonded sulfur with a single implicit hydrogen is encountered.OEAssignAromaticFlagsnow invokes theOEFindRingAtomsAndBondsfunction, when necessary. If no ring atoms are detected in the molecule, theOEAssignAromaticFlagsfunctions returns after setting all atoms and bonds of the molecule to be non-aromatic.The OESubSearch class now throws a warning in the following two cases:
If there are only explicit hydrogens in the pattern, but the target has only implicit hydrogens.
If there are only implicit hydrogens in the pattern, but the target has only explicit hydrogens.
These warnings are necessary in order to avoid substructure match failures that are the result of mismatched hydrogen representation.
The
OEGetFileTypefunction now returnsOEFormat::UNDEFINEDfor file extensions that contain extra characters after the known file extension. For example,ismamaused to inappropriately returnOEFormat::ISM. The only exception is if the extra characters are preceded by “.”. Therefore, the following strings are still considered valid:sdf.gz,sdf.bin, andsdf.zip.V3000 entries with a broken atom or bond block will no longer crash, the reader will now throw a warning and skip the molecule.
OEMDLPerceiveBondStereofunction will no longer clear wavy bonds,OEBondStereo::Wavy, since this property can not be re-perceived from other information. The MDL bond stereo can be removed by calling the newOEMDLClearBondStereofunction.OEWriteMDLFileno longer has a subtle race condition that could lead to incorrect time stamps being written in the header. The race condition was caused by the use of the standard C librarylocaltimefunction.OEChem::oemolithread::open will no longer crash when given an empty
.csvfile.OEReadMDLReactionQueryFilepreviously incorrectly required “M END” lines between reactant and product blocks. These lines are no longer required and will be ignored if they are encountered. This change allows reaction query files to be read that are generated by ChemDraw and the Accelrys Enterprise Platform.
Minor bug fixes¶
OEMolDatabase::GetTitlewill no longer return a corrupted title for multi-molecule.mol2files.OEGenerate2DCoordinateswill now handle a molecule as a reaction if any of its atoms have a reaction role other thanOERxnRole::None. Previously, only molecules that returnedtruefromOEMolBase::IsRxnwould be handled as reactions.OEChem 2.0.0, the previous release, introduced automatic 2D coordinate generation when writing to the following file formats:
OEFormat::SDF,OEFormat::MDL, andOEFormat::CDX. However, coordinate generation will only occur ifOEMolBase::GetDimensiondoes not return 2 or 3, indicating that the molecule already contains coordinates.OEWriteMoleculewill now throw a warning message if coordinates are detected on the molecule andOEMolBase::SetDimensionwas not appropriately called. Users should either callOEMolBase::SetDimensionto the appropriate dimensionality of the molecule, or clear the molecule’s coordinates.Note
.cdxfiles will still automatically generate 2D coordinates from 3D molecules since.cdxis a 2D molecule format only.OEAssignAromaticFlagsused to only set atoms to non-aromatic if no ring bonds were found. Bond aromaticity will now be cleared as well if no ring atoms are found.OECreateMolDatabaseIdxwill no longer crash whenever called inside a directory without write permissions.OEChem::oemolostream::seekp removed since it did not do anything.
OESmartsLexReplaceargument is nowconstsince the function does not need to alter the vector.Removed unbounded stack allocations.
The partial support for CPSS-style rxnfiles has been entirely removed as this format is documented as obsolete in the CTfile format specification.
OEAddExplicitHydrogensno longer has the rare chance of using uninitialized memory when sprouting hydrogens in 3D.OEReadMDLQueryFilewill now interpret![N,O,S]as![N,O,S,H]to be consistent with MDL matching behavior.OEOmegaConfTest::CompareMols,OEIsomericConfTest::CompareMols,OEAbsoluteConfTest::CompareMolswill all now returntrueif the only difference between the bonds of the two molecules is whether theBgnandEndbonds have been swapped.
Documentation fixes¶
All examples should now use
OESmilesToMolinstead ofOEParseSmiles.OESmilesToMolis the preferred safer method for parsing SMILES.Simplified the documentation for the basic molecule class hierarchy. Previously, documentation was spread between the base class and the concrete classes. The base class sections should now be the canonical place to look for specific method documentation.
For OEGraphMol methods, see the OEMolBase section
For OEMol methods, see the OEMCMolBase section
Added documentation for OEConfBase and OEMCMolBase classes that are instantiations of
OEChem::OEConfBaseTandOEChem::OEMCMolBaseTtemplate classes, respectively.Added missing documentation for the OEConfBase and OEMCMolBase classes.
Generated new images for the Explicit Hydrogens section of the Substructure Search with MDL Queries chapter
Memory leak fixed in
NewConfFromCoordsdocumentation example.Corrected a link to the CTfile format document from Accelrys, Inc.
OEPropertynamespace formatting fixed in PDF files to actually be readable.OEOmegaConfTest added to the conformer test section for Input and Output.
OEBio 2.0.1¶
Major bug fixes¶
OESetRotamercan properly set rotamers with angles of 0.0. Previously the angle was silently left unchanged.
OESystem 2.0.1¶
New features¶
OEInterface can now report all the OpenEye toolkit libraries being used by specifying
--help versionson the command line.OEParseCommandLinenow accepts an argument for specifying the program’s version number. This version number will be printed whenever--versionis found on the command line.OEMemPoolMode::Spinlockedmemory pool mode added to provide a more efficient mutual exclusion mechanism than mutexes for the small object caches.Added the following functions to provide predefined sets of colors:
Added the following colors:
OESystem::OEGold(the original color was renamed toOESystem::OEMandarin)
Minor bug fixes¶
Removed unbounded stack allocations.
SetDateno longer has a subtle race condition due to the use of the standard C librarylocaltimefunction.
OEMakeStringused to be limited by an internal buffer to only output strings with less than 8192 characters. The function will now allow any output size string to be created.
Documentation fixes¶
Added missing documentation for the following colors:
OEPlatform 2.0.1¶
New features¶
OESpinlock and OELockSpinlock classes added to provide mutual exclusion to cheap sections of code with less overhead than OEMutex.
OELocalTimeadded as a cross platform thread safe equivalent to the standard C librarylocaltimefunction.OECurrentTimeoverload added to return the current time in a standard C librarystruct tmobject in a thread safe manner.
Major bug fixes¶
OEGetPlatformInfowill now return Windows versions forWindows VistathroughWindows 8.1.OEGetProcessorInfowould previously only show Pentium III for newer chips on Windows. The function will now interrogate the chip using thecpuidinstruction.
OECurrentTimeis now thread safe. The function was not thread safe due to the standard C librarylocaltimeandasctimefunctions not being thread safe. This was causing writing files to the following file formats to not be thread safe:.svg,.ps.OEFile::DirContentswill no longer leak memory by leaving open aDIR *object.
Minor bug fixes¶
OEGetTimeOfDaywill now return aboolinstead of anintto more clearly show when the function fails.OEOnce::GetValuemethod is now provided on all platforms.
Documentation fixes¶
The following functions are not available in Python, Java, or C# and are only documented in the C++ documentation:
OECycleTime
OEGrid 1.4.6¶
New Features¶
OEMakeMolecularGaussianGridnow has an overload to allow a grid with existing dimensions, mid-point, and spacing to be filled. Previously, the grid size would always be recreated based upon the size of the molecule.
Major bug fixes¶
Better support for output of non crystallographic grids to CCP4 file. Now the CCP4 ARMS value is set to 1.0 and the CCP4 MEAN is set to 0.0 to prevent scaling and offsetting in CCP4 map visualizers. Additionally, the spacegroup is now output as 146 (H3) as opposed to the nonstandard 1146 (R3) to facilitate viewing in MOE. Please note that values appearing outside of the specified unit cell will be incorrect.
Documentation fixes¶
Adding missing
OEMTZMapTypenamespace to the documentation.OEChem release notes for 2.0.0 and 1.9.3 had the OEGrid version slightly wrong. The OEGrid version numbers have been corrected to 1.4.5 and 1.4.4 respectively.