Generic Data handling chapter added.
OEChemexamples have been overhauled. Several examples have been removed, new ones have been created and all the examples (across all the languages we support) have been reviewed to bring them up to a similar standard. For the details of example toolkit scripts see the examples summary chapter. Source code is also included in the documentation.
OEBase::GetDataIterthat takes an unsigned integer added for convenience.
OEParseSmilesfunction will now ignore extra leading spaces in non-strict mode.
OELibraryGen::SetTitleSeparatorwill now store an internal copy of the string, fixing issues in wrapped languages.
OEIs3DFormatfunction added as a convenience function for the user to determine whether a file format supports 3D coordinates.
OEMolBase::Clearcan now be called on a compressed DBMol and DBMCMol to wipe out the molecule entirely.
OEIsNonRingAtomDoubleBondedToRingfunctor added to detect atoms double bonded to a ring. Most users consider atoms double bonded to a ring system as part of the “scaffold”.
MiniMols can now store coordinates, energy, and dimension. These are stored as generic data, so not particularly “mini”. Just meant to allow MiniMols to be used as a more general purpose molecule implementation.
Safety precautions to prevent corrupted molecules from being written were placed into the OEB writer for rotor-offset-compressed molecules. These molecules should not be modified, and definitely should not be written if they were modified.
Both old format and new format PDB hydrogen atom names are now supported. The new PDB naming format is used when new H atom names are assigned. The call
OEResidueHydrogensnow supports an option to control which style of H atom names is assigned.
Four new residue types have been defined:
OEResidueIndex::NME(carboxy-terminal methyl amine)
OEResidueIndex::CIP(AmberFF’s +1 ion)
OEResidueIndex::CIM(AmberFF’s -1 ion).
Major bug fixes¶
Fixed a crash in the OEB writer that occurred when very large values were set for the map index or isotope atom properties.
Fixed a bug with parity bits in SDF files. This would occur if
OEPerceiveChiralwas called with an aromaticity model other than MDL before the molecule was written. The SDF writer now makes sure to re-perceive chirality based upon the MDL aromaticity model to get the correct parity bits.
Fixed a memory leak that would occur when reusing a
oemolistreamfor many different files under certain circumstances.
The FASTA reader now assigns the proper stereochemistry to the molecules it produces.
OEPerceiveResiduesnow respects the following data preservation flags:
OEPreserveResInfo::FragmentNumberboth individually and implicitly as part of the flag:
OEPreserveResInfo::All. Using the flag
OEPreserveResInfo::SerialNumberwill leave only the serial number of new atoms altered.
Minor bug fixes¶
OELibraryGenfixed when explicitly defined bonds on the reactant side are not set correctly. This used to generate products with incorrect valence.
OEMiniMol::Sweep() fixed to properly re-index atoms and bonds after some atoms and bonds were deleted.
OEKekulizewill now fail if the integer bond types are set correctly, i.e., not between
OEOFlavor::Generic::Defaultwill now be consistent in molstreams for all flavors. The
OEIsWriteablefunction that takes a format and a flavor will now check the generic and specific flavor bits separately.
OERMSDfixed when dealing with multi-conformer molecules with suppressed hydrogen atoms.
OEParseSmilesfixed to not crash when parsing empty strings in strict mode.
OELibraryGen::GetTitleSeparatormethod signature changed to return a string directly. The previous signature and function couldn’t operate and didn’t actually do anything.
OESmartsLexReplacefixed to not give incorrect SMARTS whenever a name appears twice in the bindings vector. Instead, the first pair is used, and a warning is thrown to indicate to the user about there being multiple pairs.
oemolithread::openstringcrash fixed when used without a valid format being set.
OEAddExplicitHydrogensis fixed to produce better hydrogen placement geometries when adding hydrogens to sp3 carbons where the carbon’s existing attachments vary significantly from ideal tetrahedral geometry.
OEAltLocationFactory::GetCurrentLocationsmethods provide a way to determine which alternate locations are selected. A new
OEAltLocationFactory::GetGroupmethod is provided to convert from an
OEExpandCrystalSymmetryfunction expands the crystal symmetry of the source molecule into different conformers in the destination molecule.
Minor bug fixes¶
OEBio::OEHierResidue::GetOEResidue()now returns a reference to a blank residue when the class is uninitialized instead of a reference to random memory.
OESequenceAlignment::operator boolmethod. An
OESequenceAlignmentobject is considered invalid until its implementation is set. Both the
OERMSDfunctions checks whether the passed alignment is valid and throw a warning if it is not.
Minor bug fixes¶
OEErrorHandler::SetOutputStreamperformance significantly improved to avoid quadratic behavior in certain circumstances.
OEWriteGridfixed to actually gzip the output if the file name ends in
.gz. Before it would just write the file in the specified format, but never gzip it.
OEErrorLevel::Defaulthas been changed from
OEErrorLevel::Info. This allows
OEThrow.Verboseto be used for printing more information to the terminal, but it will only appear when
OEThrow.SetLevelis called with the
OEErrorLevel::Verboselevel. In the past, the
OEErrorLevel::Verboselevel was essentially ignored since it was nearly the same as
OESystem::OEBkgrdGreyadded as a new color for using a light grey background of an image.
OEGetTagheavily optimized for multi-threaded use.
Minor bug fixes¶
OEBitVector::SetDatacrash fixed where it would try to copy more bytes than the actual size of the given data.
OEStringToNumberfunction now allows for new-line characters,
\n, to appear after the digits in the string.
OEStringTokenizenow has an additional parameter, concat_delim, that specifies whether consecutive delimiters should be treated as a single delimiter. This is useful for parsing CSV files with empty fields. However, the default behavior is to behave as before, treating consecutive delimiters as a single delimiter.
OEGridBase::GetZIdxfixed so that the dimensions are guaranteed to always be within the dimensions of the grid. These methods would sometimes return indices that were outside the range of the dimensions of the grid due to floating point rounding errors.
unsignedcan now be used as the
!TYPEin interface files for unsigned int parameters.
OELinearInterpolateperformance has been significantly improved.