Version 2.3.0¶
OEChem TK 2.3.0¶
New features (Preliminary)¶
The following preliminary APIs have been added to perform fast substructure searches:
A new class, OESubSearchScreen, has been added that stores bit-vector screens. In addition, a new
OESubSearchScreenType
namespace and OESubSearchScreenTypeBase class have been added that handle various screen types.Two new low-level functions,
OEMakeSubSearchQueryScreen
andOEMakeSubSearchTargetScreen
, have been added that generate query and target molecule screens, respectively. TheOEScreen
low-level function can be used to determine whether a query molecule can potentially be matched to a target molecule by comparing their screens.A new function,
OEIsComplementaryScreenType
, has been added that determines which screen types are suited for a specific query molecule.New helper functions,
OESameSubSearchScreenTypes
,OEGetSubSearchScreenType
, andOEIsValidSubSearchScreenString
, have been added.A new OECreateSubSearchDatabaseOptions option class and
OECreateSubSearchDatabaseFile
function have been added that pre-generate databases for substructure search. A newOEIsValidSubSearchDatabase
function also has been added that checks whether a molecule file is valid for substructure search.The OESubSearchDatabase class is designed to perform rapid substructure searches. A new
OESubSearchDatabaseType
namespace has been added to this class that enables various database implementations.A new class, OESubSearchQuery, has been added that sets up search queries. In addition, a new OESubSearchResult class has been added that reports the progress of the search and retrieves the matches.
A new
OESubSearchStatus
namespace andOESubSearchStatusToName
helper function have been added that monitor the search progress.
A new low-level function,
OEReadCIFFile
, has been added that reads both small and macromolecule Crystallographic Information File (CIF and mmCIF) formats.
New features¶
Two new classes, OEConfRMSDOptions and OEConfRMSD, have been added that set up OEConfRMSD calculations and provide fast RMSD calculation of conformers of the same molecule, respectively.
A new function,
OEFastaToMol
, has been added that converts a FASTA sequence into a molecule.A new optional sorting argument has been added to the
OEGetNearestNbrs
function that allows returned atom pairs to be sorted based on distance.OEIsAlphaCarbon has been deprecated. The OEIsCAlpha predicate should be used instead.
New
OEUncolorMol
overload functions have been added to OEMCMolBase. A new constant,OEUncolorStrategy.RemoveDimension
, has been added that invalidates 3D coordinates and sets the dimension to0
when uncoloring molecules.Support has been added to
OEReadMolecule
that enables reading both CIF and mmCIF files.Updates have been made to the the OEFormat namespace to include new CIF and mmCIF formats. Corresponding updates have also been added to
OEIFlavor
andOEOFlavor
.Updates have been made to the
OEResidueIndex
namespace to include residue IDs for metals observed in PDB files.The formal charge assignment for less common metals observed in PDB files has been expanded.
Updates have been made to the
OEExprType
namespace to allow for more fuzzy searches. For example,OEExprType.ElemMinHCount
orOEExprType.ElemMinDegree
can now be used to specify an atom’s minimum hydrogen count or minimum degree.Changes have been made to the OEResidue class to support the mmCIF format. These changes include the following three new string member variables, with the appropriate getter and setter functions:
SequenceID
captures the mmCIF field, label_seq_id, which is the sequential number of residues from 1.ExtChainID
captures the fact that the previous chainID in the auth_asym_id field can now have multiple characters. TheOEResidue.GetChainID
function now returns the first character of theExtChainID
variable, andOEResidue.SetChainID
now overwrites and sets theExtChainID
.SubChainID
captures the label_asym_id field, which commonly seems to be a further subdividing of the auth_asym_id field.
Minor bug fixes¶
A bug that caused
OEWriteMolReturnCode.Success
to be returned even though an invalid output stream was used has been fixed.A bug that caused broken perception after implicit hydrogen assignment in the
OEAssignImplicitHydrogens
andOEAssignMDLHydrogens
functions has been fixed.Handling of partially resonant nitrogen stereo perception in
OE3DToAtomStereo
andOE3DToInternalStereo
has been improved.An issue that caused OEIsCTerminalAtom to misperceive a minor number of C-terminal atoms has been fixed.
Unpaired interactions are no longer triggered on ligands due to nearby water molecules. Similarly, water molecules can no longer present as having unpaired interactions.
Python-specific changes¶
Support for making custom MCS scoring functions from OEMCSFunc has been added.
New functions,
OEGetBytesFromGrid
,OEGetScalarGridFromBytes
, andOEGetSkewGridFromBytes
, have been added to support the conversion between byte[] and grids (OESkewGrid or OEScalarGrid).OETrans.Extract
is now available in Python.
Java-specific changes¶
New functions,
OEGetByteArrayFromScalarGrid
,OEGetByteArrayFromSkewGrid
,OEGetScalarGridFromByteArray
, andOEGetSkewGridFromByteArray
, have been added to support the conversion between byte[] and grids (OESkewGrid or OEScalarGrid).
Documentation changes¶
Two new examples have been added that demonstrate performing fast substructure searches:
A new example program, Printing protein amino acids histograms, has been added that demonstrates printing a histogram of the occurrences of various amino acids in a protein.
The Print OEChem and file format information example program has been updated to demonstrate using the
OEToolkitsGetRelease
function.New code snippets have been added to the OEConfRMSD class that demonstrate finding the two conformers of a molecule with the smallest RMSD.
New code snippets have been added to the
OEFastaToMol
function that demonstrate creating a molecule from a FASTA sequence.New code snippets have been added to the section, String Input and Output, that demonstrate reading and writing molecules from memory buffers.
New code snippets (in C++ and Python) have been added to the OEMCSFunc class that demonstrate using custom scoring functions.
OEChem TK examples have been cleaned up to use the new C++11 style.
OEBio TK 2.3.0¶
New features¶
The following APIs have been added for perceiving non-ideal hydrogen bond interactions (i.e., hydrogen bonds with long donor-acceptor distances or poor geometries):
A new functor, OEIsNonIdealHBondInteractionHint, has been added that easily identifies non-ideal hydrogen bonds.
New interaction types,
OEHBondInteractionHintType.NonIdealLigandAccepts
andOEHBondInteractionHintType.NonIdealLigandDonates
, have been added.The following methods have been added that customize the non-ideal hydrogen bond perceptions:
OEPerceiveInteractionOptions.SetMaxNonIdealDonorAngle
andOEPerceiveInteractionOptions.GetMaxNonIdealDonorAngle
OEPerceiveInteractionOptions.SetMaxNonIdealAcceptorAngle
andOEPerceiveInteractionOptions.GetMaxNonIdealAcceptorAngle
OEPerceiveInteractionOptions.SetMaxNonIdealHBondDistance
andOEPerceiveInteractionOptions.GetMaxNonIdealHBondDistance
A new functor, OEIsHetAtom, has been added that identifies atoms with the hetero atom property in an
OEResidues
object.A new functor, OEIsDisulfideBond, has been added that identifies disulfide bonds.
A new function,
OECalculateDPI
, has been added that calculates the diffraction-component precision index (DPI) value.New categories,
OEResidueDatabaseCategory.Lipid
andOEMolComplexFilterCategory.Lipid
, have been introduced that enable splitting lipids from a system.A new method,
OEInteractionHintContainer.DeleteInteractions
, has been added that removes all interactions.The functional group perception in
OEPlaceHydrogens
has been improved.
Minor bug fixes¶
Perception of hydrogen bonds involving sulfur and anions in
OEPerceiveInteractionHints
has been improved.The precedence of OEInteractionHint perception has been improved. Chelation interactions now take precedence over charge-charge interactions.
A check has been added to the
OEPlaceHydrogens
function that causes it to exit early if two heavy atoms are within 0.5A of each other, since this is considered to be bad input and causes unspecified behavior.
OESystem TK 2.3.0¶
New features¶
The performance of
OEGetDataType
, especially on Windows, has been improved.OEGetDataType
is now at least 500X faster when used with a single thread and about 2X faster with many simultaneous threads on Windows.A new method,
OEBitVector.CountRangeBits
, has been added that identifies the number of bits that are set to1
in the given bit range.A new class, OEConsoleProgressTracer, has been added that tracks the current progress of a task.
A new function,
OEStringEquals
, has been added that determines whether two strings are equivalent using a case-insensitive comparison.A new function,
OEGeom3DReflectCoord
, has been added that reflects coordinates around a plane for a hydrogen atom.A new function,
OEBitIsPowerOf2
, has been added that determines if a bitmask is a power of 2.
OEPlatform TK 2.3.0¶
New features¶
A new
OEToolkitsGetRelease
function has been added that displays the release name of the overall toolkit version being used.
OEGrid TK 1.6.4¶
Minor internal improvements have been made.