Skip to content

CWL Runner Installation

The recommended CWL runner is cwltool, the reference implementation for the CWL standards.

The installation on Windows can be done following the guide here.

  1. Install Windows Subsystem for Linux from the Microsoft Store

    WSL

  2. Install Debian from the Microsoft Store

    Debian

  3. Set Debian as your default WSL 2 distro: wsl --set-default debian

  4. Install Docker Desktop for Windows

    • Start Docker Desktop and Navigate to Settings
    • Select “Use WSL 2 based engine” in the general tab and apply Docker WSL2
    • Select “Enable Integration with my default distro” in the resources tab under WSL Integration Docker WSL Integration
  5. Start WSL

  6. Follow the Instructions for Linux (Debian/Ubuntu)

  • If you are on Windows, start the WSL
  • Activate the virtual environment source env/bin/activate
  • Run cwltool by specifying the CWL Workflow or CommandLineTool description file path and the (optional) inputs file path (you can use relative or full paths):
Terminal window
cwltool path/to/cwlfile.cwl path/to/jobfile.yml

Here is a very simplified example to check, that your cwltool installation functions

  1. Store the following as echo-tool.cwl

    #!/usr/bin/env cwl-runner
    cwlVersion: v1.2
    class: CommandLineTool
    baseCommand: [echo]
    stdout: message.txt
    inputs:
    message:
    type: string
    inputBinding:
    position: 1
    outputs:
    output:
    type: stdout
  2. In the same folder, store the following as job.yml

    message: "I love ARCs and CWL"
  3. Now you can execute the tool

    • providing an input directly via CLI:
    cwltool echo-tool.cwl --message "ARCs are great"

    or

    • providing the input via the job.yml:
    cwltool echo-tool.cwl job.yml
  4. Both create an output file called message.txt with your specified message.