From 0900e1cfb8f3588f3277ee806b026d7cf9362577 Mon Sep 17 00:00:00 2001 From: stamper Date: Sat, 27 Jul 2019 14:20:46 +0200 Subject: [PATCH 1/5] improve question wording --- _episodes/02-1st-example.md | 2 +- _episodes/03-input.md | 4 ++-- _episodes/04-output.md | 3 ++- _episodes/05-stdout.md | 2 +- _episodes/06-params.md | 2 +- _episodes/08-arguments.md | 2 +- _episodes/09-array-inputs.md | 4 ++-- _episodes/10-array-outputs.md | 3 ++- _episodes/11-records.md | 2 +- _episodes/14-runtime.md | 6 +++--- _episodes/15-staging.md | 2 +- _episodes/16-file-formats.md | 4 ++-- _episodes/17-metadata.md | 4 ++-- 13 files changed, 21 insertions(+), 19 deletions(-) diff --git a/_episodes/02-1st-example.md b/_episodes/02-1st-example.md index c41c3b07..52ebe454 100644 --- a/_episodes/02-1st-example.md +++ b/_episodes/02-1st-example.md @@ -3,7 +3,7 @@ title: "First Example" teaching: 5 exercises: 0 questions: -- "How do I wrap a simple command line tool?" +- "How do I write a CWL wrapper for a simple command line tool?" objectives: - "Learn the basic structure of a CWL description." keypoints: diff --git a/_episodes/03-input.md b/_episodes/03-input.md index 01273ad0..4e73bda1 100644 --- a/_episodes/03-input.md +++ b/_episodes/03-input.md @@ -3,8 +3,8 @@ title: "Essential Input Parameters" teaching: 10 exercises: 0 questions: -- "How do I describe inputs to a command?" -- "How do I specify the order in which inputs appear in a command?" +- "How can I pass arguments to a command?" +- "How is the order of parameters defined for a command?" objectives: - "Learn how to describe and handle input parameters and files to a tool." keypoints: diff --git a/_episodes/04-output.md b/_episodes/04-output.md index ddad73c7..3d74ffe2 100644 --- a/_episodes/04-output.md +++ b/_episodes/04-output.md @@ -3,7 +3,8 @@ title: "Returning Output Files" teaching: 10 exercises: 0 questions: -- "How do I describe outputs from a command?" +- "Where does the output of a command go?" +- "How can I save the output of a command?" objectives: - "Learn how to describe and handle outputs from a tool." keypoints: diff --git a/_episodes/05-stdout.md b/_episodes/05-stdout.md index e5a4b4f1..d370b70c 100644 --- a/_episodes/05-stdout.md +++ b/_episodes/05-stdout.md @@ -3,7 +3,7 @@ title: "Capturing Standard Output" teaching: 10 exercises: 0 questions: -- "How do I capture a tool's standard output stream?" +- "How do I capture the standard output stream of a command?" objectives: - "Learn how to capture streamed output from a tool." keypoints: diff --git a/_episodes/06-params.md b/_episodes/06-params.md index 20b00f09..48460f88 100644 --- a/_episodes/06-params.md +++ b/_episodes/06-params.md @@ -3,7 +3,7 @@ title: "Parameter References" teaching: 10 exercises: 0 questions: -- "How do I reference input parameters in other fields?" +- "How can I re-use parameter values in another location?" objectives: - "Learn how to make parameter references in descriptions." keypoints: diff --git a/_episodes/08-arguments.md b/_episodes/08-arguments.md index 3f263db8..66a39a20 100644 --- a/_episodes/08-arguments.md +++ b/_episodes/08-arguments.md @@ -4,7 +4,7 @@ teaching: 10 exercises: 0 questions: - "How do I specify arguments that don't require input values?" -- "How do I refer to runtime parameters?" +- "How do I refer to parameters that are only defined at runtime?" objectives: - "Learn how to add additional options to a command." - "Learn how to reference runtime parameters." diff --git a/_episodes/09-array-inputs.md b/_episodes/09-array-inputs.md index 50c86e57..46a1241e 100644 --- a/_episodes/09-array-inputs.md +++ b/_episodes/09-array-inputs.md @@ -3,7 +3,7 @@ title: "Array Inputs" teaching: 10 exercises: 0 questions: -- "How do I specify input parameters in arrays?" +- "How do I provide multiple values for a single argument?" objectives: - "Learn how to provide parameter arrays as input to a tool." - "Learn how to control the organization of array parameters on the command @@ -75,7 +75,7 @@ separator string. Note that the arrays of inputs are specified inside square brackets `[]` in `array-inputs-job.yml`. Arrays can also be expressed over multiple lines, where array values that are not defined with an associated key is marked by a leading -`-`, as demonstrated in the next lesson. +`-`, as demonstrated in the next lesson. You can specify arrays of arrays, arrays of records, and other complex types. {% include links.md %} diff --git a/_episodes/10-array-outputs.md b/_episodes/10-array-outputs.md index 6858bb60..093ef4fe 100644 --- a/_episodes/10-array-outputs.md +++ b/_episodes/10-array-outputs.md @@ -3,7 +3,8 @@ title: "Array Outputs" teaching: 10 exercises: 0 questions: -- "How do I specify tool outputs as arrays?" +- "What do I do when a tool produces output in more than one file?" +- "How do I specify which output files should be kept?" objectives: - "Learn how to create arrays of output files." keypoints: diff --git a/_episodes/11-records.md b/_episodes/11-records.md index 49f844e5..ccd6ba49 100644 --- a/_episodes/11-records.md +++ b/_episodes/11-records.md @@ -3,7 +3,7 @@ title: "Advanced Inputs" teaching: 10 exercises: 0 questions: -- "How do I describe dependent and exclusive parameters?" +- "How do I describe which parameters must and must not be used in combination?" objectives: - "Learn how to use records to describe the relationships between inputs." keypoints: diff --git a/_episodes/14-runtime.md b/_episodes/14-runtime.md index d39bf099..af50e235 100644 --- a/_episodes/14-runtime.md +++ b/_episodes/14-runtime.md @@ -5,7 +5,7 @@ exercises: 0 questions: - "How do I create required input files from input parameters at runtime?" - "How do I invoke a script rather than just a simple command line?" -- "How do I make inputs available to my script?" +- "How do I pass arguments to my script?" objectives: - "Learn how to create files on the fly during runtime." - "Learn how to use expressions in bash scripts." @@ -15,7 +15,7 @@ created during tool runtime." --- Sometimes you need to create a file on the fly from input parameters, such as tools which expect to read their input configuration from a file -rather than the command line parameters, or need a small wrapper shell script. +rather than the command line parameters, or need a small wrapper shell script. To generate such files we can use the `InitialWorkDirRequirement`. @@ -26,7 +26,7 @@ To generate such files we can use the `InitialWorkDirRequirement`. ~~~ {: .source} -Any [expressions](../13-expressions/index.html) like `$(inputs.message)` are expanded by the CWL engine before creating the file; here inserting the value at the input `message`. +Any [expressions](../13-expressions/index.html) like `$(inputs.message)` are expanded by the CWL engine before creating the file; here inserting the value at the input `message`. > **Tip:** The _CWL expressions_ are independent of any _shell variables_ used later during command line tool invocation. That means that any genuine need for the character `$` should be **escaped** with `\`, for instance `\${PREFIX}` above is expanded to `${PREFIX}` in the generated file to be evaluated by the shell script instead of the CWL engine. diff --git a/_episodes/15-staging.md b/_episodes/15-staging.md index 6afaf3d8..5a860cbf 100644 --- a/_episodes/15-staging.md +++ b/_episodes/15-staging.md @@ -3,7 +3,7 @@ title: "Staging Input Files" teaching: 10 exercises: 0 questions: -- "How do I stage input files in the working directory?" +- "What can I do if a tool needs to be able to write output to the location where its input files are stored?" objectives: - "Learn how to handle situations where a tool expects to write output files to the same directory as its input files." diff --git a/_episodes/16-file-formats.md b/_episodes/16-file-formats.md index fec91ea1..9b684149 100644 --- a/_episodes/16-file-formats.md +++ b/_episodes/16-file-formats.md @@ -3,7 +3,7 @@ title: "File Formats" teaching: 10 exercises: 0 questions: -- "How can I allow type-checking of input and output files?" +- "How do I check that input and output files are formatted correctly?" objectives: - "Learn how to unambiguously specify the format of `File` objects." keypoints: @@ -23,7 +23,7 @@ others. You can browse existing file format listings for IANA [here][IANA] and for EDAM [here][EDAM]. In the next tutorial, we explain the `$namespace` and `$schema` section of the -document in greater detail, so don't worry about these for now. +document in greater detail, so don't worry about these for now. Note that for added value `cwltool` can do some basic reasoning based on file formats and warn you if there seem to be some obvious mismatches. diff --git a/_episodes/17-metadata.md b/_episodes/17-metadata.md index c5533020..468a069b 100644 --- a/_episodes/17-metadata.md +++ b/_episodes/17-metadata.md @@ -3,7 +3,7 @@ title: "Metadata and Authorship" teaching: 10 exercises: 0 questions: -- "How do I provide information for people to cite my tool descriptions?" +- "How do I make it easier for people to cite my tool descriptions?" objectives: - "Learn how to add authorship information and other metadata to a CWL description." @@ -16,7 +16,7 @@ Implementation extensions not required for correct execution (for example, fields related to GUI presentation) and metadata about the tool or workflow itself (for example, authorship for use in citations) may be provided as additional fields on any object. Such extensions fields (e.g. `format: edam:format_2572`) -can use a namespace prefix listed in the `$namespaces`section of the document +can use a namespace prefix listed in the `$namespaces`section of the document (e.g edam: http://edamontology.org/) as described in the [Schema Salad specification][schema-salad]. Once you add the namespace prefix, you can access it anywhere in the document as shown below. Otherwise one must use full URLs: `format: http://edamontology.org/format_2572`. From 00556621a036945950a665dc3103a6544aaf6d7c Mon Sep 17 00:00:00 2001 From: Toby Hodges Date: Sat, 27 Jul 2019 14:54:38 +0200 Subject: [PATCH 2/5] Update _episodes/02-1st-example.md Co-Authored-By: Michael R. Crusoe <1330696+mr-c@users.noreply.github.com> --- _episodes/02-1st-example.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_episodes/02-1st-example.md b/_episodes/02-1st-example.md index 52ebe454..8e7ee68f 100644 --- a/_episodes/02-1st-example.md +++ b/_episodes/02-1st-example.md @@ -3,7 +3,7 @@ title: "First Example" teaching: 5 exercises: 0 questions: -- "How do I write a CWL wrapper for a simple command line tool?" +- "How do I write a CWL description of a simple command line tool?" objectives: - "Learn the basic structure of a CWL description." keypoints: From 553b7a3e38cff26ce30069b5c2bcb3b9ddedcfcc Mon Sep 17 00:00:00 2001 From: Toby Hodges Date: Sat, 27 Jul 2019 14:55:45 +0200 Subject: [PATCH 3/5] Update _episodes/14-runtime.md Co-Authored-By: Michael R. Crusoe <1330696+mr-c@users.noreply.github.com> --- _episodes/14-runtime.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_episodes/14-runtime.md b/_episodes/14-runtime.md index af50e235..d5a0fc49 100644 --- a/_episodes/14-runtime.md +++ b/_episodes/14-runtime.md @@ -5,7 +5,7 @@ exercises: 0 questions: - "How do I create required input files from input parameters at runtime?" - "How do I invoke a script rather than just a simple command line?" -- "How do I pass arguments to my script?" +- "Besides `inputBinding`, how else can I pass arguments to the tool?" objectives: - "Learn how to create files on the fly during runtime." - "Learn how to use expressions in bash scripts." From 5aaa8a2edd440367732210c072105ed0a945851a Mon Sep 17 00:00:00 2001 From: Toby Hodges Date: Sat, 27 Jul 2019 14:56:15 +0200 Subject: [PATCH 4/5] Update _episodes/16-file-formats.md Co-Authored-By: Michael R. Crusoe <1330696+mr-c@users.noreply.github.com> --- _episodes/16-file-formats.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_episodes/16-file-formats.md b/_episodes/16-file-formats.md index 9b684149..8bb942e0 100644 --- a/_episodes/16-file-formats.md +++ b/_episodes/16-file-formats.md @@ -3,7 +3,8 @@ title: "File Formats" teaching: 10 exercises: 0 questions: -- "How do I check that input and output files are formatted correctly?" +- "How can I mark the required file format for input files?" +- "How can I mark the produced file format of output files?" objectives: - "Learn how to unambiguously specify the format of `File` objects." keypoints: From 8f38f812c44da17a95a01a24527f33bd66143d3f Mon Sep 17 00:00:00 2001 From: stamper Date: Sat, 27 Jul 2019 15:17:25 +0200 Subject: [PATCH 5/5] revert changes to 08-arguments --- _episodes/08-arguments.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_episodes/08-arguments.md b/_episodes/08-arguments.md index 66a39a20..3f263db8 100644 --- a/_episodes/08-arguments.md +++ b/_episodes/08-arguments.md @@ -4,7 +4,7 @@ teaching: 10 exercises: 0 questions: - "How do I specify arguments that don't require input values?" -- "How do I refer to parameters that are only defined at runtime?" +- "How do I refer to runtime parameters?" objectives: - "Learn how to add additional options to a command." - "Learn how to reference runtime parameters."