When performing reproducibility/variability experiments, it is important to isolate sources of variability. One such source is random state.
Random seed can be set in pipeline config
# Stop worklow execution on first crash?
# Random seed used to fix the state of execution.
# If unset, each process uses its own default.
# If set, a `random.log` file will be generated logging the random seed and each node to which that seed was applied.
# If set to a positive integer (up to 2147483647), that integer will be used to seed each process that accepts a random seed.
# If set to 'random', a random positive integer (up to 2147483647) will be generated and that seed will be used to seed each process that accepts a random seed.
or on the command line with
Valid options are positive integers up to 2,147,483,647 or the word ‘random’ (which will set an integer in that range). If not specified, a seed will not be set, and each relevant process will run with an undocumented random seed.
When a seed is set, a
random.log file, including the constant seed and each node the seed was applied to, will be generated in the logging directory.
The following processes currently support this feature: