Prepare Giga Collections

Description

Constructs Giga-Docking and FastROCS collections from input file(s) or collection(s).

This floe filters the input molecule and generates conformers for the Gigadock and FastROCS collections, with a maximum of 200 and 10 conformers per molecule, respectively. The filtering is configurable (see the “Filtering: Basic Properties”, “Filtering: SMARTS” and “Filtering: OEFilter” parameter groups). Use the ‘Dry Run’ switch to, at negligible cost examine the contents of the input files (see the Floe report) and see how many molecules pass each filter (examine the port counts) without generating conformers or creating any collections.

The input molecules are expected to come from a collection outputted by one of the generative design floes, or more commonly an input file. Supported file formats are: can, can.gz, csv, csv.bz2, csv.gz, ism, ism.gz, isosmi, isosmi.gz, mol2, mol2.gz, oeb, oeb.gz, oedb, oez, sd, sd.gz, sdf, sdf.gz, smi, smi.gz, syb, syb.gz, tar, tar.bz2, tar.gz, tgz, tsv, tsv.bz2, tsv.gz, usm, usm.gz, zip. Comma and tab separated files (i.e. csv and tsv) are expected to have SMILES representations of molecules in one of the columns. For archive formats (e.g., .tar and .zip) this floe will read molecules from files in the archive that are of a supported format.

IMPORTANT: For comma and tab separated files (i.e., CSV and TSV) this floe cannot automatically identify molecule titles from the file, and will by default create molecules with no titles that will be filtered out (i.e., the floe will read in no molecules). When working with CSV/TSV input files you should run the floe once with ‘Options -> Dry Run’ and ‘Options -> Allow Empty Titles’ both on. A floe report will be created that you can examine to see the column/field titles in the CSV/TSV file. In subsequent runs you can then specify the column/field you want to use (must be a string field) as the molecule title using the ‘Format Specific Settings -> Mol Title Field’ parameters. If the file doesn’t have any appropriate title columns/fields you can leave ‘Options -> Allow Empty Titles’ in subsequent runs.

Disk Space Considerations: With file input there is a limitation on the size of the file. The disk space available for a file is specified by the ‘Hardware->Disk Space’ parameter. For non-archive files this is that maximum size input file. For archive files (e.g., tar and zip) each file is extracted from the archive processed and then cleaned up before extracting the and processing the next file in the archive. The disk space required is thus the size of the archive file plus the size of the largest single file in the archive when it is extracted from the archive.

Details

Title : Prepare Giga Collections
Tags : Large Scale Floes Collection Preparation
Python Name : #04_prepare_giga_collections

Parameters

Inputs

  • Input File(s) One or more input files to convert into docking & FastROCS collections.
    Type : file_in
    Required : False
    Python Name : input_file

Inputs : Alternate

  • Input Dataset(s) One or more input datasets to convert into Gigadock and FastROCS collections.
    Type : data_source
    Required : False
    Python Name : input_datasets
  • Input Collection(s) One of more input collections to convert into docking and FastROCS collections. These collection(s) are expected to be from the output of the reaction enumeration floes.
    Type : collection_source
    Required : False
    Python Name : input_collection

Outputs

  • Giga Docking Collection Name Name of the collection to create
    Type : collection_sink
    Required : True
    Default : GigaDock Collection
    Python Name : docked_collection_name
  • FastROCS Collection Name Name of the collection to create
    Type : collection_sink
    Required : True
    Default : FastROCS Collection
    Python Name : rocs_collection_name
  • Temporary Collection Name This collection is used to store temporary data during the run of the floe and is automatically deleted when the floe completes. If you cancel the floe you should delete the collection manually.
    Type : collection_sink
    Required : True
    Default : Prepare Giga Collections Temporary Collection
    Python Name : temp_collection_name

