Releases: dnanexus/dxWDL
Minor fixes
- Throw an exception if a wrapper for a native platform call has a non-empty runtime section.
- Use an SSD instance for the collect sub-jobs.
- Remove the runtime check for calling a task with missing values, fix issue (#112). The check is overly restrictive. The task could have a default, or, be able to tolerate the missing argument.
Preparation for integration into the dx-toolkit
- Color coding outputs, yellow for warnings, red for errors.
- Indenting information output in verbose mode
- Removing the use of
dx pwd
. The user needs to specify the
destination path on the command line. A way to avoid this, is to compile
from the dx-toolkit, with the upcomingdx compile
command.
Minor fixes
- Allow variable and task names to include the sub-string "last"
- Workflow fragment applets inherit access properties from the extras file.
Minor fixes
Ignoring unsupported runtime attributes, as requested in #133.
WDL headers, and setting default values
- Decomposing a workflow when there is a declaration after a call. For example,
workflowfoo
needs to be decomposed. The workflow fragment runner does not
handle dependencies, and cannot wait for theadd
call to complete.
workflow foo {
Array[Int] numbers
scatter (i in numbers) {
call add { input: a=i, b=1}
Int m = add.result + 2
}
output {
Array[Int] ms = m
}
}
-
Setting debug levels at runtime. The compiler flag
runtimeDebugLevel
can be set to 0, 1, or 2.
Level 2 is maximum verbosity, level 1 is the default, zero is minimal outputs. -
Upgrade to Cromwell version 32.
-
Using headers to speed up the workflow decomposition step. The idea
is to represent a WDL file with header. When a file is imported, we
use the header, instead of pulling in the entire WDL code, including
its own imports. -
Support setting defaults in applets, not just workflows. This can be done with the
--defaults
command line option, and a JSON file of WDL inputs.
Calling apps, and DNAx attributes for tasks
- Support dnanexus configuration options for tasks. Setting
the execution policy, timeout policies, and access
control can be achieved by specifying the default option in the
default_taskdx_attributes
section of theextras
file. For
example:
{
"default_task_dx_attributes" : {
"runSpec": {
"executionPolicy": {
"restartOn": {
"*": 3
}
},
"timeoutPolicy": {
"main": {
"hours": 12
}
},
"access" : {
"project": "CONTRIBUTE",
"allProjects": "VIEW",
"network": [
"*"
],
"developer": true
}
}
}
}
- Added support for calling native DNAx apps. The command
java -jar dxWDL.jar dxni -apps -o my_apps.wdl
instructs the compiler to search for all the apps you can call, and create WDL
tasks for them.
-
Improved error message for namespace validation. Details are no longer hidden when
the-quiet
flag is set. -
Reduced logging verbosity at runtime. Disabled printing of directory structure when running
tasks, as the directories could be very large. -
Optimization for the case of launching an instance where it is
calculated at runtime.
Improvements for the atac.wdl pipeline
- Support for setting defaults for all task runtime attributes has been added.
This is similar to the Cromwell style. Theextras
command line flag takes a JSON file
as an argument. For example, iftaskAttrs.json
is this file:
{
"default_runtime_attributes" : {
"docker" : "quay.io/encode-dcc/atac-seq-pipeline:v1"
}
}
Then adding it to the compilation command line will add the atac-seq
docker image to all
tasks by default.
java -jar dxWDL-0.44.jar compile test/files.wdl -defaults test/files_input.json -extras taskAttrs.json
- Reduced the number of auxiliary jobs launched when a task specifies the instance type dynamically.
A task can do this is by specifiying runtime attributes with expressions. - Added the value iterated on in scatters
Cromwell-v31, and closed dx workflows
- Upgrade to cromwell-31 WDL/WOM library
- Report multiple validation errors in one step; do not throw an exception for the first one and stop.
- Reuse more of Cromwell's stdlib implementation
- Close generated dx workflows
Bug fix release
Bug fix for case where optional optional types were generated. For example, Int??
.
Nested scatters and conditionals
- Nested scatters and if blocks
- Support for missing arguments has been removed, the compiler will generate
an error in such cases.