Skip to content

Releases: dnanexus/dxWDL

Minor fixes

28 Jun 17:29
e8523eb
Compare
Choose a tag to compare
Minor fixes Pre-release
Pre-release
  • 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

22 Jun 19:14
cbd7fe3
Compare
Choose a tag to compare
  • 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 upcoming dx compile command.

Minor fixes

19 Jun 21:43
70aae40
Compare
Choose a tag to compare
  • Allow variable and task names to include the sub-string "last"
  • Workflow fragment applets inherit access properties from the extras file.

Minor fixes

31 May 01:17
Compare
Choose a tag to compare

Ignoring unsupported runtime attributes, as requested in #133.

WDL headers, and setting default values

30 May 17:29
0e95b81
Compare
Choose a tag to compare
  • Decomposing a workflow when there is a declaration after a call. For example,
    workflow foo needs to be decomposed. The workflow fragment runner does not
    handle dependencies, and cannot wait for the add 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

22 May 20:04
e781dae
Compare
Choose a tag to compare
  • 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 the extras 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

16 May 22:34
472e741
Compare
Choose a tag to compare
  • Support for setting defaults for all task runtime attributes has been added.
    This is similar to the Cromwell style. The extras command line flag takes a JSON file
    as an argument. For example, if taskAttrs.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

09 May 20:11
4a32d6e
Compare
Choose a tag to compare
  • 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

07 May 19:58
Compare
Choose a tag to compare

Bug fix for case where optional optional types were generated. For example, Int??.

Nested scatters and conditionals

04 May 23:22
Compare
Choose a tag to compare
  • Nested scatters and if blocks
  • Support for missing arguments has been removed, the compiler will generate
    an error in such cases.