OEApplications 2020.2

Release Highlights 2020.2

OMEGA: New fragment library

A new enhanced fragment library has been created for use in OMEGA. The new fragment library consists of more than 500,000 fragments that have been generated using the MMFF force field.

This library is designed to reduce the run time of large-scale conformer generation, and therefore is not built into OMEGA but is available as a separate download. To run OMEGA with the enhanced library, simply use the command line flag -addfraglib enhanced_fraglib.oeb.gz.

The fragments have been collated from commonly used electronic databases, such as Enamine Building Blocks. Consequently, dramatic runtime performance improvements can be seen for the Enamine Real dataset, among others, since less time is spent building fragments on the fly. Runtime performance improvements can be seen for all datasets; the Platinum and Enamine Real sets show particular improvement and run ~50% faster (benchmarks run on Ubuntu 16 with Intel(R) Xeon(R) Gold 6128 CPU 3.40GHz and NVIDIA Tesla V100 GPU).

../../_images/Omega_FragLib_Runtime_Perf.png

GPU-OMEGA runtime performance using the built-in fragment library compared to the new enhanced fragment library. Benchmark datasets are a filtered set of 2359 molecules of the Platinum dataset and 10,000 randomly chosen molecules of the Enamine Real, Mcule, and WuXi databases.

The enhanced fragment library generates the same high-quality conformers as the built-in library, as shown by the minimum RMSDs of the filtered Platinum dataset.

../../_images/Omega_FragLib_Plat_Div_Perf.png

Box plots showing minimum RMSDs of a filtered set of 2359 molecules of the Platinum dataset with the built-in fragment library and the new enhanced fragment library.

Datasets can be downloaded from:

We are eager to get your feedback on the new enhanced fragment library. Please share your experience with us at support@eyesopen.com.

OEDOCKING: Improved receptors

Receptors used in the OEDocking TK and the OEDOCKING applications, including FRED, HYBRID and POSIT, have been improved to take advantage of properly prepared structures from SPRUCE. A new OEReceptor object has been introduced and is created and contained within an OEDesignUnit. Since an OEReceptor is now an integral part of an OEDesignUnit, it is saved into an OEDU file along with a design unit. There is no separate I/O for the receptors.

../../_images/2IKO_receptor.png

OEDocking receptor, along with the target structure and the bound ligand, for the 2IKO Human Renin Complexed with Inhibitor.

Having the receptors as part of the design unit with properly prepped structures makes it easier for the docked and posed structures to be used in further downstream modeling, which is especially necessary with protein force fields like FF14SB. The new receptor also assists with more flexible use of modern force fields like FF14SB and Parsley in POSIT.

SZYBKI: A new protein force field

The AMBER FF14SB protein force field has been implemented in OEFF TK. This new force field has also been made available in SZYBKI for optimizing both protein and protein-ligand complexes.

FF14SB is the most widely used protein force field for molecular dynamics or any other force field-based calculations. It is also used in Orion molecular dynamics package, and is the community gold standard for such calculations.

Supported Platforms

OS Versions
Linux RHEL7/8, Ubuntu18/20
Windows Win10
macOS 10.13, 10.14, 10.15

General Notices

  • Support for Ubuntu16 has been dropped. Support for Ubuntu20 has been added.

Detailed Release Notes 2020.2

AFITT 2.5.2.0

Fall 2020

  • Minor internal improvements have been made.

BROOD 3.1.4.0

Fall 2020

  • Minor internal improvements have been made.

Documentation changes

  • Documentation and command line help for the -smarts parameter have been updated with information on built-in fragmentation methods.

EON 2.3.4.0

Fall 2020

  • Minor internal improvements have been made.

Zap TK 2.4.0

  • Minor internal improvements have been made.

OEDOCKING 4.0.0.0

Fall 2020

New features

  • A new utility, ReceptorInDU, has been added that makes a receptor inside a design unit OEDU file.
  • A new utility, OEB2DUReceptor, has been added that converts a receptor OEB or OEB.GZ file into a OEDU receptor file.
  • The GUI application MakeReceptor now outputs OEDU receptor files with receptors created inside a design unit.
  • The following programs in the OEDocking applications suite now expect OEDU files (with receptors inside a Design Unit), for receptors.
  • POSIT now produces OEDU files as output containing design units consisting of pose ligand structures and protein active site structures.
  • A new parameter, -nostructs, has been added to FRED and HYBRID. When this flag is set to true, both the docked and undocked structure files will be suppressed.
  • A new utility, DU2OEBReceptor, has been added that converts an OEDU receptor file into a receptor OEB or OEB.GZ file.
  • The utility DU2Receptor has been removed from the OEDocking application suite. The receptors are now created inside a design unit, and can be created using the ReceptorInDU utility application.

