Concise Common Workflow Language (ccwl)

Presenter: Arun Isaac

Schedule: Session 3 (Amsterdam / Online hybrid)
Wednesday 15 May
APAC-EMEA Friendly time

Summary: The Common Workflow Language (CWL) is a standardized workflow language that is portable to a wide variety of software and hardware environments. Yet, CWL workflow specifications are verbose, span multiple files, and are challenging to hold within one’s working memory.

A workflow language is essentially a means to string together commands in a specific order, and should aspire to the simplicity of a shell script or a Makefile. Higher level workflow languages that compile to CWL can enhance human readability/writability while keeping the hard-won gains of CWL and its standards. Thus CWL would become a kind of assembly language that many different workflow languages compile
to.

In this talk, I will present the Concise Common Workflow Language (ccwl). ccwl is a workflow language that compiles to CWL. It strives for minimalism, concision of syntax and high-quality compiler error messages. It is currently being used in real-world pangenomics workflows on HPC using toil. I will demonstrate the expressive power of ccwl with illustrative examples.

https://ccwl.systemreboot.net/
https://github.com/arunisaac/ccwl

Please leave your questions for the presenter below!

As an alternative to YouTube, this presentations is also available on ConfTube

This is interesting. Back in the day I would write pipelines in shell scripts. I always wondered about converting/transcompiling a shell script into a cwl workflow. I wonder if this can be adopted to support this instead of introducing another language…

e.g.

#!/bin/bash

# This is step 1
# inputs are...
bwa ...
# outputs are...

# This is step 2
# inputs are ...
samtools sort ...
# outputs are ....

Here, each step in the shell script would be a step of the workflow.