31.12.2013 Views

Toolkit Release Notes -- C# - OpenEye Scientific Software

Toolkit Release Notes -- C# - OpenEye Scientific Software

Toolkit Release Notes -- C# - OpenEye Scientific Software

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!