Documentation changes

  • The Tutorials section has been updated.

OEDocking TK 4.0.0

Fall 2020

New features

  • A new class, OEMakeReceptorOptions, has been added that provides choices for making an OEReceptor inside an OEDesignUnit.

  • The OEMakeReceptor function now takes an OEDesignUnit and an OEMakeReceptorOptions, and adds an OEReceptor inside the OEDesignUnit object.

  • A new class, OEDockOptions, has been introduced that provides choices for OEDockMethod and OESearchResolution in the OEDock class.

  • The OEDock class constructor now has an overload that takes an OEDockOptions argument.

  • The following methods now have an overload that accepts as an argument an OEDesignUnit containing an OEReceptor:

    • OEDock.Initialize
    • OEDock.CacheScoringSetup
    • OEScore.Initialize
    • OEScore.CacheScoringSetup
    • OEPosit.AddReceptor
  • A new method, OESinglePoseResult.GetDesignUnit, has been added added that returns the resulting design unit containing the pose ligand and the target.

  • A new class, OEPoseOptimizerOptions, has been added that provides choices for force fields and flexibility in performing pose optimization with OEPoseOptimizer.

  • The OEPoseOptimizer class constructor now has an overload that takes an OEPoseOptimizerOptions.

  • The OEPoseOptimizer.Optimize method now takes an OEDesignUnit to optimize.

  • Flexible POSIT with OEPosit.Dock now uses the OEFF14SBParsley for pose optimization.

  • A new method, OEPosit.RankDesignUnits, has been added that ranks an OEDesignUnit containing an OEReceptor for posing with multiple receptors.

  • With the introduction of the new OEReceptor class and the corresponding behavior of the OEDocking TK, several previously existing APIs have been deprecated. The following table shows the deprecated APIs and their replacements:

    Deprecated API New API
    OEDocking::OEBoxBase OEBox
    OEDocking::OEBox  
    OEDocking::OECustomConstraints OEReceptorCustomConstraints
    OEDocking::OEFeature OEReceptorConstraintFeature
    OEDocking::OEProteinConstraint OEReceptorProteinConstraint
    OEDocking::OESphereBase OESphere
    OEDocking::OEAlignReceptors OEStructuralSuperposition
    OEDocking::OEIsReceptor OEDesignUnit.HasReceptor
    OEDocking::OEReceptorClear OEReceptor.Clear
    OEDocking::OEReceptorClearCustomConstraints OEReceptor.ClearCustomConstraints
    OEDocking::OEReceptorClearProteinConstraints OEReceptor.ClearProteinConstraints
    OEDocking::OEReceptorGetBoundLigand OEDesignUnit.GetLigand
    OEDocking::OEReceptorGetCustomConstraints OEReceptor.GetCustomConstraints
    OEDocking::OEReceptorGetInnerContourLevel OEReceptor.GetInnerContourLevel
    OEDocking::OEReceptorGetOuterContourLevel OEReceptor.GetOuterContourLevel
    OEDocking::OEReceptorHasBoundLigand OEDesignUnit.HasLigand
    OEDocking::OEReceptorHasCustomConstraints OEReceptor.HasCustomConstraints
    OEDocking::OEReceptorHasInnerContourLevel OEReceptor.HasInnerContourLevel
    OEDocking::OEReceptorHasNegativeImageGrid OEReceptor.HasNegativeImageGrid
    OEDocking::OEReceptorHasOuterContourLevel OEReceptor.HasOuterContourLevel
    OEDocking::OEReceptorHasProteinConstraints OEReceptor.HasProteinConstraints
    OEDocking::OEReceptorSetCustomConstraints OEReceptor.SetCustomConstraints
    OEDocking::OEReceptorSetInnerContourLevel OEReceptor.SetInnerContourLevel
    OEDocking::OEReceptorSetOuterContourLevel OEReceptor.SetOuterContourLevel
    OEDocking::OEReceptorAddCachedScore OEDock.CacheScoringSetup
    OEDocking::OEReceptorSetCachedScore OEScore.CacheScoringSetup
    OEDocking::OEReadReceptorFile OEReadDesignUnit
    OEDocking::OEReadReceptorToBytes  
    OEDocking::OEWriteReceptorFile OEWriteDesignUnit
    OEDocking::OEWriteReceptorToBytes  
    OEDocking::OEBoxArea OEBoxArea
    OEDocking::OEBoxExtend OEBoxExtend
    OEDocking::OEBoxTranslate OEBoxTranslate
    OEDocking::OEBoxVolume OEBoxVolume
    OEDocking::OEBoxXDim OEBoxXDim
    OEDocking::OEBoxYDim OEBoxYDim
    OEDocking::OEBoxZDim OEBoxZDim
    OEDocking::OEBoxXMid OEBoxXMid
    OEDocking::OEBoxYMid OEBoxYMid
    OEDocking::OEBoxZMid OEBoxZMid
    OEDocking::OEInBox OEInBox
    OEDocking::OESetupBox OESetupBox
    OEDocking::OESetupBoxCenterAndExtents  
    OEDocking::OEInSphere OEInSphere
    OEDocking::OESphereArea OESphereArea
    OEDocking::OESphereVolume OESphereVolume
  • With the introduction of the new APIs, several obsolete functionalities have been deprecated without any suitable replacements. These functionalities were added in the early development days of OEDocking TK and are no longer deemed useful:

    • OEDocking::OEAlignReceptorFunction
    • OEDocking::OEReceptorAddExtraMols
    • OEDocking::OEReceptorClearBoundLigand
    • OEDocking::OEReceptorClearExtraMols
    • OEDocking::OEReceptorHasExtraMols