Options

  • Dry Run If ‘On’, molecules will be read and passed through the filtering cubes normally but will not be passed to the omega conformer generation and collection creation cubes. This makes the floe very inexpensive to run, however no output collections will be generated. With this switch on you can see how many molecules will be read from your input file(s)/collection(s) and how many will pass the filters (examine the filtering Cube port counts) that have configured, and make adjustments without incurring significant expense. Once the best filtering settings are determined you can run the Floe with those settings and this option turned off to generate the collections.
    Type : boolean
    Required : True
    Default : False
    Choices :True, False
    Python Name : dry_run_switch
  • Allow Empty Titles If ‘On’, molecules without titles will be allowed. If ‘Off’ molecules without titles will be filtered out. If your input is a comma or tab separated file you can use the ‘Format Specific Settings -> Mol Title Field’ parameter to set the molecule title to a specific string column in the comma or tab separated file.
    Type : boolean
    Required : True
    Default : False
    Choices :True, False
    Python Name : allow_no_title_switch
  • Keep this fraction Parameter to create collections that contain a random subset of the input molecule when set to less than the default value of 1. This parameter is the fraction of the input molecules that will be retained using a random selection criterion.
    Type : decimal
    Required : True
    Default : 1.0
    Range : 0.0 to 1.0
    Python Name : random_retain_probability

pKa

  • Set Neutral pH on input molecules If turned ‘Off’ a neutral pH 7.4 pKa state will not be set on the input molecules. This option should only be turned off if you are certain your input molecule has a correct pKa state set.
    Type : boolean
    Required : True
    Default : True
    Choices :True, False
    Python Name : set_neutral_ph_on_input_molecules

Filtering : Basic Properties

  • Max molecular weight Molecules with molecular weight greater than this value will be filtered out. If unspecified this cube will not filter out molecules with high molecular weight.
    Type : decimal
    Required : False
    Default : 500.0
    Max Value : 1000.0
    Python Name : mw_max
  • Min molecular weight Molecules with molecular weight less than this value will be filtered out. If unspecified this cube will not filter out molecules with low molecular weight.
    Type : decimal
    Required : False
    Python Name : mw_min
  • Max rotatable bond count Molecules with rotatable bond count greater than this value will be filtered out. If unspecified this cube will not filter out molecules with high rotatable bond count.
    Type : integer
    Required : False
    Default : 15
    Range : 0 to 20
    Python Name : rot_bond_max
  • Min rotatable bond count Molecules with rotatable bond count less than this value will be filtered out. If unspecified this cube will not filter out molecules with low rotatable bond count.
    Type : integer
    Required : False
    Python Name : rot_bond_min
  • Max count undefined atom stereo Molecules with count undefined atom stereo greater than this value will be filtered out. If unspecified this cube will not filter out molecules with high count undefined atom stereo.
    Type : integer
    Required : False
    Default : 3
    Max Value : 6
    Python Name : atom_stereo_max
  • Max count undefined bond stereo Molecules with count undefined bond stereo greater than this value will be filtered out. If unspecified this cube will not filter out molecules with high count undefined bond stereo.
    Type : integer
    Required : False
    Default : 3
    Max Value : 6
    Python Name : bond_stereo_max
  • Max acceptor count Molecules with acceptor count greater than this value will be filtered out. If unspecified this cube will not filter out molecules with high acceptor count.
    Type : integer
    Required : False
    Python Name : acc_max
  • Min acceptor count Molecules with acceptor count less than this value will be filtered out. If unspecified this cube will not filter out molecules with low acceptor count.
    Type : integer
    Required : False
    Python Name : acc_min
  • Max donor count Molecules with donor count greater than this value will be filtered out. If unspecified this cube will not filter out molecules with high donor count.
    Type : integer
    Required : False
    Python Name : don_max
  • Min donor count Molecules with donor count less than this value will be filtered out. If unspecified this cube will not filter out molecules with low donor count.
    Type : integer
    Required : False
    Python Name : don_min
  • Max topological polar surface area Molecules with topological polar surface area greater than this value will be filtered out. If unspecified this cube will not filter out molecules with high topological polar surface area.
    Type : decimal
    Required : False
    Python Name : tpsa_max
  • Min topological polar surface area Molecules with topological polar surface area less than this value will be filtered out. If unspecified this cube will not filter out molecules with low topological polar surface area.
    Type : decimal
    Required : False
    Python Name : tpsa_min
  • Max xlogp Molecules with xlogp greater than this value will be filtered out. If unspecified this cube will not filter out molecules with high xlogp.
    Type : decimal
    Required : False
    Python Name : xlogp_max
  • Min xlogp Molecules with xlogp less than this value will be filtered out. If unspecified this cube will not filter out molecules with low xlogp.
    Type : decimal
    Required : False
    Python Name : xlogp_min
  • Max formal charge Molecules with formal charge greater than this value will be filtered out. If unspecified this cube will not filter out molecules with high formal charge.
    Type : integer
    Required : False
    Python Name : charge_max
  • Min formal charge Molecules with formal charge less than this value will be filtered out. If unspecified this cube will not filter out molecules with low formal charge.
    Type : integer
    Required : False
    Python Name : charge_min
  • Max aromatic ring count Molecules with aromatic ring count greater than this value will be filtered out. If unspecified this cube will not filter out molecules with high aromatic ring count.
    Type : integer
    Required : False
    Python Name : aro_max
  • Min aromatic ring count Molecules with aromatic ring count less than this value will be filtered out. If unspecified this cube will not filter out molecules with low aromatic ring count.
    Type : integer
    Required : False
    Python Name : aro_min

Filtering: SMARTS

  • Required SMARTS If one or more SMARTS patterns are supplied to this parameter then every molecule passed to this cube must match one of these smarts patterns of it will be filtered. This check is skipped if no SMARTS patterns are supplied to this cube.
    Type : string
    Required : False
    Accepts Multiple Values
    Python Name : required_smarts
  • Excluded SMARTS Every molecule that matched any of the SMARTS patterns supplied to this parameter will be filtered.
    Type : string
    Required : False
    Accepts Multiple Values
    Python Name : excluded_smarts

Filtering: OEFilter

Options for setting up filters based on OEFilter. If multiple filters are specified (either custom or builtin) they are treated independently. A molecule failing any individual filter will be discarded. If no filters are selected all molecules will pass this step.

Filtering: 2D Similarity to Known Molecules

These parameters allow molecules being prepared to be filtered by their 2D Tanimoto to one or more known molecules (commonly the known molecules would be actives from a project). To use this filter, a dataset of known molecules must be passed to the ‘Known Molecules’ parameter and either or both the ‘Filter Out Tanimotos Higher Than’ and ‘Filter Out Tanimotos Lower Than’ parameters must be specified (if these are not specified all molecules will pass this filter). If there are multiple known molecules, the molecule being prepared’s highest Tanimoto to any of the known molecules will be used to filter it. The ‘Options->Dry Run’ parameter can be set to ‘On’ to cheaply test how changing the parameters in this group affect the number of molecules being filtered out.

  • Known Molecules If this parameter is specified each molecule being prepared will be assigned a single 2D Tanimoto value equal highest 2D Tanimoto to any molecule in this dataset(s). The prepared molecule will then be filtered by comparing this value to the setting of the ‘Filter Out Tanimotos Higher Than’ and/or ‘Filter Out Tanimotos Lower Than’ parameters. WARNING: A significant filtering compute cost can be incurred, even in ‘Dry Run’ mode, if a large number of molecule are passed to this parameter (For a 1 Billion molecule collection and 10K known molecules the filtering portion of the cost is typically be about ~$20).
    Type : data_source
    Required : False
    Python Name : known_molecules
  • Filter Out Tanimotos Higher Than If specified molecules with a 2D Tanimoto higher that this value will be filtered out. Use this parameter if you want to remove molecules that are similar in 2D space to any of the known molecules.
    Type : decimal
    Required : False
    Python Name : filter_out_tanimotos_higher_than
  • Filter Out Tanimotos Lower Than If specified molecules with a 2D Tanimoto lower than this value will be filtered out. Use this parameter if you want to remove molecules are different in 2D space to any of the known molecules.
    Type : decimal
    Required : False
    Python Name : filter_out_tanimotos_lower_than
  • Known Molecules 2D Fingerprint Method The 2D Fingerprint method used to compute the Tanimotos for the known molecules filter.
    Type : string
    Required : False
    Default : Circular
    Choices :Circular, Path, Tree
    Python Name : known_molecules_2d_fingerprint_method
  • Use Virtual Screening 2D Fingerprint Variant If ‘On’ the virtual screening variant of the selected 2D fingerprint will be used for the knownmolecules filter. The virtual screening variant treats certain functional group identically regardless of there pKa state. E.g. protonated and unprotonated carboxylic acids.
    Type : boolean
    Required : False
    Default : True
    Choices :True, False
    Python Name : use_virtual_screening_2d_fingerprint_variant
  • Known Molecule Tanimoto Field If this parameter is specified the 2D Tanimoto used for known molecule filtering for each processed molecule will be placed in the output collections in a field of this name. If unspecified the Tanimoto value will not be stored in the output collections.
    Type : field_parameter::float
    Required : False
    Python Name : known_molecule_tanimoto_field
  • Maximum Number of Filtering Cubes Maximum number of cubes to use for filtering. Increasing this value can improved the runtime in cases where a large number of known molecules are supplied. This value can only be set above the default value of 500 if the number of molecules passed to ‘Filtering: 2D Similarity To Known Molecules -> Known Molecules’ time the setting of ‘Options->Keep This Fraction’ is greater than 10000.
    Type : integer
    Required : False
    Default : 500
    Range : 1 to 5000
    Python Name : maximum_number_of_filtering_cubes

