conditional step with `pickValue` method in inputs crashes when condition does not apply
hariszaf opened this issue · comments
To build a wf that could be partially used, I am trying to have
some conditions and provide alternative input files
for the case a user has already or hasn't done a step.
In some cases however, the user might not be interested in that step at all.
Such an example is implemented here.
As you see in line 250 an extra choice
has been provided and that is because if it does not, the wf crashes in case where
inputs.funct_annot != true
and I get an error mentioning that all sources are of null value.
I guess the condition should be evaluated first, before going into the check of the input arguments of the step.
@mr-c and I had a discussion about this. The tentative solution is for the invalid parameters input_fast
and maskfile
to be excluded from the inputs
object supplied to the when
clause, so the when
clause can be evaluated and the step skipped (as intended) instead of failing. Then this edge case can be addressed in the upcoming CWL 1.2.1 spec.