Merging Conformers

This serial cube merges the input single-molecule conformer records from the child_intake port record into a single multi-conformer molecule record and emits it through the gathered_out port. The parent multi-conformer molecule records are expected through the parent_intake port.

This cube works in tandem with the Splitting Conformers cube to enable parallelization of calculations at the single-conformer level. To achieve single-conformer level parallelization, split a multi-conformer molecule record into multiple single-conformer molecule records using the Splitting Conformers cube, perform the single-conformer level calculation using some parallel cube, and later merge the single-conformer records back into a multi-conformer molecule record using this cube. This cube ensures that fields added to the single-conformer records end up on the conformer record of the merged multi-conformer record.

The Splitting Conformers cube adds a unique identification string field to both the parent molecule record and the single-conformer molecule record. The identifier is used by the this cube to recombine the conformers with their parent molecule.


Calculation Parameters

  • CPUs (integer) : The number of CPUs to run this cube with
    Default: 1 Min: 1 Max: 128
  • Cube Metrics (string) : Set of metrics to be collected

    Choices: cpu, disk, memory, network
  • Temporary Disk Space (MiB) (decimal) : The minimum amount of disk space in MiB (1048576 B) this cube requires. Due to overhead, request a couple hundred MiB more than required.
    Default: 5120.0 Min: 128.0 Max: 8589934592
  • Emit Gather Failures (boolean) : Emit records that failed the gather function out the failure port
    Default: True
  • Still Emit if Missing (boolean) : Still emit merged records at end even if fewer child records than expected were received
    Default: True
  • Emit Merged Record Immediately (boolean) : Emit merged records as soon as the expected number of child records has been received
    Default: True
  • GPUs (integer) : The number of GPUs to run this cube with
    Default: 0 Max: 16
  • Instance Tags (string) : Only run on machines with matching tags (comma separated)
    Default: “”
  • Instance Type (string) : The type of instance that this cube needs to be run on
  • Memory (MiB) (decimal) : The minimum amount of memory in MiBs (1048576 B) this cube requires. Due to overhead, request a couple hundred MiB more than required.
    Default: 1800 Min: 256.0 Max: 8589934592
  • Metric Period (decimal) : How often to sample metrics, in seconds
    Default: 60 Min: 1 Max: 300
  • Spot policy (string) : Control cube placement on spot market instances
    Default: Prohibited
    Choices: Allowed, Preferred, NotPreferred, Prohibited, Required

Field parameters

  • Number of Generated Child Records (Field Type: Int) :
    Default: num-generated-records
  • uuid field (Field Type: String) : Field containing unique identifiers for molecules and conformers
    Default: uuid

Hardware Parameters

Machine hardware requirements

  • Memory (MiB) (decimal) : The minimum amount of memory in MiBs (1048576 B) this cube requires. Due to overhead, request a couple hundred MiB more than required.
    Default: 1800 Min: 256.0 Max: 8589934592
  • Temporary Disk Space (MiB) (decimal) : The minimum amount of disk space in MiB (1048576 B) this cube requires. Due to overhead, request a couple hundred MiB more than required.
    Default: 5120.0 Min: 128.0 Max: 8589934592
  • GPUs (integer) : The number of GPUs to run this cube with
    Default: 0 Max: 16
  • CPUs (integer) : The number of CPUs to run this cube with
    Default: 1 Min: 1 Max: 128
  • Instance Type (string) : The type of instance that this cube needs to be run on
  • Spot policy (string) : Control cube placement on spot market instances
    Default: Prohibited
    Choices: Allowed, Preferred, NotPreferred, Prohibited, Required
  • Instance Tags (string) : Only run on machines with matching tags (comma separated)
    Default: “”

Metrics Parameters

Cube Metric Parameters

  • Metric Period (decimal) : How often to sample metrics, in seconds
    Default: 60 Min: 1 Max: 300
  • Cube Metrics (string) : Set of metrics to be collected

    Choices: cpu, disk, memory, network

Tip

filename: snowball/oechem/conf_split_merge.py