tetron
March 10, 2020, 5:53pm
1
Hello everyone,
The draft for the next release of the CWL specification is ready for
community review. This version adds conditional workflow steps and
abstract operations. The draft specification can be viewed here:
https://www.commonwl.org/v1.2.0-dev1/
The changelog for this version can be found here:
https://www.commonwl.org/v1.2.0-dev1/Workflow.html#Changelog
Those wishing to learn more about the conditionals feature can find
examples in the conformance tests:
As well as reading the design document:
# Conditionals (2019)
## Abstract
This is a documentation of the design and design decisions for conditionals as outlined in
[issue 854](https://github.com/common-workflow-language/common-workflow-language/issues/854)
![basic patterns](conditionals/conditional-patterns-1.png)
![basic scatter](conditionals/conditional-patterns-2.png)
![dual scatter nested](conditionals/conditional-patterns-3.png)
![dual scatter flattened](conditionals/conditional-patterns-4.png)
The design adds a new field `when` to a `WorkflowStep`. This field is an expression that
evaluates to `True` or `False`. The executor runs the step if the value is `True`,
skips it if `False`. A skipped step produces `null` values on all its outputs.
The design also adds a new `Sink` field `pickValue` which operates after `linkMerge` and serves to
filter out null values. While this can be used independently of the conditionals feature the
`first_non_null` and `only_non_null` operators are intended for the specific case
where a list of inputs - some coming from conditional steps - converge on a scalar input.
This file has been truncated. show original
Thanks,
Peter
1 Like
stain
April 20, 2020, 4:04pm
2
Draft 1.2.0-dev2 replaces 1.2.0-dev1, links are now:
1 Like