Skip to content

Introduction to CWL

Anticipated workshop duration when delivered to a group of participants is 2.5 hours.

For queries relating to this workshop, contact Melbourne Bioinformatics (

Find out when we are next running this training as an in-person workshop, by visiting the Melbourne Bioinformaitcs Eventbrite page.

Written and maintained by Grace Hall - Melbourne Bioinformatics (formerly VLSCI)



  • Genomics
  • Transcriptomics
  • Proteomics
  • Metabolomics
  • Statistics and visualisation
  • Structural Modelling
  • Basic skills

Skill level

  • Beginner
  • Intermediate
  • Advanced

This workshop is designed for participants with some programming and/or command-line knowledge.


Welcome, fellow Research Software Engineer (RSE)!

Workflows have become a core aspect of research over time. Most researchers will run a repeatable analysis requiring multiple software tools during their career. For this reason, skills involving developing, running and maintaining workflows are continuing to be valuable in our industry.

A number of workflow systems are currently popular, including: - Galaxy - Common Workflow Language (CWL) - Workflow Description Language (WDL) - Nextflow

While Galaxy is the easiest system to get started with, it is not suitable for all workflows and all data. In these cases, researchers may need to use a dedicated workflow language.

This workshop demonstrates how to write workflows using CWL. An introduction to workflow theory, implementation using the CWL language, and execution on a compute environment will be demonstrated. By the end of the session, participants will be able to write and execute basic workflows in CWL. Skills learned will be easily transferable to other workflow languages (eg Nextflow) participants may want to learn in the future.


At the end of the workshop, you will be able to:

  • Write basic workflows in CWL
  • Run CWL workflows using an execution engine
  • Have the skills to continue your own learning


This workshop is aimed at bioinformaticians who wish to learn CWL.

The following is highly recommended:

  • Basic familiarity with a programming language (ie Python, R, Javascript)
  • Command line familiarity (can move around folders, run bioinformatics tools)
  • Basic familiarity with docker / containers