CWL Runner
CWL specifies a standard cwl-runner
interface to execute CWL workflows from the command line. StreamFlow adheres to this interface, installing a cwl-runner
executable in the user’s $PATH
. In particular, a
cwl-runner processfile jobfile
command is equivalent to a streamflow run
command with the following streamflow.yml
file:
version: v1.0
workflows:
workflow_name:
type: cwl
config:
file: processfile
settings: jobfile
In addition to the standard parameters, it is possible to pass a --streamflow-file
argument to the cwl-runner
CLI with the path of a StreamFlow file containing models and bindings (see the StreamFlow file section). The workflows
section of this file must have a single entry containing a list of bindings
. If present, the type
and config
entries will be ignored. Files containing multiple workflow entries will throw an exception.
For example, the workflow described in the operations section of this guide can also be executed with the following command
cwl-runner --streamflow-file /path/to/streamflow.yml main.cwl config.cwl
where the streamflow.yml fail contains these lines
version: v1.0
workflows:
extract-and-compile:
bindings:
- step: /compile
target:
model: docker-openjdk
models:
docker-openjdk:
type: docker
config:
image: openjdk:9.0.1-11-slim