Release Notes

v0.24.1 September 2022

General Notice

  • This package is built using the following dependencies:

    • openeye-orionplatform>=4.4.0,<5.0.0

    • OpenEye-Toolkits>=2022.1.1

    • OpenEye-brood>=3.1.7,<4.0.0

    • OpenEye-szmap>=1.6.4,<2.0.0

    • OpenEye-szybki>=2.5.0,<3.0.0

New Cubes

Cube Updates

v0.24.0 July 2022

General Notice

  • This package is built using the following dependencies:

    • openeye-orionplatform>=4.4.0,<5.0.0

    • OpenEye-Toolkits>=2022.1.1

    • OpenEye-brood>=3.1.7,<4.0.0

    • OpenEye-szmap>=1.6.4,<2.0.0

    • OpenEye-szybki>=2.5.0,<3.0.0

New Cubes

Cube Updates

  • A new solvent model parameter has been added to the following cubes. The error handling behavior of these cubes have also been improved.

  • The Ligand Charges now properly handles 2D molecule inputs. The cube also now activates explicit hydrogen atoms irrespective of if the cube was assigning charges or if it was passing forward the available input charges.

  • The Posit now reports an additional field containing the posit method that was used for a prediction. The cube also now properly passes records through the failure port in cases when posit fails due to low probability or clash as desired.

  • The EON Score now keeps all the input record fields in the generated output record.

  • The Freeform Ligand Strain now keeps all the input record fields in the generated strains output record, along with having those fields being kept in the generated ensembles record.

  • The Overlap and Overlap with Grid Query cubes now prepares the input molecules with addition of color atoms and removal of hydrogen atoms, if the molecule did not have any color atoms.

  • The Find Protein cube was modified to add the found protein as a new field in the existing record instead of creating a new record.

  • The Torsion Scan has been improved to include a new force field parameter. The boolean parameter to allow using PB single point energies have been dropped in favor of a new solvent model parameter, that provides additional option to perform a gas-phase calculation.

  • The Spruce Prep has been improved to incorporate the new OESpruceFilter toolkit function, which standardize a structure read from a PDB or MMCIF file, but also fails the structure if specific problems are detected. An option is available to allow failures to pass. Additionally, the new OEValidateDesignUnit toolkit function is used to both style problematic areas of a design unit, and log messages to a validation floe report.

  • The Spruce Prep has been improved to no longer query for the loop database file, but now takes the file ID as initializer input from Loop database file look-up. This improves the cubes behavior at large scale use.

  • The Spruce DU to Mol has been improved, to properly mark the first generated molecule as the primary molecule on the record, making export of design units as molecules easier.

  • The Update DesignUnit Style has been improved to fail early if the query record does not contain a valid design unit query.

  • The SiteHopper DB Prep and SiteHopper Search have been improved to store and retrieve, respectively, the PDB code, DU title, and target name if available with the data being used to build the database from.

v0.23.1 December 2021

General Notice

  • This package is built using openeye-orionplatform>=4.2.4,<5.0.0 and OpenEye-Toolkits==2021.2.0.

New Cubes

  • The new Field Type Conversion Cube converts a field of one basic type (integer, float, boolean, or string) to a field of another basic type.

  • The new String Field Comparison to Sets of Strings compares the value of a string field to a set of strings and routes records based on whether the value of that string field is contained in the set.

  • The new Process Every N records cube samples every N records from its input, emits those to its success, and others to the failure port.

  • The new Add hydrogens to design unit cube adds protons and optimizes the hydrogen bond network on the input design units or molecules.

  • The new Create DU From Pockets cube takes a design unit and searches for potential binding sites on the protein structure using OEPocket.

  • The new Create DU from f-pocket pockets cube takes a design unit and searches for potential binding sites on the protein structure using F-pocket.

  • The new ROCS Query Model cube builds OEShapeQuery model from bound ligands in the design unit(s)

  • The new Check Design Unit cube identifies if a record contains design unit field and emits the record through different ports accordingly.

  • The new Chemgauss4 Score cube calculates checmgauss4 score between the ligand and receptor contained in the input design unit.

  • The new Bint Score cube calculates bint score between the ligand and receptor contained in the input design unit.

Cube Updates

Deprecated Cubes

The following cubes have been deprecated and will be removed in a future release.

  • DatasetReaderOptCube. This cube is no longer relevant as the DatasetReaderCube in OpenEye-orionplatform has been updated to allow this functionality.

  • ShardReaderOptCube. This cube is no longer relevant as the ShardReaderCube in OpenEye-orionplatform has been updated to allow this functionality.

  • GPU SiteHopper Search. This cube should no longer be used as the toolkit does not allow search directly with a GPU, but only uses it as a pre-screening method.