Stereo Enumeration

  • Enantiomer Title Field This string field will be added to the created collection and contains the title of the input molecule appended by and index number to identify the enantiomer. If unspecified the field will not be created.
    Type : field_parameter::string
    Required : False
    Default : Enantiomer Title
    Python Name : enantiomer_title_field

Conformer Generation Settings

  • Use GPU Omega If this value is set to true this floe with use the GPU version of Omega. The GPU version of Omega (i.e., with this paramter set to True) is typically ~40% more cost efficient and than CPU version (i.e., with this parameter set to False). However, the AWS spot instances GPU Omega requires have been in very high demand on AWS and running this floe in a high demand period with this flag set to true can result in very long run times and less cost efficiency.
    Type : boolean
    Required : True
    Default : False
    Choices :True, False
    Python Name : omega_switch
  • Torsion Library Type Specify the type of torsion library. If ‘Custom’ is selected then itis required that a torsion library be sent to the init port.
    Type : string
    Required : False
    Default : Original
    Choices :Original, Guba, Custom
    Python Name : torsion_library_type
  • Torsion Library Optional torsion library for Omega. (see https://docs.eyesopen.com/toolkits/python/omegatk/OEConfGenClasses/OETorLib.html ). These torsion rules will be added to the selected torsion library. Select ‘Custom’ for ‘Torsion Library Type’ if you want to replace rather than add rules.
    Type : file_in
    Required : False
    Python Name : torlib_in
  • GPU Omega Input Shard Size This parameter controls how many molecule must be processed within the Orion 12h limit when Use GPU Omega is On. With lower values the conformer generation will not be as cost efficient. In general there is no need to adjust this parameter unless instructed to do so by OpenEye Support.
    Type : integer
    Required : True
    Default : 10000
    Min Value : 1000
    Python Name : gpu_omega_input_shard_size
  • CPU Omega Input Shard Size This parameter controls how many molecule must be processed within the Orion 12h limit when Use GPU Omega is Off. With lower values the conformer generation will not be as cost efficient. In general there is no need to adjust this parameter unless instructed to do so by OpenEye Support.
    Type : integer
    Required : True
    Default : 5000
    Min Value : 500
    Python Name : cpu_omega_input_shard_size

Format Specific Settings

These options only affect the reading of specific file types (csv, tsv and smiles).

  • Additional CSV Extension Additional file extensions that will be recognized as comma separated valuesfiles. Do not include the ‘.’ in the extensions. Gzip and Bzip2 variants will also automatically be supported.If a built in extension is specified this format specification willoverride it. The primary purpose of this parameter is to enable specifying formats of files within archives (e.g., tar or zip) which cannot easily be renamed.
    Type : string
    Required : False
    Accepts Multiple Values
    Python Name : additional_csv_extension
  • Additional TSV Extension Additional file extensions that will be recognized as tab separated valuesfiles. Do not include the ‘.’ in the extensions. Gzip and Bzip2 variants will also automatically be supported.If a built in extension is specified this format specification willoverride it. The primary purpose of this parameter is to enable specifying formats of files within archives (e.g., tar or zip) which cannot easily be renamed.
    Type : string
    Required : False
    Accepts Multiple Values
    Python Name : additional_tsv_extension
  • Additional SMILES Extension Additional file extensions that will be recognized as SMILESfiles. Do not include the ‘.’ in the extensions. Gzip and Bzip2 variants will also automatically be supported.If a built in extension is specified this format specification willoverride it. The primary purpose of this parameter is to enable specifying formats of files within archives (e.g., tar or zip) which cannot easily be renamed.
    Type : string
    Required : False
    Accepts Multiple Values
    Python Name : additional_smiles_extension
  • Mol Title Field When reading tab or comma separated files this parameter specifies the column that should be used as the molecules title. When reading tab or comma separated files either this parameter of must be set or ‘Options->Allow Empty Titles’ must be set to ‘On’ (not recommended the molecules will have no titles). This parameter is ignored if the file being read is not a tab or comma separated file.
    Type : string
    Required : False
    Python Name : sv_title_field
  • Molecule Field Name for TSV/CSV This parameter specifies the name field the molecule will be stored in. If no value is specified for this parameter the name will the the column header name from the original CSV/TSV file.
    Type : string
    Required : False
    Default : Molecule
    Python Name : molecule_field_name_for_tsvcsv

GPU Hardware

Parameters control the AWS instance type the GPU Omega cubes will use.

  • GPU Omega Instance Type This parameters control the AWS instance type the GPU Omega Cube will use. If specified the AWS instances specified must have at least 16 CPUs per GPU. There is in general no reason to adjust this unless instructed by OpenEye support.
    Type : string
    Required : False
    Python Name : gpu_omega_instance_type

Hardware

  • Disk Space Disk space in MB for the Cube reading the input file(s). The default value should be sufficient, but if you have a single huge file you may need to increase this value.
    Type : decimal
    Required : False
    Default : 102400
    Range : 128.0 to 8589934592
    Python Name : read_disk_space

Input Fields

These parameters specify the fields on the input datasets and/or collections these floes read data from. Note that parameters identifying a molecule field are special. If left empty the floe will read the molecule from the primary (i.e., default) molecule field on the input record. The primary molecule of a dataset can be identified in the UI by looking for star on its field badge.

  • Known Molecule Field Field on the known molecules dataset holding the known molecules. If unspecified the default Primary molecule on the record will be used.
    Type : field_parameter::mol
    Required : False
    Python Name : known_molecule_field
  • Input Dataset Molecule Field Field on the input dataset(s) containing the field with molecules to prepare. If unspecified the primary molecule field will be used.
    Type : field_parameter::mol
    Required : False
    Python Name : input_dataset_molecule_field