miniwdl icon indicating copy to clipboard operation
miniwdl copied to clipboard

Task is incorrectly deferred

Open jdidion opened this issue 2 years ago • 0 comments

I have a workflow that uses fastp for both read trimming and report generation. If read trimming is skipped, then the alignment step does not depend on fastp completion before it can run, however miniwdl still defers the alignment task.

Example:

workflow align {
  input {
    File fastq
    Boolean report_only
    ...
  }
  call fastp { input: fastq=fastq, report_only=report_only }
  File trimmed_fastq = if report_only then fastq else select_first([fastp.trimmed_fastq, fastq])
  call bwa { input: fastq=trimmed_fastq, ... }
}

I suspect that the presence of fastp.trimmed_fastq in the expression is causing the deferral even though it is referenced in an inaccessible branch of the if-then-else.

jdidion avatar Jun 20 '22 21:06 jdidion