Common Workflow Language
The Common Workflow Language (CWL) is an informal, multi-vendor working group consisting of various organizations and individuals that have an interest in portability of data analysis workflows. Our goal is to create specifications that enable data scientists to describe analysis tools and workflows that are powerful, easy to use, portable, and support reproducibility.
CWL builds on technologies such as JSON-LD and Avro for data modeling and Docker for portable runtime environments.
CWL is designed to express workflows for data-intensive science, such as Bioinformatics, Medical Imaging, Chemistry, Physics, and Astronomy.
CWL User Guide
User guide for the current stable specification (v1.0), provides a gentle introduction to writing CWL command line tool and workflow descriptions.
CWL Specification
The current stable specification is v1.0:
Older drafts: draft-1, draft-2, draft-3
Citation
Please cite https://dx.doi.org/10.6084/m9.figshare.3115156.v1
Implementations
Some of the software supporting running Common Workflow Language tools or workflows:
- cwltool (reference implementation), cwltool wiki page
- Rabix, Rabix wiki page
- Arvados, Arvados wiki page
- Galaxy, Galaxy wiki page
- Parallel Recipes, Parallel Recipes wiki page
- Toil, Toil wiki page
- CancerCollaboratory, CancerCollaboratory wiki page
- Airflow (SciDAP), Airflow wiki page
- cwl2script, cwl2script page
- Apache Taverna, Apache Taverna wiki page
We continuously run the CWL conformance tests on several implementations:
Examples
Github repository of example tools and workflows.
Development and testing
There is a Jenkins server maintained by Curoverse that runs tests for the reference implementation, builds and uploads packages, and builds and uploads Docker images:
https://ci.curoverse.com/job/common-workflow-language/
Community and Contributing
If you are interested in learning more or contributing ideas or code, come chat with us on Gitter, check out #CommonWL on Twitter, join the mailing list common-workflow-language on Google Groups or fork the repository and send a pull request!
Your CWL Community Engineer, Michael R. Crusoe, publishes a blog about his work with weekly updates at http://mrc.commonwl.org.
Code of Conduct
The CWL Project is dedicated to providing a harassment-free experience for everyone, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, age, race, or religion. We do not tolerate harassment of participants in any form.
This code of conduct applies to all CWL Project spaces, including the Google Group, the Gitter chat room, the Google Hangouts chats, both online and off. Anyone who violates this code of conduct may be sanctioned or expelled from these spaces at the discretion of the leadership team.
For more details, see our Code of Conduct
Participating Organizations
- Curoverse
- Seven Bridges Genomics
- Galaxy Project
- Apache Taverna
- Institut Pasteur
- Wellcome Trust Sanger Institute
- University of California Santa Cruz
- Harvard Chan School of Public Health
- Cincinnati Children's Hospital Medical Center
- Broad Institute
- BioDatomics
- Wolfson Wohl Cancer Research Centre
Individual Contributors
(Alphabetical)
- Peter Amstutz peter.amstutz@curoverse.com
- Robin Andeer robin.andeer@gmail.com
- Brad Chapman bchapman@hsph.harvard.edu
- John Chilton jmchilton@gmail.com
- Michael R. Crusoe michael.crusoe@gmail.com
- Roman Valls Guimerà brainstorm@nopcode.org
- Guillermo Carrasco Hernandez guille.ch.88@gmail.com
- Sinisa Ivkovic sinisa.ivkovic@sbgenomics.com
- Andrey Kartashov Andrey.Kartashov@cchmc.org
- John Kern kern3020@gmail.com
- Dan Leehr dan.leehr@duke.edu
- Hervé Ménager herve.menager@gmail.com
- Maxim Mikheev mikhmv@biodatomics.com
- Tim Pierce twp@unchi.org
- Josh Randall joshua.randall@sanger.ac.uk
- Stian Soiland-Reyes soiland-reyes@cs.manchester.ac.uk
- Luka Stojanovic luka.stojanovic@sbgenomics.com
- Nebojša Tijanić nebojsa.tijanic@sbgenomics.com