Toolkit Release Notes -- C# - OpenEye Scientific Software
Toolkit Release Notes -- C# - OpenEye Scientific Software
Toolkit Release Notes -- C# - OpenEye Scientific Software
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Toolkit</strong> <strong>Release</strong> <strong>Notes</strong> – <strong>C#</strong><br />
<strong>Release</strong> 2013.Oct.3<br />
<strong>OpenEye</strong> <strong>Scientific</strong> <strong>Software</strong>, Inc.<br />
October 02, 2013
CONTENTS<br />
1 OE<strong>Toolkit</strong>s 2013.Oct 1<br />
1.1 OEChem 1.9.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1<br />
1.2 OESystem 1.9.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2<br />
1.3 OEPlatform 1.9.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />
1.4 OEGrid 1.4.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />
1.5 OEBrood TK 0.9.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />
1.6 OEDepict TK 2.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />
1.7 OEDocking TK 1.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />
1.8 Grapheme TK 1.1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />
1.9 GraphSim TK 2.0.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6<br />
1.10 Lexichem TK 2.3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6<br />
1.11 MolProp TK 2.1.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7<br />
1.12 Omega TK 2.5.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8<br />
1.13 QuacPac TK 1.6.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8<br />
1.14 Shape TK 1.9.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8<br />
1.15 Spicoli TK 1.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8<br />
1.16 Szybki TK 1.7.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9<br />
i
CHAPTER<br />
ONE<br />
OETOOLKITS 2013.OCT<br />
This is a new release of the <strong>OpenEye</strong> <strong>Toolkit</strong>s with versions of the following libraries:<br />
OEChem TK 1.9.3<br />
OEBrood TK 0.9.0<br />
OEDepict TK 2.2.1<br />
OEDocking TK 1.2.1<br />
Grapheme TK 1.1.0<br />
GraphSim TK 2.0.6<br />
Grid TK 1.4.4<br />
Lexichem TK 2.3.0<br />
MolProp TK 2.1.7<br />
Omega TK 2.5.3<br />
Quacpac TK 1.6.4<br />
Shape TK 1.9.2<br />
Spicoli TK 1.2.2<br />
Szybki TK 1.7.5<br />
Zap TK 2.1.6<br />
• No <strong>OpenEye</strong> toolkit will call OEErrorHandler.Fatal anymore. All instances have been replaced with<br />
OEErrorHandler.Error allowing end-users the ability to control whether programs should exit on error<br />
with OEErrorHandler.SetStrict. It is recommended to use OEThrow.SetStrict(false) inside<br />
long running services like web servers.<br />
1.1 OEChem 1.9.3<br />
1.1.1 New features<br />
• Added the following atom and bond predicates:<br />
– OEAtomIsInChain<br />
– OEBondIsInChain<br />
– OEIsHetero<br />
1
<strong>Toolkit</strong> <strong>Release</strong> <strong>Notes</strong> – <strong>C#</strong>, <strong>Release</strong> 2013.Oct.3<br />
– OEIsMetal<br />
– OEHasHvyDegree<br />
– OEHasFormalCharge<br />
1.1.2 Major bug fixes<br />
• OECreateInChI now passes the following information to the InChI library when calling the<br />
OECreateInChI function:<br />
– atom coordinates<br />
– wedge/hash bond property for single bonds<br />
– “either” bond property read from MDL file formats for double bonds<br />
These changes have reduced the number of failure cases to 10 when reading the MDDR database in SDF format<br />
and testing the InChI strings generated by OECreateInChI against the strings generated by the stand-alone<br />
InChI application.<br />
1.1.3 Minor bug fixes<br />
• The OEIsAtomHybridization.operator() method now checks whether the hybridization was perceived<br />
and calculates the hybridization of the atom on the fly by calling OEGetHybridization if necessary.<br />
• The previously release of OEChem, 1.9.2, started considering different isotopes of hydrogen for chirality perception.<br />
This incorrectly perceived the following molecules as chiral: “C[2H]”, “CC[2H]” and “C([2H])[3H]”.<br />
Atoms with one or two isotope hydrogen neighbors and at least two implicit hydrogens will no longer be considered<br />
chiral.<br />
• When reading MacroModel molecule files (.mmod, .mmd, and .dat), atom serial numbers and HETATM designations<br />
were not being set, and subsequently saving the molecules in PDB format resulted in poorly formed<br />
files. This has been corrected so that conversion from MacroModel to PDB files preserves residue information<br />
properly.<br />
• OESmilesToMol and OEInChIToMol will now call OEMolBase.Clear before parsing the string into the<br />
molecule.<br />
1.1.4 Documentation fixes<br />
• The OEMMFF* functions are now properly documented.<br />
1.2 OESystem 1.9.3<br />
1.2.1 Major bug fixes<br />
• OEErrorHandlerStream.Msg now calls exit(EXIT_FAILURE) in case of OEErrorLevel.Fatal<br />
level and calls exit(EXIT_SUCCESS) in case of OEErrorLevel.Usage.<br />
• OEInterface will no longer strip trailing zero characters from parameters that are non-floating point types.<br />
For example, “-prefix 1.10” used to return “1.1”. This bug was introduced in OEChem 1.9.0.<br />
2 Chapter 1. OE<strong>Toolkit</strong>s 2013.Oct
<strong>Toolkit</strong> <strong>Release</strong> <strong>Notes</strong> – <strong>C#</strong>, <strong>Release</strong> 2013.Oct.3<br />
1.3 OEPlatform 1.9.3<br />
• oeistream.gettoken will no longer improperly write a NULL character at buffer[max] location in<br />
memory in rare circumstances when the token is the exact same size as the buffer.<br />
1.4 OEGrid 1.4.3<br />
• Fixed a rare crash when interpolating between grids. This affects many API points, including GridBabel, whenever<br />
converting a grid to another grid type.<br />
1.5 OEBrood TK 0.9.0<br />
1.5.1 New features<br />
Providing the following fragmentation functions:<br />
• OEGetRingChainFragments<br />
• OEGetRingLinkerSideChainFragments<br />
• OEGetFuncGroupFragments<br />
1.6 OEDepict TK 2.2.1<br />
1.6.1 New features<br />
• Added cubic Bézier drawing method to the following classes:<br />
– OEImageBase<br />
– OEImage<br />
– OEImageFrame<br />
• Added quadratic Bézier drawing method to the following classes:<br />
– OEImageBase<br />
– OEImage<br />
– OEImageFrame<br />
• Added rotation angle property to the OEFont class that allows to render text in various angles when calling the<br />
OEImageBase.DrawText method.<br />
– OEFont.GetRotationAngle<br />
– OEFont.SetRotationAngle<br />
1.3. OEPlatform 1.9.3 3
<strong>Toolkit</strong> <strong>Release</strong> <strong>Notes</strong> – <strong>C#</strong>, <strong>Release</strong> 2013.Oct.3<br />
1.6.2 Major bug fixes<br />
• When aligning a molecule to a template, atom clashes between the template atoms are ignored.<br />
• OEPrepareDepiction will now suppress hydrogens even when 2D coordinates are not generated, i.e.,<br />
clearcoords = false.<br />
1.6.3 Minor bug fixes<br />
• Highlighting a single atom with the OEHighlightStyle.Stick will now work if that atom is bonded to a<br />
highlighted atom.<br />
• Fixed problem when the scaling of small molecules resulted in depicting atom labels outside the canvas.<br />
• Fixed problem that incorrectly positioned the “+” sign between reaction components introduced by the last<br />
OEDepict TK release, 2.2.0.<br />
1.6.4 Documentation changes<br />
• All images in this documentation were automatically regenerated to reflect the changes made since the previous<br />
release.<br />
1.7 OEDocking TK 1.2.1<br />
1.7.1 New Features<br />
• OEPosit - When full conformer search is turned off, OMEGA is automatically run when the docked ligand<br />
is not a 3D conformer.<br />
1.7.2 Major bug fixes<br />
• OEPosit - Fixed a crash when setting full conformer search to false and docking a ligand with missing hydrogens.<br />
1.7.3 Minor bug fixes<br />
• Uses of OEThrow.Fatal changed to OEThrow.Error.<br />
1.8 Grapheme TK 1.1.0<br />
1.8.1 New features<br />
• Added the following to visualize color forcefields:<br />
– OEColorForceFieldDisplay<br />
– OEColorForceFieldLegendDisplayOptions<br />
– OEDrawColorForceFieldLegend<br />
• Added the following to visualize the reference molecule of a color and shape overlap:<br />
4 Chapter 1. OE<strong>Toolkit</strong>s 2013.Oct
<strong>Toolkit</strong> <strong>Release</strong> <strong>Notes</strong> – <strong>C#</strong>, <strong>Release</strong> 2013.Oct.3<br />
– OEShapeOverlapDisplay<br />
– OEShapeOverlapDisplayOptions<br />
– OERenderShapeQuery<br />
• Added the following to visualize shape and color overlaps:<br />
– OEShapeOverlapDisplay<br />
– OEShapeOverlapDisplayOptions<br />
– OERenderShapeOverlap<br />
– OEColorOverlapDisplayOptions<br />
– OERenderColorOverlap<br />
Note: A valid shape license is required to use any of these new shape or color APIs.<br />
• Added the OEDepictionFrom3DOptions class that allows more advanced customization of the generation<br />
of 2D coordinates driven by the 3D conformation when calling the OEPrepareDepictionFrom3D function.<br />
By default, OEPrepareDepictionFrom3D is tuned for generating 2D coordinates for representing<br />
3D overlays in 2D. This class allows the 2D coordinate generation to choose a set of 2D coordinates that are<br />
much closer to how the molecule would look in a 3D viewer.<br />
• Added the following to render user-defined labels when depicting color gradients:<br />
– OEColorGradientDisplayOptions.AddLabel<br />
– OEColorGradientDisplayOptions.ClearLabels<br />
– OEColorGradientDisplayOptions.GetLabels<br />
• Added OEColorGradientDisplayOptions.ClearBoxRange method to remove the box range previously<br />
set to a color gradient.<br />
• Added OEGet2DSurfaceArcs function to return the arcs of the molecule surface of a specific atom with<br />
the given radius. Varying radii can be passed to generate multiple surfaces in the range specified by the<br />
OESurfaceArcScale namespace. OEGetMoleculeSurfaceScale can be used to determine the appropriate<br />
scale for the molecule with the specified radius.<br />
• Implemented the ShapeOverlap2PDF.cs <strong>C#</strong> Grapheme TK example.<br />
1.8.2 Major bug fixes<br />
• Molecule surface arcs inside macrocycles are no longer returned. See the<br />
effect of this change in Table: Example of depicting molecule surface.<br />
1.8. Grapheme TK 1.1.0 5
<strong>Toolkit</strong> <strong>Release</strong> <strong>Notes</strong> – <strong>C#</strong>, <strong>Release</strong> 2013.Oct.3<br />
Grapheme TK 1.0.6 (2013 Jun)<br />
Table 1.1: Example of depicting molecule surface<br />
Grapheme TK 1.1.0 (2013 Oct)<br />
O<br />
O<br />
O<br />
O<br />
1.8.3 Documentation changes<br />
• All images were automatically regenerated to reflect the changes made since the previous release.<br />
1.9 GraphSim TK 2.0.6<br />
• Minor internal improvements.<br />
1.9.1 Documentation changes<br />
Adding new images to the:<br />
• Fingerprint Generation chapter to illustrate the enumeration of fragments of various fingerprints<br />
• Similarity Measures chapter to show the basic bit count terms of similarity calculation<br />
• User-defined Fingerprint chapter and OEFPAtomType namespace to visualize the effect of various atom and<br />
bond typings<br />
1.10 Lexichem TK 2.3.0<br />
1.10.1 New features<br />
• Name generation for racemic structures when the ‘MDL AND’ group is present in the MDL V3000 format.<br />
Stereodescriptors ‘rac’, ‘RS’ and ‘SR’. (Section P-92.1.3 of the IUPAC Nomenclature of Organic Compounds,<br />
Draft 2004 - Racemates and meso compounds). Racemic stereogenic centers are labeled with ‘RS’ if the CIP<br />
6 Chapter 1. OE<strong>Toolkit</strong>s 2013.Oct
<strong>Toolkit</strong> <strong>Release</strong> <strong>Notes</strong> – <strong>C#</strong>, <strong>Release</strong> 2013.Oct.3<br />
stereo descriptor is ‘R’ and has the MDL AND group present, else ‘SR’ if the stereogenic centre has the CIP<br />
stereo descriptor ‘S’ and an MDL AND group present. The prefix ‘rac’ is used in front of a set of descriptors or<br />
locants, if all stereogenic centres in the molecule are racemic.<br />
(4^{13}C,2,6-^{15}C_{2})nonane<br />
(3^{14}C)cyclohexatriene(^{13}N,^{15}O)carboxamide<br />
15<br />
C<br />
H 2<br />
15 C<br />
H 2<br />
13 C<br />
H 2<br />
14<br />
C<br />
H<br />
13NH 2 15 O<br />
Generated by OEDepict TK<br />
Figure 1.1: Isotope Example Depictions<br />
• Support has been added for name generation for isotopic carbon atoms in chains (e.g. the SMILES:<br />
C[15CH2]C[13CH2]C[15CH2]CCC will generate the name (4^{13}C,2,6-^{15}C_{2})nonane),<br />
simple rings and simple suffixes (e.g. the SMILES: [13NH2]C(=[15O])C1=C[14CH]=CC=C1 will generate<br />
the name (3^{14}C)cyclohexatriene(^{13}N,^{15}O)carboxamide). The chemical structures<br />
generated from parsing the example SMILES strings into a molecule object are depicted in Figure: Isotope<br />
Example Depictions.<br />
1.10.2 Minor bug fixes<br />
• Fixed Lexichem’s thread safety. A global variable in Lexichem that has persisted since its first release in 2005,<br />
has been removed. This global variable affected the function OEParseIUPACName, used in name to structure<br />
conversion. Two thread safety issues used in structure to name conversion, namely: double bond (E/Z) CIP<br />
stereo (thread safety broken in the June 2012TK release) and enhanced relative stereochemistry (thread safety<br />
broken in the June 2013TK release), that affected the function OECreateIUPACName, have been resolved.<br />
• OEParseIUPACName will no longer access invalid memory for names of the form ‘(di/tri/tetra)BLAH (ester/hydrazone/oxime/selenoxime/telluroxime/thioxime)’.<br />
1.11 MolProp TK 2.1.7<br />
1.11.1 Major bug fixes<br />
• “MIN_*” and “MAX_*” properties filter rules file no longer have to both be specified to work. Previously, if a<br />
property filter was specified with “MAX_*”, then the corresponding “MIN_*” filter rule had to also be set for<br />
the rule to properly function. Now, “MIN_*” and “MAX*” filter rules operate independent of the other.<br />
1.11. MolProp TK 2.1.7 7
<strong>Toolkit</strong> <strong>Release</strong> <strong>Notes</strong> – <strong>C#</strong>, <strong>Release</strong> 2013.Oct.3<br />
1.12 Omega TK 2.5.3<br />
1.12.1 New features<br />
• OEAddGlobalFragLib added to allow a given fragment library to be preloaded into the global fragment<br />
library where it can be shared among all OEOmega instances.<br />
1.12.2 Minor bug fixes<br />
• The wart symbol has been changed from @ to _ in order to help with parsing SMILES formatting.<br />
• Bond stereochemistry is now properly perceived when strictstereo is set to false. Previously, there could be an<br />
OESubSearch warning due to unperceived bond stereochemistry.<br />
• The OENitrogenEnumeration namespace has been created. The namespace constants should be used in<br />
place of magic numbers.<br />
1.13 QuacPac TK 1.6.4<br />
1.13.1 New features<br />
• The new function OERemoveFormalCharge has been added. This function sets the formal charges on a<br />
molecule to zero while maintaining a standard valence state.<br />
• The new function OEGetChargeTypeName has been added.<br />
OECharges name for the unsigned int passed in.<br />
This function returns the corresponding<br />
1.13.2 Minor bug fixes<br />
• The wart symbol has been changed from @ to _ in order to help with parsing SMILES formatting.<br />
1.14 Shape TK 1.9.2<br />
1.14.1 Minor bug fixes<br />
• A bug has been fixed where OEBOOrientation.Subrocs was not properly setting starting positions when<br />
the database molecule was larger than the query molecule.<br />
• Fixed a rare invalid memory access from the OEOverlapMethod.Analytic2 method.<br />
1.15 Spicoli TK 1.2.2<br />
• Minor internal improvements.<br />
8 Chapter 1. OE<strong>Toolkit</strong>s 2013.Oct
<strong>Toolkit</strong> <strong>Release</strong> <strong>Notes</strong> – <strong>C#</strong>, <strong>Release</strong> 2013.Oct.3<br />
1.16 Szybki TK 1.7.5<br />
1.16.1 New features<br />
• User partial charges can be used in the combined AMBER-MMFF force field introduced in the version 1.7.3.<br />
This is done with the method OESzybki.SetUseCurrentCharges which until now could be applied only<br />
to MMFF94 force field for solvation and protein-ligand interaction.<br />
• OEOptType:SD_BFGS and OEOptType:SD_CG can now be passed to<br />
OESzybki.SetOptimizerType to perform pre-optimization with 5 steps of steepest descent before<br />
either BFGS or CG optimization.<br />
• OESzybkiEnsembleResults.GetChargeType added to return what type of partial charges were used<br />
for entropy estimation.<br />
• OESzybkiResults.GetTotalEnergy() no longer includes the harmonic constraint energy.<br />
OESzybkiResults.GetTotalEnergyWithHarmConstraint() has been added to return the<br />
total energy with the harmonic constraint energy included.<br />
1.16.2 Minor bug fixes<br />
• OESzybki.SetEveryConfAM1BCCCharges will now preserve the existing partial charges from the input<br />
molecule when using AM1BCC charges for PB, Sheffield and Coulomb protein-ligand interactions. In previous<br />
versions MMFF94 charges were attached to the output molecule.<br />
• When calculating ligand entropy, analytical calculation of second order derivatives in solution no longer misses<br />
the Hessian components coming from solvent forces.<br />
• OESzybki.GetEntropy will no longer crash whenever a protein was set with OESzybki.SetProtein<br />
and the environment was not OEEnvType.Protein.<br />
• Method OESzybki.SetUseCurrentCharges was ignored in Sheffield solvent second derivatives (default<br />
MMFF94 partial charges were used). This issue has been fixed.<br />
1.16. Szybki TK 1.7.5 9