Files
galaxy/test/functional/tools/collection_split_on_column.xml
T
John Chilton 4c5c8a47db Allow tools to output collections with a dynamic number of datasets.
Models:

Track whether dataset collections have been populated yet.

Dataset collections are still effectively immutable once populated - but dynamic output collections require them to be sort of like `final` fields in Java (analogy courtesy of JJ) - allowing them to be declared before they are initialized or populated. This is tracked by the `populated_state` field.

Tools:

Output collections can now describe `discover_datasets` elements just like datasets - except in this case instead of dynamically populating new datasets in the history - they will comprise the collection. `designation` has been reused to serve as the element_identifier for the collection element corresponding to the dataset.

See Pull Request 356 for more information on the discover_datasets tag https://bitbucket.org/galaxy/galaxy-central/pull-request/356/enhancements-for-runtime-discovered.

Workflows:

Update workflow execution and recovery for dynamic output collections.

Galaxy workflow data flow before collections

* - * - * - * - * - *

Galaxy worfklow data flow after collections (iteration 1)

* - * - * \
           * - * - *
* - * - * /         \
                     * - * - *
* - * - * \         /
           * - * - *
* - * - * /

Galaxy worfklow data flow after this commit

              / * - * \
         * - *         * - *
        /     \ * - * /     \
       /                     \
      /                       \
     /        / * - * \        \
* - * -- * - *         * - * -- * - *
     \        \ * - * /        /
      \                       /
       \                     /
        \     / * - * \     /
         * - *         * - *
              \ * - * /
2015-01-15 09:30:00 -05:00

31 lines
1.0 KiB
XML

<tool id="collection_split_on_column" name="collection_split_on_column" version="0.1.0">
<command>
mkdir outputs; cd outputs; awk '{ print \$2 > \$1 ".tabular" }' $input1
</command>
<inputs>
<param name="input1" type="data" label="Input Table" help="Table to split on first column" format="tabular" />
</inputs>
<outputs>
<collection name="split_output" type="list" label="Table split on first column">
<discover_datasets pattern="__name_and_ext__" directory="outputs" />
</collection>
</outputs>
<tests>
<test>
<param name="input1" value="tinywga.fam" />
<output_collection name="split_output" type="list">
<element name="101">
<assert_contents>
<has_text_matching expression="^1\n2\n3\n$" />
</assert_contents>
</element>
<element name="1334">
<assert_contents>
<has_text_matching expression="^1\n10\n11\n12\n13\n2\n$" />
</assert_contents>
</element>
</output_collection>
</test>
</tests>
</tool>