dxWDL 0.72: revert WDLs to unbound task inputs #857
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The recent bump to dxWDL 0.69 brought with it a limitation that required task input variables were not allowed to be left unbound at the workflow level. This resulted in significant new additions of redundant WDL variables at the workflow level and, more importantly, a resulting DNAnexus workflow that aggregated all input variables at the top common stage, regardless of which stage it was actually used in (and this broke output caching, etc).
dxWDL 0.72 now compiles simple WDL top-level tasks directly to DNAnexus stages which allows us to leave these required inputs at the task level. Resulting UI is much prettier (well, same as before really).
The only case this isn't identical to before is with required inputs within complex stages (scatters, conditionals, subworkflows), such as all of the scattered tasks within demux_plus which still require all of their inputs to be percolated up to the common stage. Also, all of their optional params are hidden unless we manually replicate them out to the workflow level.