Introduction
- CWL is a standard for describing workflows based on command-line tools.
- CWL workflows are written in a subset of YAML.
- A CWL workflow is more portable than a shell script.
- CWL supports software containers, supporting reproducibility on different machines.
CWL and Shell Tools
- A tool description describes the interface to a command line tool.
- A workflow describes which command line tools to use in one or more steps.
- A tool descriptor is defined using the
ComandLineTool
class. - How can we use a tool descriptor in a single step workflow?
Developing Multi-Step Workflows
- A multi-step workflow has multiple entries under the
steps
section - Workflow development can be an iterative process
- A CWL workflow can be represented as a dependency graph, either to explain your workflow or as a planning tool
Resources for Reusing Tools and Scripts
- bio-cwl-tools is a library of CWL documents for biology/life-sciences related tools