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.
Parameter Details¶
Calculation Parameters¶
CPUs (integer) : The number of CPUs to run this cube withDefault: 1 Min: 1 Max: 128
Cube Metrics (string) : Set of metrics to be collectedChoices: 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 portDefault: True
Still Emit if Missing (boolean) : Still emit merged records at end even if fewer child records than expected were receivedDefault: True
Emit Merged Record Immediately (boolean) : Emit merged records as soon as the expected number of child records has been receivedDefault: True
GPUs (integer) : The number of GPUs to run this cube withDefault: 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 secondsDefault: 60 Min: 1 Max: 300
Spot policy (string) : Control cube placement on spot market instancesDefault: ProhibitedChoices: 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 conformersDefault: 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 withDefault: 0 Max: 16
CPUs (integer) : The number of CPUs to run this cube withDefault: 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 instancesDefault: ProhibitedChoices: 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 secondsDefault: 60 Min: 1 Max: 300
Cube Metrics (string) : Set of metrics to be collectedChoices: cpu, disk, memory, network
Tip
filename: snowball/oechem/conf_split_merge.py