This is a test version of Biostars. For the public version, visit https://www.biostars.org.
CWL Workflow Grammar: explanation of "string" option for Workflow step "run" field?

I'm writing an interactive visualiser for CWL workflows, and so must be able to parse CWL files.

My question refers to v1.0.1 of the Workflow specification: http://www.commonwl.org/v1.0/Workflow.html

In the specification for WorkFlowStep, the grammar for the "run" field is defined as:

run: string | CommandLineTool | ExpressionTool | Workflow

The documentation describes this as "Specifies the process to run.", but I can't find any more information about the meaning of the options.

In particular I would like to know what is the purpose of the "string" option?

In many example workflows that I have seen, the run field is often set to the file path of another CWL file. The contents of that file would be either a CommandLineTool or Workflow (or maybe even Expression Tool).

Does the "string" option subsume the file path? What other uses could the string have?

I'm assuming that the references to CommandLineTool, ExpressionTool and Workflow specifically mean that you can define them inline, rather than having to link out to a file (and therefore do not include file paths to files which contain those types of documents)?

Apologies if I've missed something important in the documentation.

Cheers!

cwl

1 answer

String is here the identifier of a CommandLineTool, ExpressionTool or Workflow that you have defined somewhere else. I agree that the documentation should not just say "string". I hope this helps.

Log in to answer this question.