carpentries-incubator / cwl-novice-tutorial

Introduction to Workflows with Common Workflow Language
https://carpentries-incubator.github.io/cwl-novice-tutorial/
Other
11 stars 20 forks source link

Objectives and Exercise Mismatch for "Describing requirements" #32

Open swzCuroverse opened 3 years ago

swzCuroverse commented 3 years ago

Unlike I misunderstand from the objectives, it seems like this episode should be about using CWL requirements (i.e. runtime, ResourseRequirements, InitialWorkDirRequirement, proper filepaths, docker usage), but the exercise seem to focus on general setup of a CWL workflow like how to use the basecommand, inputs, naming outputs, and creating outputs. This might be better put in the capturing outputs or perhaps turning a shell script into a workflow (although it isn't exactly a shell script). The exception is exercise 2 which I believe fits within the objectives. I think perhaps the confusion is over the word requirements and thinking about them broadly as things like inputs/outputs that are required to run a workflow.

Objectives identify all the requirements of a tool and define them in the tool description

use runtime parameters to access information about the runtime environment

define environment variables necessary for execution

use secondaryFiles or InitialWorkDirRequirement to access files in the same directory as another referenced file

use $(runtime.cores) to define the number of cores to be used

use type: File, instead of a string, to reference a filepath

https://common-workflow-lab.github.io/cwl-novice-tutorial/requirements/index.html