v0.20.1 June 2021

  • Upgrades to OpenEye-orionplatform==4.0.0 and the associated OpenEye Toolkits

New Cubes

Cube Updates

  • The Find Receptor was updated to be able to find and emit a DU-receptor.

  • The FRED/HYBRID Exhaustive Docking Cube, and similar cubes, were updated to work with DU-receptors.

  • The Exception Handler was updated to avoid processing a fatal error log also being processed as regular failed record log.

  • The Posit was updated to check more thoroughly for input ligand molecules, and to work with DU-receptors.

  • The ROCS Receptor Selector Cube was updated to adjust to the switch to DU receptors.

  • The Omega Macrocycle was updated to not allow output of molecules with dimension less than three.

  • The Freeform Ligand Strain was updated to fix a bug that was producing negative local strain and global strain values.

  • The Posit was updated to output the Chemgauss4 Score for the posed molecule and the number of good interactions as measured by BINT.

  • The Inject Target Tree into MMDS cube was updated to skip adding targets to MMDS if another target with their same parent name alrady exists.

  • The Spruce DU to Mol cube was updated to use sensible defaults for field names. It was also updated to give users more control and the ability to output additional mol components into separate fields.

  • The Float Hit List cube, Integer Hit List cube, and String Hit List cube were updated to use their specific respective field parameter types.

  • A bug with the URL in the Generate Family Tree Data cube was fixed.

  • The superposition method selection for families was fixed in Define family reference structure cube.

  • The Input PDB/MMCIF/MTZ files cube was updated to properly read in .gz files.

v0.20.1 November 2020

  • Upgrades to OpenEye-orionplatform==3.1.0 and the associated OpenEye Toolkits

New Cubes

A number of cubes have been added to support SiteHopper patch database generation and searching.

  • New cube_SiteHopperPatchDBGenCube Cube that reads in a collection of prepared OEDesignUnits on records and creates SiteHopper patches from the binding site of each OEDesignUnit. A parallel version also exists cube_ParallelSiteHopperPatchDBGenCube.

  • New cube_SiteHopperPatchDBDatasetCube Cube that ties in the prepared OEDesignUnit collection with the collection of patches into a single record during patch databse generation. The cube_SiteHopperUnpackDBDatasetCube Cube is used during search to extract the proper collection IDs for use by the search and related cubes.

  • New SiteHopper Search Cube, that performs a SiteHopper search on a supplied patch database using a reference OEDesignUnit as the query. A parallel version of this Cube also exists, cube_ParallelSiteHopperSearchCube. In addition a serial and parallel version that utilizes the GPU to search exists GPU SiteHopper Search and cube_ParallelGPUSiteHopperSearchCube.

  • New cube_SiteHopperResultTransformation Cube, that performs a normal CPU re-scoring of the patches, as well as the option to normalize the patches against the query patch and re-score the similarly sized patches. The cube transforms the OEDesignUnits onto the reference frame, with the overlay provided by SiteHopper. A parallel version of this cube is also provided, cube_ParallelSiteHopperResultTransformation.

  • New cube_DUSequenceScore Cube, that compares the sequence of the SiteHopper query OEDesignUnit to the hits, with the ability to filter out results that are too similar in sequence. A parallel version of this cube is also provided, cube_ParallelDUSequenceScore.

  • New Update DesignUnit Style Cube, that colors the OEDesignUnits for each hit in the output records with random colors to ensure easier visualization in 3D.

