Common Workflow Language User Guide#
This guide will introduce you to writing workflows using the
Common Workflow Language (CWL)
open standards. This guide describes the latest specification v1.2
.
Contributions and Feedback are Welcome!
If you find that something is missing from this guide, or if you would like to provide other feedback, file an Issue on the project repository for this guide. You can also suggest changes directly in a Pull Request by clicking the “Edit this page” button at the right sidebar of each page.
Table of Contents#
- 1. Introduction
- 2. Topics
- 2.1. YAML Guide
- 2.2. Command Line Tool
- 2.3. Expressions
- 2.4. Inputs
- 2.5. Additional Arguments and Parameters
- 2.6. Parameter References
- 2.7. Outputs
- 2.8. Custom Types
- 2.9. Expression Tool
- 2.10. Workflows
- 2.11. Operations
- 2.12. Environment Variables
- 2.13. Using containers
- 2.14. Creating files at runtime
- 2.15. Staging input files
- 2.16. Best practices
- 2.17. File formats
- 2.18. Metadata and authorship
- 2.19. Specifying software requirements
- 3. Tutorials
- 4. FAQ
- 4.1. Non “
File
” types usingevalFrom
- 4.2. Rename an input file
- 4.3. Rename an output file
- 4.4. Setting
self
-based input bindings for optional inputs - 4.5. Model a “one-or-the-other” parameter
- 4.6. Connect a solo value to an input that expects an array of that type
- 4.7. Optional Inputs 💯
- 4.8. Enum Inputs ⚜️
- 4.9. Record Inputs 📀
- 4.10. Setting Mutually Exclusive Parameters
- 4.11. Setting Booleans
- 4.12. Concating Strings in Inputs
- 4.13.
cwltool
errors due to filenames with space characters inside - 4.14. CWL Parameter Reference error due to hyphen in input identifier
- 4.15. Use CWL and cwltool with Singularity
- 4.16. Debug JavaScript expressions
- 4.1. Non “
- 5. Licenses