view hamronize_summarize.xml @ 3:243c87f34f39 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hamronization commit f09c6b7e45ccd61956942b5aab76c0c8ccc0fe03
author iuc
date Fri, 05 Aug 2022 12:58:46 +0000
parents 6e2731b13533
children f8bcc852f6b3
line wrap: on
line source

<tool id="hamronize_summarize" name="hamronize: summarize" version="@TOOL_VERSION@+galaxy2" profile="@PROFILE@">
    <description> harmorization reports</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements" />
    <expand macro="version_command" />
    <command detect_errors="exit_code"><![CDATA[
        #for $counter, $report in enumerate($reports):
            #if $report.is_of_type('tsv', 'tabular'):
                #set $ext = 'tsv'
            #elif $report.is_of_type('json'):
                #set $ext = 'json'
            #end if
            ln -s '$report' ./report_${counter}.${ext} &&
        #end for

        hamronize summarize
        --summary_type $summary_type
        #if $summary_type == "tsv"
            --output output.tsv
        #elif $summary_type == "json"
            --output output.json
        #else
             --output output.html
        #end if
        ./report_*
    ]]>    </command>

    <inputs>
        <param name="reports" type="data" multiple="true" format="tabular,json" label="Report files"/>
        <param name="summary_type" type="select" label="Output format" multiple="false">
            <option value="tsv">tsv</option>
            <option value="json">json</option>
            <option value="interactive">interactive</option>
        </param>
    </inputs>

    <outputs>
        <data format="tabular" name="output_tsv" label="${tool.name} on ${on_string}: Output" from_work_dir="output.tsv">
            <filter>summary_type == "tsv"</filter>
        </data>
        <data format="json" name="output_json" label="${tool.name} on ${on_string}: Output" from_work_dir="output.json">
            <filter>summary_type == "json"</filter>
        </data>
        <data format="html" name="output_html" label="${tool.name} on ${on_string}: Output" from_work_dir="output.html">
            <filter>summary_type == "interactive"</filter>
        </data>
    </outputs>
    <tests>
        <!-- tsv output -->
        <test expect_num_outputs="1">
            <param name="reports" value="hamronized_abricate.tsv,hamronized_abricate.json,hamronized_ariba.tsv,hamronized_ariba.json,hamronized_rgi.tsv,hamronized_rgi.json" />
            <param name="summary_type" value="tsv" />
            <output name="output_tsv" ftype="tabular" file="summary.tsv" />
        </test>
        <!-- json output -->
        <test expect_num_outputs="1">
            <param name="reports" value="hamronized_abricate.tsv,hamronized_abricate.json,hamronized_ariba.tsv,hamronized_ariba.json,hamronized_rgi.tsv,hamronized_rgi.json" />
            <param name="summary_type" value="json" />
            <output name="output_json" ftype="json">
                <assert_contents>
                    <has_text text="GCF_010120755.1_ASM1012075v1_genomic" />
                    <has_text text="H_NS.3000676.BA000007.3.1737690_1738104.5476" />
                    <has_text text="NODE_9_length_203843_cov_42.4911_20" />
                </assert_contents>
            </output>
        </test>
    </tests>
    <help>
        <![CDATA[
            **What it does**
            This tool will take a list of report and create single sorted report in the specified format
            just containing the unique entries across input reports. It can handle mixed json and tsv hamronized report formats
            **Inputs**
            A list of hamronize reports
            
        ]]>
    </help>
</tool>