For Contributors
Use the Episodes menu above to browse through the pages for individual blocks of learning objectives. These pages can be used for designing challenges/exercises for the tutorial, as described in detail on this Issue.
You may find it helpful during lesson/exercise design to refer to these draft concept maps for the tutorial material
Prerequisites
This tutorial guides you through the the fundamentals of designing and building an analysis workflow. It assumes no previous knowledge or experience of workflows or Common Workflow Language (CWL), but does assume some experience with the Unix command line.
Before following this tutorial, you should be comfortable working in a Unix command line environment and familiar with fundamental commands (
cd
,mv
,mkdir
, etc), piping and redirection, and simple Bash scripting, such as might be gained from following the Software Carpentry lesson, The Unix Shell. You might also have some experience with running tasks on a remote machine (byssh
connection) and in a cluster (high performance computing) environment.CWL is based upon YAML. At any time, if you find yourself being confused by the YAML syntax, considering reviewing this guide on the subset of YAML used in CWL.
If you have previously written a workflow description, in CWL or another language, you may want to look instead at the User Guide.
Target Audience
This tutorial is aimed at researchers and research software engineers who would like to begin automating their analyses in workflows. If you’re unsure whether this tutorial is a good fit for you check the prerequisites listed above. You may also find our learner profiles helpful. These are also a useful resource during the lesson design process.