view hamronize_summarize.xml @ 5:88045b4d5597 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hamronization commit b49fc153425676a82e77dec090676403112bcbe6
author iuc
date Tue, 05 Mar 2024 19:47:21 +0000
parents f8bcc852f6b3
children
line wrap: on
line source

<tool id="hamronize_summarize" name="hamronize summarize:" version="@TOOL_VERSION@+galaxy0" profile="@PROFILE@">
    <description>Concatenate and summarize AMR detection reports</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="bio_tools"/>
    <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'
    --output '$output'
    report_*
]]></command>
    <inputs>
        <param name="reports" type="data" multiple="true" format="tabular,json" label="Report files"/>
        <param argument="--summary_type" type="select" label="Output format" multiple="false">
            <option value="tsv">Tabular</option>
            <option value="json">JSON</option>
            <option value="interactive">Interactive HTML</option>
        </param>
    </inputs>
    <outputs>
        <data name="output" format="tabular" label="${tool.name} on ${on_string}: Concatenated and summarized reports" from_work_dir="output.tsv">
            <change_format>
                <when input="summary_type" value="json" format="json"/>
                <when input="summary_type" value="interactive" format="html"/>
            </change_format>
        </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" ftype="tabular">
                <assert_contents>
                    <has_n_lines n="155"/>
                    <has_n_columns n="37"/>
                    <has_text text="GCF_010120755.1_ASM1012075v1_genomic" />
                    <has_text text="ariba_report" />
                    <has_text text="rgi_report" />
                </assert_contents>
            </output>
        </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" ftype="json">
                <assert_contents>
                    <has_text text="GCF_010120755.1_ASM1012075v1_genomic" />
                    <has_text text="ariba_report" />
                    <has_text text="rgi_report" />
                </assert_contents>
            </output>
        </test>
        <!-- html 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="interactive" />
            <output name="output" ftype="html">
                <assert_contents>
                    <has_text text="GCF_010120755.1_ASM1012075v1_genomic" />
                    <has_text text="ariba_report" />
                    <has_text text="rgi_report" />
                </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>
    <expand macro="citations"/>
</tool>