Version 1.9.1¶
OEChem 1.9.1¶
New features¶
OEOmegaConfTest has been created specifically for output from OMEGA. This conftest ignores invertible nitrogen stereochemistry that OMEGA freely adjusts in order to allow these conformers to be read into the same OEMol.
OELibraryGen.SetValidateKekuleadded to set whether alternative Kekulé forms are enumerated until a valid form is identified before returning a product.
OEChem::oemolithread::GetMolDatamethod added to return a generator over all the molecules of a file in their string representation in the source format.
The
oemolthreadbase.GetMolmethod for oemolithread class will now return chunks of molecule files that can be directly written to files to enable faster tokenization of a molecule file. Before this release, this method would often not return whitespace that was necessary to delineate boundaries between molecules.
oemolthreadbase.PutMolandoemolthreadbase.GetMolsupport added to the wrapped languages: Python, Java, and C#.
Major bug fixes¶
OEPerceiveResidueshad a bug introduced in the 2012.Feb release that could cause crashes or strange data to be written to theOEAtomBase.GetNamefield wheneverOEAtomBase.GetAtomicNumreturned0. Atoms with an atomic number of0will now be given the name of `` UNK`` (note, the leading space to match PDB style names).OEAssignAromaticFlagsno longer takes anOEAroModel, which was aunsigned short *typedef, but takes an integer from theOEAroModelnamespace instead. Global constants prepended withOEAroModel*are now deprecated. This works around a serious bug that would sometimes causeOEAssignAromaticFlagsto not do anything to the molecule. This may break source-level backwards compatibility for strongly typed languages (C++, Java, and C#) if a global constant prepended withOEAroModel*was stored as a variable.
Python code should continue to work due to dynamic typing. The only
change for python is that the following OEAroModel* global
constants are now deprecated.
Minor bug fixes¶
oemolithread and oemolothread can no longer to be copy constructed. They are heavy weight objects representing real operating system threads and thus should not be copied.
The MDL V3000 reader now throws a warning that the
ENDPTRandATTACHbond properties will be ignored.OEMatch.AddPairnow checks whether the atom and bond pairs belong to the same molecule.OELibraryGen now allows an aromatic bond to become a triple bond when breaking a ring.
OESystem 1.9.1¶
New features¶
Adding a default constructor for the OELinearColorGradient class that generates a color gradient with no color stop. The
OEColorGradientBase.IsEmptywas added to be able to determine if the object was default constructed. Additionally, theOEColorGradientBase.GetColorAtmethod will always return the colorOEBlackfor a color gradient with no color stops, i.e.,OEColorGradientBase.IsEmptyreturnstrue.OEStringTabsToSpacesfunction added to expand tab characters to 4 space characters.OEBitVector.FromHexStringperformance has been significantly improved.
Minor bug fixes¶
OEStringTokenizeQuotednow treats consecutive delimiters as blank fields.OEErrorHandler, and thus
OEThrow, will no longer record the number of messages that did not actually get through due to the message not meeting theOEErrorHandler.SetLevelthreshold.OEParseCommandLinewill now callexit(0)if the internal call toOECheckHelpreturnstruethat a--helpparameter is found. That is, program execution with the--helpparameter should not be considered abnormal program termination.OEGeom3DRotVectorToTransformreturn type changed fromvoidtoboolto be able to indicate cases when the function can fail.
OEAnnotation.GetChildrenwill now work in Python.ProcessCommandLineStreamswas deprecated, and is now removed.
Documentation fixes¶
OEBitVector.FromHexStringand OESystem::OEBitVector::ToHexString documentation has been corrected to explain their behavior with respect to bit vector lengths and the handling of non-hexadecimal digits in the translation process.OECheckHelpis now documented.
OEPlatform 1.9.1¶
New features¶
oeifstream.preadmethod added to allow multiple threads to read from a single file.oeiofstream class added to support reading and writing to the same open file.
oeistream.readmethod added to read the entire contents of the stream or throwstd::bad_allocwhenever the system runs out of memory.
oemultiostream has been added. More than one oeostream can be added to this class for simultaneous output.
OEFileTempDescriptoradded to safely create temporary files without race conditions.OEFileRandomNameis now deprecated as it can lead to race conditions in the file names it generates.
Major bug fixes¶
OEPlatform::oeifstream::getline would sometimes cause buffer overflows whenever
maxcharacters were actually in the line. The documentation was not very clear what thismaxparameter meant, it used to be the line size, not including the null terminator. Now it means the size of available memory in thebufferpassed in, including the null terminator, and the documentation is now more clear on the subject.OEPlatform::oeifstream::append will now close the previous file before opening the next file. Before, calling the
appendmethod in a loop could lead to the process easily running out of a available file descriptors.The macros
OE32BITandOE64BITwere improperly set on 64-bit Windows.
Minor bug fixes¶
OEGetHostIdentfixed to work on machines whereeth0was not in use for network traffic.
OEBio 1.9.1¶
Minor bug fixes¶
OESequenceAlignment methods
GetBackboneMatchandGetCAlphaMatchnow returns OEMatchBase instead of OEMatch.
OEGrid 1.4.2¶
Major bug fixes¶
OEReadGridno longer leaks memory forCCP4files.