Documentation changes

  • The OEHybrid class documentation has been modified to clarify that it is derived from OEDock.
  • Documentation for OEDocking::OEDockBase and OEDocking::OEScoreBase has been removed.
  • All the OEDocking TK examples have been reorganized to reflect the modified API behavior.

OMEGA 4.1.0.0

Fall 2020

New Features

  • The defaults for the -warts and -flipper_warts in OMEGA have been changed from false to true.
  • The Boolean flag -mmff has been added to the Filter application to allow filtering of atoms that cannot be atom-typed with MMFF. It is false by default.
  • Six new flags have been added to Flipper to allow more control when selecting stereo centers as well as improving usability of the program:
    • -enumEZ
    • -enumRS
    • -enumBridgehead
    • -molNames
    • -prefix
    • -progress
  • The built-in default filter for the Filter application is now in sync with the provided filter_frag.txt file.
  • GPU-OMEGA now requires a minimum NVIDIA Driver version of 450.x and a minimum GPU compute capability of 3.5. See NVIDIA Drivers and Supported GPUs for more details.
  • Conformer generation using dense mode will now default to running on the CPU instead of the GPU. The other torsion driving sampling modes (classic, rocs, fastrocs and pose) will still run on a GPU by default if one is available on a Linux platform. For details on how to run with dense mode sampling on a GPU see the Usage section of the GPU-OMEGA docs.

Major Bug Fixes

  • OMEGA in the macrocycle mode now works with pipes.
  • A memory leak in GPU-OMEGA has been fixed.

Documentation Changes

  • Documentation for the -erange, -maxConfRange, and -rmsrange for OMEGA has been improved for clarification.

Omega TK 4.1.0

Fall 2020

New features

  • GPU-Omega now requires a minimum NVIDIA Driver version of 450.x and a minimum GPU compute capability of 3.5. See NVIDIA Drivers and Supported GPUs for more details.
  • Conformer generation using dense mode now defaults to running on the CPU instead of the GPU. The other torsion-driving sampling modes (sparse, rocs, fastrocs, and pose) will still run on a GPU by default if one is available on a Linux platform. For details on how to run with dense mode sampling on a GPU, see the Usage section of the GPU-Omega docs.
  • A new class, OEFlipperOptions, has been added that defines parameters for specifying stereo centers and other options.
  • OEFlipper has been updated to take a molecule and an OEFlipperOptions. The old version of OEFlipper that takes five parameters has been deprecated.
  • A new function, OEFlipperStereoCenters, has been added added that returns a number of undefined stereo centers in a molecule as interpreted by OEFlipper.

Major bug fixes

  • A memory leak in GPU-Omega has been fixed.
  • An issue with generating conformers on the CPU using child processes with the same OEOmega object has been fixed.
  • GPU-Omega no longer throws an error when attempting to generate conformers with the same OEOmega object in child processes. Instead, it falls back to the CPU. To use GPU-Omega with child processes, each child must construct a new OEOmega object.

