Skip to content

Releases: dnanexus/dxWDL

Cromwell style inputs and defaults

26 Sep 21:17
Compare
Choose a tag to compare

Allow easy setting of workflow defaults. Added the -defaults flag that takes Cromwell style key-value pairs. These defaults are embedded into the compiled DNAx workflow.

Hashes and build improvements

19 Sep 23:40
Compare
Choose a tag to compare
  • Use hashes instead of files for non-native dx types
  • Do not use the help field in applet input/output arguments to carry
    WDL typing information.
  • Fold small text files into the applet bash script. This speeds up the 'dx build'
    command, and avoids uploading them as separate platform files.
  • Replace 'dx build' with direct API calls, additional compilation speedup.

Improved compilation speed

11 Sep 20:38
Compare
Choose a tag to compare
  • Much better dependency checking during compilation
  • Create workflow in a single API call
  • Use bulk-describe when compiling applets
  • YAML for intermediate code is more readable, and contains all dependency information

Objects and compiler speed ups

06 Sep 23:40
Compare
Choose a tag to compare
  • WDL objects (experimental)
  • Type coercion
  • Faster compilation when applets already exist. Using bulk describe API, instead
    of looking up each applet separately.
  • Adding checksum to dx:workflow objects, recompile only if it has not changed
  • Specified behavior of input/output files in doc/Internals.md

Declaration attributes (experimental)

28 Aug 21:29
Compare
Choose a tag to compare
Pre-release

Experimental syntax allows setting attributes on a WDL declaration. The semantics are defined by the runtime engine. For example, the diff task sets the streaming attribute on its two input files. This is interpreted by dxWDL to mean that A and B should not be downloaded, but streamed directly from the cloud.

task diff {
    File a { stream: true}
    File b { stream: true}

    runtime {
        docker: "ubuntu:16.04"
    }
    command {
        diff ${a} ${b} | wc -l
    }
    output {
        Int result = read_int(stdout())
    }
}

Minor fixes

28 Aug 20:40
Compare
Choose a tag to compare

Improvements to files downloaded as streams.

WOM, and minor fixes

24 Aug 18:37
Compare
Choose a tag to compare
  • Upgrade to wdl4s version 0.15 (WOM)
  • Enable several compiler warnings, removing unused imports
  • Bug fixes:
    • Wrong dx project name when using multiple shells, and
      different projects
    • Better handling of errors from background 'dx cat' processes.

Streaming with docker tasks

22 Aug 21:48
Compare
Choose a tag to compare

Support for tasks that use docker, and want to stream input files.

File download streaming

18 Aug 18:17
Compare
Choose a tag to compare

File download streaming is an optimization appropriate when a task needs to look at a file sequentially, and only once. Mark an input file as "stream" in the parameter_meta section, and the compiler will generate the right code.

Conditionals

03 Aug 16:39
Compare
Choose a tag to compare

WDL conditionals are supported.