For WDL questions, see the WDL specification and WDL docs.
For Cromwell questions, see the Cromwell docs and please post any issues on Github.
Differences between running wdl scripts with wdl-runner versus java -jar cromwell.jar
I am still quite new to wdl scripts and running wdl scripts in GCP via Cromwell. During my short experience with wdl+Cromwell, I have been using the wdl-runner hosted here all along, following the instructions detailed here. I chose to do so because I understood that this is a simpler way than running wdl scripts with a config file as explained here
But now I am realizing that some of the newer capabilities of the wdl language such as computing the size of an array of files with
size(Array[File], "GB") make the process crash when running wdl scripts with the wdl-runner. Here is a snippet of an error of this kind:
2019-03-11 12:12:42,294 cromwell-system-akka.dispatchers.engine-dispatcher-25 ERROR - WorkflowManagerActor Workflow eaffc40f-be93-428b-8550-b52b7b1942a9 failed (during ExecutingWorkflowState): cromwell.engine.workflow.lifecycle.execution.job.preparation.JobPreparationActor$$anonfun$1$$anon$1: Call input and runtime attributes evaluation failed for MergeVCFs: Failed to evaluate input 'disk_size' (reason 1 of 1): The 'size' method expects a 'File' or 'File?' argument but instead got Array[File]. at cromwell.engine.workflow.lifecycle.execution.job.preparation.JobPreparationActor$$anonfun$1.applyOrElse(JobPreparationActor.scala:66) at cromwell.engine.workflow.lifecycle.execution.job.preparation.JobPreparationActor$$anonfun$1.applyOrElse(JobPreparationActor.scala:62)
Hence, my questions are:
- Is the version of Cromwell used by GCP when wdl scripts are run with the
gcloud alpha genomics pipelines runcommand (i.e. with the wdl-runner) the same as the latest release hosted here?. If not, what is the version used?
- Will the latest developments of the wdl language be only available when running Cromwell in command line (i.e. via
java -Dconfig.file=google.conf -jar cromwell-29.jar run hello.wdl -i hello.inputs)?
- Is it a better idea not to use the wdl-runner, and use the command line version instead, in order to harness the full power of the wdl language?
Thank you in advance