Minor bug fixes

  • OEOmega.ClearFragLibs now clears all fragment libraries. Previous releases did not clear the internal shared fragment library (a shared memory library of fragments accrued while generating conformers with the same OEOmega object).

Documentation changes

  • OEOmegaReturnCode has been updated to reflect the current possible values.

MolProp TK 2.5.5

Fall 2020

  • Minor internal improvements have been made.

PICTO 4.5.1.0

Fall 2020

  • Minor internal improvements have been made.

OEDepict TK 2.4.5

Fall 2020

New features

  • A new function, OEGetLabelPosition, that identifies the position where atoms labels are added.
  • Approximately 40 new protective groups have been added to the namespace OEProtectiveGroupStyle.
  • A new function, OE2DMolDisplayOptions.HasProtectiveGroupStyle, has been added that determines whether a given protective group style has been set in OE2DMolDisplayOptions.
  • The function OE2DMolDisplayOptions.GetProtectiveGroupStyle has been deprecated. It can no longer be used to determine if multiple protective group styles from OEProtectiveGroupStyle have been set. OE2DMolDisplayOptions.HasProtectiveGroupStyle can now be used instead.

Minor bug fixes

  • An issue that caused OEPrepareAlignedDepiction to generate incorrect stereo depictions when OEPrepareDepictionOptions.SetClearCoords was set to false has been fixed.
  • Figures have been added to show depiction with and without the new protective groups to OEProtectiveGroupStyle.

pKa-Prospector 1.1.4.0

Fall 2020

  • Minor internal improvements have been made.

QUACPAC 2.1.1.0

Fall 2020

  • Minor internal improvements have been made.

Quacpac TK 2.1.1

Fall 2020

New features

  • A new preliminary class, OEChargeParameter, has been added as part of the extended set of OEParameter classes. The new parameter class works with predefined charge engines using OEChargeEngineBase object.

ROCS 3.4.1.0

Fall 2020

  • Minor internal improvements have been made.

Shape TK 3.4.1

Fall 2020

New features

  • A new function, OEIsFastROCSShapeQuery, has been added that determines if an OEShapeQuery object is compatible with FastROCS TK.

Major bug fixes

  • An issue that caused performance slowdown in OESelfShape has been fixed.
  • An issue that caused OEGridColorFunc to give incorrect results when used with a custom color force field containing a range value other than 1.0 has been fixed.

Minor bug fixes

  • The UserColor example has been updated to more robustly check return statuses. See chapter_shape_examples.

SPRUCE 1.2.0.0

Fall 2020

  • Minor internal improvements have been made.

Spruce TK 1.2.0

Fall 2020

New features

  • New methods have been added to OEDesignUnitSplitOptions, OEDesignUnitSplitOptions.AddLipidCode, OEDesignUnitSplitOptions.SetLipidCodes, OEDesignUnitSplitOptions.ClearLipidCodes, and OEDesignUnitSplitOptions.GetLipidCodes that allow users to specify the names of molecules to be considered as lipids.
  • Support has been added for HEME and related cofactors in OEMakeDesignUnits. The state of HEME, contains two negatively charged nitrogens to balance the +2 Fe formal charge. The nitrogens coordinating the iron atom are indicated by zero-order bonds.
  • A new function, OEFindPockets, has been added that finds cavities in protein or nucleic acid complexes. The parameters for the search can be tuned with OEPocketOptions. The pockets are output as OEPocket objects in an iterator. The function can take a predicate that will control only outputting pockets with a given set of residues or atoms in it. This function is also used in OEMakeDesignUnits when a site residue is provided.
  • A new function, OEMakeDesignUnitFromPocket, has been added that takes a prepared biological unit from an OEMakeDesignUnit and an OEPocket and coverts it into an OEDesignUnit does with a reference structure.
  • New methods have been added in OELoopBuilderOptions, OELoopBuilderOptions.SetSeqAlignMethod, OELoopBuilderOptions.SetSeqAlignGapPenalty, OELoopBuilderOptions.SetSeqAlignExtendPenalty, OELoopBuilderOptions.GetSeqAlignMethod, OELoopBuilderOptions.GetSeqAlignGapPenalty, and OELoopBuilderOptions.GetSeqAlignExtendPenalty that allow users to control the sequence alignment done to find gaps in protein structures related to loop modeling.

