[WIP] Implement records - heterogenous dataset collections.

Existing dataset colleciton types are meant to be homogenous - all datasets of the same time. This introduces CWL-style record dataset collections.
This commit is contained in:
John Chilton
2025-05-09 16:38:19 -04:00
parent 22b6c1487b
commit 518fa136d9
29 changed files with 356 additions and 35 deletions
@@ -0,0 +1,32 @@
<tool id="collection_record_test_two_files" name="collection_record_test_two_files" version="0.1.0">
<command>
cat $f1.parent $f1['child'] >> $out1;
echo 'Collection name: $f1.name'
</command>
<inputs>
<param name="f1" type="data_collection" collection_type="record" label="Input collection" />
</inputs>
<outputs>
<data format="txt" name="out1" />
</outputs>
<tests>
<test>
<param name="f1">
<collection type="record" name="collection name">
<fields>[{"name": "parent", "type": "File"}, {"name": "child", "type": "File"}]</fields>
<element name="parent" value="simple_line.txt" />
<element name="child" value="simple_line_alternative.txt" />
</collection>
</param>
<output name="out1">
<assert_contents>
<has_line line="This is a line of text." />
<has_line line="This is a different line of text." />
</assert_contents>
</output>
<assert_stdout>
<has_line line="Collection name: collection name" />
</assert_stdout>
</test>
</tests>
</tool>
@@ -215,6 +215,7 @@
<tool file="collection_paired_or_list_paired_input.xml" />
<tool file="collection_cat_group_tag.xml" />
<tool file="collection_cat_group_tag_multiple.xml" />
<tool file="collection_field_test_two_files.xml" />
<tool file="discover_sort_by.xml" />
<tool file="discover_default_ext.xml" />
<tool file="expression_forty_two.xml" />