Does CWL support multidimensional arrays? Is there a way to specify a list of paired fastq files? I am specifying them as two arrays of files, one for read1 and another for reaad2. This is awkward and I haven't figured out how to do crossproducts using them.
I have an input that is a list of tuples, and another input and ideally I want to do a crossproduct scatter
A: [(a1_1, a1_2), (a2_1, a2_2),]
B: [b1, b2]
should result in steps with these inputs:
(a1_1, a1_2), b1
(a1_1, a1_2), b2
(a2_1, a2_2), b1
(a2_1, a2_2), b2
Thank you,
Manisha
1 answer
Yes, you can do that. Please check http://www.commonwl.org/v1.0/Workflow.html#ScatterMethod
In your case, you define the tool to have input A as array of files and B as file. This step should receive array of arrays on input A and array of files on B. If you simply define scatter as
scatter:
- A
- B
scatterMethod: nested_crossproduct
you will get the steps like you defined above.
Log in to answer this question.