A number of cubes have been added to support populating MMDS using Floe. This includes generating a collection of prepared OEDesignUnits, datasets of targets and target families as well as cubes that allow uploading data into MMDS (for MMDS admins only).

  • New Create Structure Collection Cube that either creates or updates an existing collection. The Cube emits the collection and existing shards via different ports.

  • New Fetch all current PDB codes Cube that retrieves all known PDB codes from the RCSB and makes a record for each with the code and the latest revision.

  • New Check for collection dupes Cube that reads all the shards in a provided collection and checks whether a PDB code and revision already exists in the collection. Only codes not already present are emitted. Shards that are present but where the code has been deprecated or a new revision has been added are deleted from the collection.

  • New PDB codes to Records Cube that works similarly to the existing Input PDB codes Cube, but instead of input parameters takes input from records provided via the intake port. A parallel version of this cube is also provided, cube_ParallelPDBCodesToInputRecords2.

  • New Convert Structure Records to shards Cube that takes records with PDB data and converts them into a shard each. The shard is named by the PDB code for easier look-up later and the PDB revision (ordinal) is stored in the shard metadata. A parallel version of this cube is also provided, cube_ParallelStructureRecordToShard.

  • New Generate GtoP Family Data Cube that reads the family hiearchy from the Guide to Pharmacology database and generates a dataset from it.

  • New Generate GtoP Target Data Cube that reads the target information from Guide to Pharmacology and maps the target UniProtKb IDs to PDB codes.

  • New cube_UpdateTargetStructures Cube that can update a dataset of targets if new structures have been added to that target since last updated.

  • New Define Target Reference Structure. Cube that attempts to find a common reference structure for a given target based on a consensus biological unit and binding site location. A parallel version of this cube is also provided, cube_ParallelDefineTargetReferenceStructure.

  • New Define family reference structure Cube that reads the reference structures for each target in a family and looks to see if they can all be superposed to a common reference frame. It subsequently checks whether each family member node can be superposed with other family members at the same level in the tree.

  • New Target Structure Mapping Cube that takes a dataset of targets and matches up the reference structure for a given target to each of the PDB codes belonging to that target for structure preparation. A parallel version of this cube is also provided, cube_ParallelTargetStructureMappingCube.

  • New Spruce Prep for MMDS Cube that works identically to the existing Spruce Prep, but instead of records operates on shards. An output shard contains all the prepared OEDesignUnit records for a given PDB code. A parallel version of this cube is also provided, cube_ParallelSprucePrepShardsCube.

  • New Spruce depiction cube for MMDS Cube that works identically to the existing Spruce Depiction, but instead of records operates on shards. A parallel version of this cube is also provided, cube_ParallelDesignUnitDepictionsShardCube.

  • New Inject Family Tree into MMDS Cube that takes a dataset and builds a family tree from it.

  • New Inject Target Tree into MMDS Cube that takes a dataset and adds every context (target) at the proper location in the family tree. A parallel version of this cube is also provided, cube_ParallelAddContexts.

  • New Inject Experiment and Site into MMDS Cube that reads a collection of data for each PDB code and merges it into MMDS. It also reads a collection of prepared OEDesignUnits and uploads these as well. A parallel version of this cube is also provided, cube_ParallelAddExperimentsAndSites.

  • New Add receptor for a frame in MMDS Cube that adds OEDocking receptors to every frame in MMDS. A parallel version of this cube is also provided, cube_ParallelAddReceptorForFrame.

  • New Add sequence alignment to a context in MMDS Cube that pulls all the frames for each context and generates a sequence alignment for all the structures. Contexts with an existing alignment are skipped, unless the context has had new structures added. A parallel version of this cube is also provided, cube_ParallelAddContextSeqAlign.

  • New Get contexts from MMDS Cube that outputs a dataset of existing context (target) IDs from MMDS.

  • New Get frames from MMDS Cube that outputs a dataset of existing frame IDs from MMDS.

A number of cubes have also been added that instead of reaching out to public sources instead can extract data from a Proasis server based on a user provided host url.

Cube Updates

  • The Input PDB codes now adds the revision number (ordinal) when pulling data from the RCSB.

  • The Assign Partial Charges Cube was improved. A parameter was added to specify whether to use input conformers or not for am1bccelf10 charges. If not, Omega will be used to generate conformers.

  • The Gameplan was updated to handle failures to the fatal port.

  • The Exhaustive Docking (Single Receptor) no longer emits a record with emtpy molecule when the docking produces no results.

  • The Freeform Solvation Energy was updated so that the output molecule from the solvation is on the output record. Parameters were also added for chosing the ionic states for the calculation and if the input 3D structure should be solvated without further optimization.

v0.19.3 August 2020

Cube Updates

  • The Spruce Depiction was updated to handle modeled structures where Iridium data is not available on the DesignUnit

  • The Spruce Prep was updated to resolve issues with modeled loops.

v0.19.1 August 2020

  • Upgrades to OpenEye-orionplatform==3.0.0 the associated OpenEye Toolkits

New Cubes

  • New Spruce Depiction which generates multiple interactive depictions of the design unit. The depictions are target-ligand interactions, b-factor visualization, 3) Iridium data visualization, and if electron density data is available, 4) ligand density coverage.

  • New DesignUnit Type ETL. OEDesignUnit have gotten native support in datarecord as Types.Chem.DesignUnit. This cube converts fields with the old design unit blob type and adds a new field with the native type. For backwards compatibility it currently preserves the existing field.

  • New Named Dataset Reader, Named File Reader, and Named Collection Reader read dataset, file and collection specified by their names. They allow floe developers to permenently customize their floes to utilize a specific resource.

  • New Calculate RMSD performs RMSD calculation between a 3D reference molecule and multi-conformation molecules.

  • New Find ShapeQuery identifies shape query in a record. If a shape query is not found, the cube looks for the primary molecule and creates a shape query from that molecule.

  • New Convert Shape Query to Record reads a shape query file (.sq) and converts the shape query to a record.

  • New Single File Reader reads a single file and emits its contents in a stream. It will throw a runtime error if two or more files are used as input.

  • New Record Splitting By Charges splits records into two streams by whether the molecule is charged.

