I had a workflow with a similar structure to this one:
steps:
move:
run: cwl_move.cwl
in:
script: script_mv
input_file: file_orig
out: [output_files_mv]
edit:
run: cwl_edit.cwl
scatter: [input_file, script]
scatterMethod: dotproduct
in:
script: script_edit
input_file: move/output_files_mv
out: [output_files]
So I had one scatter
in the second step, input_file
(or move/output_files_mv
) and script
(or script_edit
) are arrays. But now I would like to add scatter
to the first step:
steps:
move:
run: cwl_move.cwl
scatter: [input_file]
in:
script: script_mv
input_file: file_orig
out: [output_files_mv]
edit:
...
And would like to keep the old scatter
in the second step for every input_file
from the first step, i.e. I would like to have "cross product" between these two steps (ideally without even changing the second step). What would be the proper way of doing it in CWL? Anyone has any example that can share with me?