What can execute CWL descriptions? §
CWL provides a
solution to describing portable, re-usable workflows while also
being workflow-engine and vendor-neutral.
CWL has gained much traction and is currently widely
supported in practice. In addition to the Free and Open Source implementations, certain platforms/engines have in-development or partial support for CWL as well.
Some workflow users require the maintenance and risk-mitigation
guarantees offered by commercial operations. There are multiple
commercially supported systems that support CWL for executing
workflows and they are available from vendors such as Curii
(Arvados), DNAnexus, IBM (IBM® Spectrum LSF), Illumina
(Illumina Connected Analytics), and Seven Bridges Genomics.
Wide adoption benefits from our principles: CWL offers
conformance tests, but the CWL community does not yet test or certify
CWL implementations, or specific technology stacks. Instead,
platform/service providers self-certify support for CWL, based on a
particular technology configuration they deploy and maintain.
In Production §
Software |
Description |
Self-Reported Compliance |
Platform support |
cwltool |
Reference implementation of CWL |
CWL v1.0 - v1.2 |
Linux, OS X, Windows, local execution only |
Arvados |
Distributed computing platform for data analysis on massive data sets. Using CWL on Arvados |
CWL v1.0 - v1.2 |
AWS, Azure, Slurm, LSF |
Toil |
Toil is a workflow engine entirely written in Python. |
CWL v1.0 - v1.2 |
AWS, GCP, Grid Engine, HTCondor, LSF, Slurm, PBS/Torque |
StreamFlow |
Workflow Management System for hybrid HPC-Cloud infrastructures |
CWL v1.0 - v1.2 (and nearly all optional features) |
Kubernetes, HPC with Singularity (PBS, Slurm), Occam, multi-node SSH, local-only (Docker, Singularity) |
Calrissian |
CWL Engine built for Kubernetes |
CWL v1.0 - v1.2 (and much of the optional features) |
Kubernetes |
CWL-Airflow |
Package to run CWL workflows in Apache-Airflow (supported by BioWardrobe Team, CCHMC) |
CWL v1.0 - v1.1 |
Linux, OS X |
Software |
Description |
Self-Reported Compliance |
Platform support |
shaft |
A workflow engine for CWL CommandLineTool |
CWL v1.0 |
local |
Partial implementations §
Software |
Description |
Self-Reported Compliance |
Platform support |
ep3 |
Extremely Pluggable Pipeline Processor |
CWL v1.0 |
local |
REANA |
RE usable ANAlyses |
CWL v1.0 |
Kubernetes |
Xenon |
Run CWL workflows using Xenon |
CWL v1.0 |
any Xenon backend: local, ssh, SLURM, Torque, Grid Engine |
Galaxy |
Web-based platform for data intensive biomedical research. |
|
– |
cwl-tes |
CWL engine backended by the GA4GH Task Execution API |
|
Alicloud, AWS, Google, HPC, local, Spark, TES |
Pegasus |
Pegasus Workflow Management System |
Partial support for importing CWL workflows is under development |
|
Weaver |
Workflow Execution Management Service (EMS) and Application, Deployment and Execution Service (ADES) that can interact and chain OGC API - Processes, Web Processing Service (WPS) and Earth System Grid Federation (ESGF) Compute API processes using CWL. |
CWL v1.0 - v1.2 Partial support according to possible conversions between processes (see Application Package for details). |
Docker, CUDA GPU, OGC API - Procsses, WPS, ESGF-CWT, remote Web API, local CLI |
See also: an ongoing analysis of CWL Implementations by the BioExcel Center of Excellence.