This lesson is in the early stages of development (Alpha version)

Introduction to Workflows with Common Workflow Language: Glossary

Key Points

  • 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.

  • FIXME: 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

Debugging Workflows
  • Run the workflow with the --validate option to check for errors

  • The --debug option will output more information

  • ‘Wiring’ errors won’t necessarily yield an error message

More information