view hamronize_summarize.xml @ 2:6e2731b13533 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hamronization commit 9e7a6edfce21479297b713a515c68b4863d92271
author iuc
date Tue, 05 Jul 2022 22:37:53 +0000
parents a84e3131ae6a
children 243c87f34f39
line wrap: on
line source

<tool id="hamronize_summarize" name="hamronize: summarize" version="@TOOL_VERSION@+galaxy1" 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
        *.tsv
        *.json
    ]]>    </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>