Cube Updates

Removed Cubes

  • Removed DUFileToRecords cube which is no longer needed as Orion will automatically, upload and ETL an OEDU file to a record.

v0.18.2 April 2020

General Notice

  • Upgrades to OpenEye-orionplatform==2.4.5

New Cubes

  • New Record Counter Switch added that can switch floe path based on the number of records in the initializer port.

  • New Rotate Surface rotates a surface by a 3x3 matrix specified as a 9-element array in row-major order.

  • New Transform Surface transforms a surface using a supplied OETrans object.

  • New Translate Surface translates the surface using the supplied 3-element translation vector.

  • New cube_OptionalDatasetReaderCube to allow a user to pass an optional reference design unit to use when preparing new structures in Spruce.

  • New Input PDB/MMCIF/MTZ files, which is a re-work of the older and removed PDBFileToInputRecord. This cube takes a set of input PDB files, optional MTZ files, and optional metadata JSON files and pairs them up as input records for Spruce structure preparation.

  • New Input PDB codes, which is a re-work of the older and removed PDBCodeToInputRecords. This cube downloads PDB (fall-back to MMCIF) files and any associated MTZ files and puts them into records for Spruce structure preparation.

  • New Molecule Filtering cube has been added that filters molecules based on a user-defined filter type.

  • New Uncolor Molecule Graph cube has been added that uncolors molecular graphs i.e. removes certain atom and bond properties.

  • New Random N Record Selection cube has been added that randomly selects N records.

  • New Concatenate Records cube has been added that concatenates datasets.

  • New Classification Based on String Field cube has been added that allows classification of records based an a specified string field.

  • New String Fields Comparison to Sets of Strings cube has been added that filters out records based on the string data of reference records.

The following cubes have been added to mimic some of the stages of biomolecule preparation being done automatically in Spruce. They all, except the Spruce BioUnit Extract, take a dataset with designunits as input. The editing cubes updates the design units on the record. To be able to use them for downstream cubes or floes, after editing, the design units on the records must be converted to molecules or receptors (see conversion cubes section following this section).

  • New Spruce BioUnit Extract, which generates biological units from an input asymmetric unit crystal structure.

  • New Spruce sidechain builder cube, takes a dataset of designunits and builds out partial or missing sidechains.

  • New Spruce capping cube, takes a dataset of designunits and caps any chain breaks.

  • New Spruce swamp metal cube, takes a dataset of designunits and converts specified metals, e.g. Zn to Mg.

  • New Spruce mutation cube, takes a dataset of designunits and attempts to mutate specified residues.

  • New Spruce residue state cube, takes a dataset of designunits and changes the state of specified titratable residues.

  • New Spruce rotamers cube, takes a dataset of designunits and returns multiple records per design unit each with different rotamers of a specified residue (non-clashing is default, but optional).

  • New Spruce subset cube, takes a dataset of designunits and subsets them based on inputs, to remove entire design unit components or remove pieces specified by residue identifiers.

  • New Spruce subset within cube, takes a dataset of designunits and subsets a component of each design unit, e.g. subset the solvent to include only those within 5A of the protein and ligand components.

  • New Spruce Superpose, takes a dataset with a reference design unit and a dataset of designunits, and superposes each design unit in the dataset to the reference. Several superposition methods are available.

  • New Spruce minimize designunit cube, takes a dataset of designunits and minimizes parts of the designunits based on input parameters.

The following cubes have been added that convert design units to molecules or receptors, for use in subsequent cubes or floes.

  • New Spruce DU to Mol, which converts the design unit to a molecule and optionally splits out the ligand to a separate field. All the content in the design unit is output to the molecule, if less is required, first subset the design unit with the cubes: Spruce subset cube or Spruce subset within cube.

  • New cube_DUToReceptor, is a cube split out from the old DUtoReceptorMDRecord, to split the two operations therein. This cube takes a DU and writes a receptor for use in docking.

  • New cube_DUToMDRecord, is a cube split out from the old DUtoReceptorMDRecord, to split the two operations therein. This cube takes a DU and writes an complex (not including the ligand), that can be used in MD floes, e.g. Short Trajectory MD floes.

