cloud-pipeline icon indicating copy to clipboard operation
cloud-pipeline copied to clipboard

WDL Graph enhancements

Open maryvictol opened this issue 2 years ago • 2 comments

WDL Graph enhancements:

  • [x] Tasks from imported WDL files should be shown in the list of existing tasks in the Properties > Document Tasks list and Actions > Add Call.

  • [x] It would be useful to show Task's inputs default values in Call (maybe as a hint) if the default value isn't changed in Call.

  • [x] It would be useful to show Workflow's inputs as a white circle in case of input doesn't have value.

  • [x] Input/output should be shown as a blue circle if it has any value independent of its connection to other input/output.

  • [ ] Construction .* isn't parsed for the call's output. Replacing call output names with a * should act as a match-all wildcard. (From draft-2 SPEC: The following syntax is deprecated but is still supported to maintain backward compatibility) For example: cram2filtered.wdl output { FilterVariantTranches.* } gives the error Error parsing wdl script: Line 158, column 29: mismatched input '.' expecting Identifier.

  • [ ] [Version 1.0] Compound types created by user using struct should be shown in the Type dropdown for Parameters.

  • [x] Relative import should be supported.

  • [x] [Version draft -2] Parameters specified inside Scatter should be handled as Declarations.

Bugs:

  • [ ] Using Call's input parameter in an expression for another input parameter in the same Call gives Unknown dependency issue (?) : mitochondria-pipeline.wdl

  • [ ] Parameters specified in the Scatter body aren't recognized in the Call outside the scatter body. For example: gatk4-rna-best-practices.wdl

scatter (interval in ScatterIntervalList.out) {
        call HaplotypeCaller { ... }
		File HaplotypeCallerOutputVcf = HaplotypeCaller.output_vcf
		File HaplotypeCallerOutputVcfIndex = HaplotypeCaller.output_vcf_index
	}

    call MergeVCFs {
        input:
            input_vcfs = HaplotypeCallerOutputVcf,
            input_vcfs_indexes =  HaplotypeCallerOutputVcfIndex,
            ...
    }

Inputs for call MergeVCFs input_vcfs and input_vcfs_indexes have errors unknown dependency HaplotypeCallerOutputVcf. Did you mean "HaplotypeCallerOutputVcf" (string value)? and unknown dependency HaplotypeCallerOutputVcfIndex. Did you mean "HaplotypeCallerOutputVcfIndex" (string value)? correspondingly.

scatter (unmapped_bam in flowcell_unmapped_bams) {
    ...
    call SamToFastqAndBwaMemAndMba { ... }

    Float mapped_bam_size = size(SamToFastqAndBwaMemAndMba.output_bam, "GB")
   ...
  }

Scatter's Item mapped_bam_size has error unknown dependency SamToFastqAndBwaMemAndMba.output_bam. Did you mean "SamToFastqAndBwaMemAndMba.output_bam" (string value)?

  • [ ] Issues for Calls, Scatters, Workflow, etc. aren't shown in the Issues lists for Properties of corresponding entities and in Document Tasks for corresponding Call (they're shown only in the Document issues). For example: Exome_Workflow.wdl

  • [ ] Revert changes button doesn't work if the graph has issues.

  • [ ] [Version draft-2] Error declaration "docker" of task "GetBwaVersion": Value required for Call's, Workflow's input parameters. (for example: PairedEndSingleSampleWf-fc-b37.wdl

  • [ ] [Version 1.0] unknown dependency issue when a custom structure nested within another custom structure is used in the parameter value. For example: WholeGenomeGermlineSingleSample.wdl

  • [ ] [Version 1.0] unknown dependency issue when declaration from if block is used in the parameter value. For example: WholeGenomeGermlineSingleSample.wdl Workflow output parameters: File? output_bam = provided_output_bam File? output_bam_index = provided_output_bam_index

maryvictol avatar Sep 13 '23 11:09 maryvictol

It would be useful to show Task's inputs default values in Call (maybe as a hint) if the default value isn't changed in Call.

Implemented by 8116851

Tasks from imported WDL files should be shown in the list of existing tasks in the Properties > Document Tasks list and Actions > Add Call.

[Version 1.0] Compound types created by user using struct should be shown in the Type dropdown for Parameters.

Relative import should be supported.

[Version draft -2] Parameters specified inside Scatter should be handled as Declarations.

Implemented by 8cab106

Parameters specified in the Scatter body aren't recognized in the Call outside the scatter body.

Outputs of Calls located inside Scatter aren't recognized in Scatter item expression.

Fixed by 8cab106

rodichenko avatar Sep 20 '23 19:09 rodichenko

Relative import should be supported.

@rodichenko Recursive relative import isn't supported.

maryvictol avatar Sep 26 '23 08:09 maryvictol