Major bug fixes

  • A bug that caused some modeled loops to be missing the backbone NH hydrogen where the modeled loops were attached has been fixed.
  • Fragment numbers for build loops have been fixed to be consistent with the anchor residues where the loops are inserted.
  • A bug in OEFixBackbone has been fixed to ensure that OXT atoms are always built on C-terminal residues.
  • An issue with atom order for built pieces like loops or caps has been fixed to ensure that these are sequential with the location they are built.
  • A bug in OEBuildLoops that in specific situations caused incorrect detection of gaps in protein structures has been fixed. Additionally, options have been exposed in OELoopBuilderOptions to allows users to control the underlying sequence alignment in the event of a failure.

Minor bug fixes

  • Improvements have been made to standard amino acid residue perception when preparing structures.
  • Site residues in OEMakeDesignUnits are now being checked against all the biological units so one can serve as a reference for the rest.
  • A bug in loop modeling that caused the function to create residues with identical residue numbers has been fixed. The function now properly builds using insertion codes.
  • A bug in loop modeling that caused problems for the underlying sequence alignment code and incorrect loops when a single residue was floating in space between two gaps has been fixed.
  • The chemical component dictionary used internally in OEMakeDesignUnits has been updated with the latest changes from the RCSB, including some fixes for incorrect entries in the source data based on rules and literature searches.

SZMAP 1.6.1.0

Fall 2020

  • Minor internal improvements have been made.

Szmap TK 1.6.1

Fall 2020

  • Minor internal improvements have been made.

SZYBKI 2.3.0.0

Fall 2020

New Features

  • A new utility, OptLigandInDU, has been added that optimizes a ligand against a rigid protein active site in a design unit. Optimization can be performed with fff14sb_parsley, mmff_amber, or mmff force fields.
  • A new utility, OptimizeDU, has been added that optimizes a protein-ligand complex inside a design unit. The protein can be treated as partially flexible during the optimization, and can be performed with fff14sb_parsley, mmff_amber, or mmff force fields.
  • New options, parsley_openff1.2.1 and ff14sb_parsley, have been added to the -ff command in SZYBKI. The ff14sb_parsley is only meaningful when optimizing a protein or a part of a protein that includes cofactors.
  • A new option, parsley_openff1.2.1, , has been added to the -ff command in Freeform -conf.

Major Bug Fixes

  • An issue that delivered incorrect results from binding entropy calculation with SZUBKI, when the -complex flag was used has been fixed.
  • Depiction of Freeform -solv results now shows the breakdown of group contributions.

Minor Bug Fixes

  • Protein-ligand optimization with OpenFF-Parsley force fields using SZYBKI no longer fails even when the initial gradient norm is 1e15 kcal/(mol A) or larger.
  • The SZYBKI log file for protein-ligand complexes optimized with OpenFF-Parsley force fields no longer provides the misleading message mmff94 partial charges were used.
  • The log file for default Freeform -conf calculations that runs with default charges has been improved to correctly say that the ELF10 partial charges were used.
  • Unnecessary warnings in entropy calculations with SZYBKI have been removed.

Szybki TK 2.3.0

Fall 2020

New features

  • A new SMIRNOFF force field from the Open Force Field Initiative, Parsley 1.2.1, has been added as a built-in force field. It is defined as OEForceFieldType::PARSLEY_OPENFF121.
  • A protein or part of a protein can now be optimized with the FF14SB force field. Cofactors with the exception if HEME are handled by the OpenFF/Parsley force field (for example Parsley 1.2.1), while parameters for HEME are taken from Bryce Group.
  • The following preliminary classes have been added that enable optimizing protein-ligand complexes, with or without partial flexibility of the proteins, using the new OEFF14SBParsleyComplex force fields, among others:
    • OEFixedProteinLigandOptimizer
    • OEFlexProteinLigandOptimizer
  • A new preliminary class, OEProteinLigandOptResults, has been added that represents results of a protein-ligand complex optimization.
  • Two new preliminary classes, OEProteinLigandOptOptions and OEProteinFlexOptions, have been added that provide choices for protein-ligand optimization and protein flexibility.
  • A new namespace, OESzybkiReturnCode, and a corresponding function, OEGetSzybkiError, have been added that correspond to return codes from the new optimizer classes.

Minor bug fixes

  • Protein-ligand optimization with OpenFF/Parsley force fields using OESzybki no longer fails, even when the initial gradient norm is 1e^15 kcal/(mol A) or larger.