The Common Workflow Language team is pleased to announce a new stable release of the CWL standards, version 1.2.
Some highlights of this version:
Conditional execution of workflow steps
A workflow step can now have a “when” field with an expression that determines whether the workflow step is executed or not. Skipped workflow steps produce “null” outputs.
A workflow step input parameter may be connected to multiple sources. When those sources are conditional steps, some results may be “null”. The “pickValue” field on a workflow input parameter lets you specify how to select which value to use among multiple sources.
To facilitate the use of CWL to describe abstract workflows that are not necessarily ready to execute, there is a new “Operation” process type. A process can now declare an “intent” that identifies its conceptual purpose (for example, using an “Operation” identifier from the EDAM ontology http://edamontology.org/).
Absolute paths for container inputs
It is now possible to have an absolute path in the entryname field in InitialWorkDirRequirement when running in a mandatory container. Together with DockerRequirement.dockerOutputDirectory this makes it possible to control the locations of both input and output files when running in containers.
Clarified there should be no hard coded size limit for files that are created on the fly from expressions. This makes it more reliable to create configuration or input files on the fly based on CWL input parameters. Also clarified that non-File objects, arrays and numbers returned by parameter references or expressions in Dirent.entry are JSON serialized to produce file contents.
Escaping in string interpolation is now specified. The new standard is an improvement over the previous de-facto “cwltool” behavior; common cases such as pasting bash scripts into CWL no longer need extra backslash escapes.
Support for v1.2 is available immediately in the reference runner, cwltool 3.0.20200807132242. Support for CWL v1.2 on other CWL platforms is in the works, check with your vendor to find out their plans.
Authors and contributors to v1.2:
Stian Soiland-Reyes, University of Manchester; https://orcid.org/0000-0001-9842-9718
The CWL team would also like to thank the Chan-Zuckerberg Initiative Essential Open Source for Science program for supporting a portion of this work via their award to Curii Inc.
Thank you for your support,
The CWL leadership team.