The `dockstore tool launch` wrongly complains missing `task` and `command`

The dockstore tool launch complains with the following error message in the case of using “sub-workflow” in another WDL file. But it’s possible to create a WDL file with the task and command using sub workflow that is defined in the WDL 1.0 specification document.

$ dockstore --version
Dockstore version 1.13.0-rc.0
The latest stable version is 1.12.0
You are currently on the latest unstable version. If you wish to upgrade to the latest stable version, please use the following command:
   dockstore --upgrade-stable

$ make run
dockstore tool launch \
	--local-entry "bio-diversity-genomics-garg.wdl" \
	--json "bio-diversity-genomics-garg.inputs.json"
15:27:23.295 [main] ERROR io.dockstore.client.cli.ArgumentUtility - Required fields that are missing from WDL file : 'task' 'command'
$ cat bio-diversity-genomics-garg.wdl
version 1.0
import "estimation.wdl" as estimation_wdl

workflow bio_diversity_genomics {
  input {
    File input_file
    # "HIFI" or "ONT"
    String data_type = "HIFI"
  }

  call estimation_wdl.estimation {
    input:
      input_file=input_file
  }

  output {
    File report = estimation.report
    File table_ktab = estimation.table_ktab
  }
}

As a workaround, I am setting a dummy task in the mail WDL file. But this is not ideal.

Hi Jun,

I’ve created a GitHub issue to fix the problem in our WDL file content validation: WDL file validation in CLI doesn't align with WDL 1.0 specs for subworkflows · Issue #5133 · dockstore/dockstore · GitHub.

In the meantime, please use dockstore workflow launch instead of dockstore tool launch because it will allow you to launch the WDL file without a task. I took at look at the main branch of your repository and it looks like your bio_diversity_genomics workflow is now calling multiple sub workflows which is like calling multiple tasks and this makes it a workflow in Dockstore’s eyes.

Note that we will eventually deprecate tool launch for WDL because we want to completely eliminate WDL tools and only support WDL workflows in order to match the WDL language specification. You can read more about the overhaul of Dockstore tools here.

Kathy

1 Like

@kathy-t OK. Thanks for creating the GitHub issue and for your advice!