miniwdl
miniwdl copied to clipboard
Task is incorrectly deferred
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
.