Skip to main content
. 2019 Jul 18;8(7):giz084. doi: 10.1093/gigascience/giz084

Table 2:

Comparison of the open source workflow managers and engines with existing or planned support for CWL

Feature Airflow and CWL-Airflow Rabix Toil Cromwell REANA Galaxy Arvados CWLEXEC
Software installation complexity Single Python package JAR Single Python package JAR Group of Python packages Group of Python packages Multiple components for minimum 7 nodes system JAR
Electron application node.js application
License type Apache License v2.0 Apache License v2.0 Apache License v2.0 BSD-3-Clause MIT License Academic Free License v3.0 Apache License v2.0, AGPL v3.0, CC-BY-SA v3.0 Apache License v2.0
Workflow description language CWL v1.0 CWL v1.0 CWL v1.0 CWL v1.0 CWL v1.0 XML tool file CWL v1.0 CWL v1.0
Python code WDL v1.0 WDL v1.0 Serial JSON workflow file
Python code Yadage
Docker containerization + + + + + + + +
Singularity containerization + + + +
Cloud/cluster processing + + + + + + +
Workflow execution load balancing1 + + + + + + +
Parallel workflow step execution + + + + + + + +
GUI REST API CLI GUI REST API CLI GUI REST API CLI GUI REST API CLI GUI REST API CLI GUI REST API CLI GUI REST API CLI GUI REST API CLI
Add new workflow2 + + + + + + + + + + + + + +
Set workflow inputs3 + + + + + + + + + + + + + + +
Start/stop workflow execution + + + + + + + + + + + + + + + +
Manage workflow execution process4 + + + + + + + + + + +
Get execution results of the specific workflow5 + + + + + + + + + + +
View workflow execution logs + + + + + + + + + + + + + + +
View workflow execution history and statistics + + + + + + + + + + + + +

+, Present; –, absent; ∅, not applicable; AGPL: Affero General Public License; BSD: Berkely Source Distribution; CC-BY-SA: Creative Commons Attribution-Share-Alike; CLI, command line interface; GUI, graphical user interface; MIT: Massachusetts Institute of Technology; REST API, representational state transfer application program interface; WDL, workflow description language.

1Assign workflow steps to the different pools and queues; use other resource utilization algorithms provided by the computing environment.

2Load the workflow from the file; create the workflow by combining the steps in GUI.

3Set the path to the job file; set input values through the GUI or CLI.

4Pause/resume workflow execution process; manually restart workflow steps.

5Get output file locations by the workflow ID, step ID, execution date, or other identifiers.