Cube Updates

  • The cube_DUFileToRecords, has been updated to take multiple input files.

  • The Spruce Prep, has been updated, to take an optional reference design unit using the initializer port, additional options for preparation have been exposed, and several of the input parameters have been updated to make parameter selection easier.

  • The MDL Substructure Map now emits unmatched molecules through the failure port.

  • The Exhaustive Docking (Single Receptor) now exits properly when initialization fails.

  • The Torsion Scan now has a torsion increment option to change the resolution of the torsion drive. It also fails more gracefully when coordinates cannot be generated or the torsion cannot be identified.

  • The Splitting Conformers now has the option to move conformer fields to the primary record after splitting.

  • The Prepare Molecule for 2D Depiction cube now can keep the coordinates of the primary molecule and store the 2D coordinates in a new field specified by a new string parameter.

  • The following changes have been made for the Move Field cube:

    • It now handles cases when the specified field does not exist on the record.

    • A new parameter has been added that allows to move records with missing field to the success port.

    • A fatal port has been added in order to handle cases when no field was renamed in any of the records.

  • The following changes have been made for the Structure to SMILES cube:

    • Meta.Hints.Chem.SMILES meta data is added to the SMILES field

    • It re-perceives all necessary perception upon request.

    • It noew generates the following SMILES: non-canonical, non-isomeric-canonical, and isomeric-canonical (default)

Removed Cubes

  • Removed DUtoTgtLigRecords cube which was unused.

  • The following cubes have been removed and replaced with the new Input PDB codes: GetPDBplusMap, PDBCodeToUrl, UrlToFile, PDBCodeToInputRecord, MultiplePDBCodesToInputRecord.

  • The following cubes have been removed and replaced with the new Input PDB codes: PDBFileToInputRecord, InputRecordtoDataset.

  • The following cubes have been removed and replaced with new cube_DUToReceptor and new cube_DUToMDRecord: DUtoReceptorMDRecord, ReceptorMDRecordToDataset, DUtoReceptorMDDataset.

v0.17.2 November 2019

General Notice

New Cubes

Cube Updates

v0.16.6 September 2019

General Notice

  • Upgrades to OpenEye-orionplatform==1.1.4

  • Upgrades to OpenEye-floereport==0.1.5

  • Static variables are no longer used, other than as the parameter variables.

New Cubes

Cube Updates

v0.16.0 July 2019

General Notice

  • Upgrades to OpenEye-orionplatform==1.0.0

v0.15.0 June 2019

General Notice

  • Upgrades to OpenEye-orionplatform==0.3.2

v0.14.0 June 2019

General Notice

New Cubes

  • New Gameplan Report Cube to report Gameplan results and app generated log files.

  • New Brood Report Cube to report Brood results and app generated log files.

  • New ROCS with Multi-conformer Query cube that works with a multi conformer query molecule.

  • New SingleReceptorPositCube specifically for single receptor pose prediction.

  • New DUtoTgtLigRecords to extract target and ligand DataRecords from OEDesignUnits.

  • New DatasetReaderOpt to read records with an optional data source.

Cube Updates

  • Exhaustive Docking (Single Receptor) no longer produce docked pose with unusually high docking scores.

  • ROCS, SubROCS and Best Overlay Transform now works with a single conformer query molecule only and no longer produce a Query Conformer field in the output record.

  • OEStructureBasedLigandDesignCube now checks for memory limits corresponding to the number of receptors and poser cash size before starting to pose.

  • Updated Brood documentation.

  • Updated Gameplan documentation.

  • Spruce cubes have been updated to use and output OEChem::OEDesignUnit object files (.oedu), which are new to the 2019.Apr release of the OpenEye Toolkits.

v0.13.6 March 2019

General Notice

  • Upgrades to OpenEye-orionplatform==0.1.14

New Cubes

Cube Updates

v0.13.4 November 2018

General Notice

Cube Updates

  • Minor fix to Omega Conformation to preserve molecule titles.

  • Speed up fix for many of the FreeFormConf cubes.

  • Updated the Hermite shape cubes for compatibility with the 2018.Oct release of the OpenEye Toolkits

v0.13.3 September 2018

General Notice

  • Upgrades to use OpenEye-orionplatform==0.1.7

New Cubes

Cube Updates

  • CalculateXLogPCube now calculates XLogP on the neutral form of the molecule. A new parameter has been added to the cube, called Keep Neutral Form<cube_param_CalculateXLogPCube_keep_neutral> that controls whether to keep the neutral form of the molecule after the calculation or restore the original input form.

v0.13.0 August 2018

General Notice

  • Upgrades to use OpenEye-orionplatform==0.1.0