view hamronize_tool.xml @ 3:e13b801516dd draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hamronization commit b4943555d76f7e352de3f396c51d3dfb90ed633d
author iuc
date Fri, 09 Feb 2024 21:27:18 +0000
parents ec82fac4eb4b
children cbfa52c8f1ef
line wrap: on
line source

<tool id="hamronize_tool" name="hamronize" version="@TOOL_VERSION@+galaxy1" profile="@PROFILE@">
    <description> parse multiple Antimicrobial Resistance Analysis Reports into a common data structure</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="bio_tools"/>
    <expand macro="requirements" />
    <expand macro="version_command" />

    <command detect_errors="exit_code"><![CDATA[
        #set $extra_2_params = str("ariba,srax,csstar,groot").split(",")
        #set $extra_1_param = $extra_2_params + str("amrfinderplus,rgi,resfinder4,deeparg,kmerresistance,srst2,amrplusplus,resfarms").split(",")
        
        hamronize 
        ${select_tool.tool}
        --analysis_software_version '${analysis_software_version}'
        --reference_database_version '${reference_database_version}'
        --format ${output_format}
        #if $output_format == "tsv" 
            --output hamronized.tsv
        #else
            --output hamronized.json
        #end if 
        
        #if $select_tool.tool in $extra_1_param
            --input_file_name $select_tool.input_file_name
        #end if
        
        #if $select_tool.tool in $extra_2_params
            --reference_database_id $select_tool.reference_database_id
        #end if
        
        $report
    ]]>    </command>

    <inputs>
        <param name="report" type="data" format="txt,tabular" label="Report file"/>
        <conditional name="select_tool">
            <param name="tool" type="select" label="Tool">
                <option value="abricate" selected="true">abricate</option>
                <option value="amrfinderplus">amrfinderplus</option>
                <option value="ariba">ariba</option>
                <option value="rgi">rgi</option>
                <option value="resfinder">resfinder</option>
                <option value="resfinder4">resfinder4</option>
                <option value="srax">srax</option>
                <option value="deeparg">deeparg</option>
                <option value="kmerresistance">kmerresistance</option>
                <option value="srst2">srst2</option>
                <option value="staramr">staramr</option>
                <option value="csstar">csstar</option>
                <option value="amrplusplus">amrplusplus</option>
                <option value="resfams">resfams</option>
                <option value="groot">groot</option>
            </param>
            <when value="abricate" />
            <when value="resfinder" />
            <when value="staramr" />
            <when value="amrfinderplus">
                <expand macro="input_file_name"/>
            </when>
            <when value="ariba">
                <expand macro="input_file_name"/>
                <expand macro="reference_database_id"/>
            </when>
            <when value="rgi">
                <expand macro="input_file_name"/>
            </when>
            <when value="resfinder4">
                <expand macro="input_file_name"/>
            </when>
            <when value="srax">
                <expand macro="input_file_name"/>
                <expand macro="reference_database_id"/>
            </when>
            <when value="deeparg">
                <expand macro="input_file_name"/>
            </when>
            <when value="kmerresistance">
                <expand macro="input_file_name"/>
            </when>
            <when value="srst2">
                <expand macro="input_file_name"/>
            </when>
            <when value="csstar">
                <expand macro="input_file_name"/>
                <expand macro="reference_database_id"/>
            </when>
            <when value="amrplusplus">
                <expand macro="input_file_name"/>
            </when>
            <when value="resfams">
                <expand macro="input_file_name"/>
            </when>
            <when value="groot">
                <expand macro="input_file_name"/>
                <expand macro="reference_database_id"/>
            </when>
        </conditional>
        <param name="output_format" type="select" label="Output format" multiple="false" display="radio">
            <option value="tsv" selected="True">tsv</option>
            <option value="json">json</option>
        </param>
        <param name="analysis_software_version" type="text" label="Analysis software version"></param>
        <param name="reference_database_version" type="text" label="Reference database version"></param>
    </inputs>

    <outputs>
        <data format="tabular" name="output_tsv" label="${tool.name} on ${on_string}: Table" from_work_dir="hamronized.tsv">
            <filter>output_format == "tsv"</filter>
        </data>
        <data format="json" name="output_json" label="${tool.name} on ${on_string}: JSON" from_work_dir="hamronized.json">
            <filter>output_format == "json"</filter>
        </data>
    </outputs>
    <tests>
        <!-- abricate -->
        <test expect_num_outputs="1">
            <param name="report" value="abricate/report.tsv" ftype="tabular" />
            <param name="tool" value="abricate" />
            <param name="output_format" value="tsv" />
            <param name="reference_database_version" value="db_v_1" />
            <param name="analysis_software_version" value="tool_v_1" />
            <output name="output_tsv" file="hamronized_abricate.tsv" ftype="tabular" />
        </test>
        <test expect_num_outputs="1">
            <param name="report" value="abricate/report.tsv" ftype="tabular" />
            <param name="tool" value="abricate" />
            <param name="output_format" value="json" />
            <param name="reference_database_version" value="db_v_1" />
            <param name="analysis_software_version" value="tool_v_1" />
            <output name="output_json" file="hamronized_abricate.json" ftype="json" />
        </test>
        <!-- ariba -->
        <test expect_num_outputs="1">
            <param name="report" value="ariba/report.tsv" ftype="tabular" />
            <param name="tool" value="ariba" />
            <param name="output_format" value="tsv" />
            <param name="reference_database_version" value="db_v_1" />
            <param name="analysis_software_version" value="ariba_v1" />
            <param name="input_file_name" value="ariba_report" />
            <param name="reference_database_id" value="dbname" />
            <output name="output_tsv" file="hamronized_ariba.tsv" ftype="tabular" />
        </test>
        <!-- rgi -->
        <test expect_num_outputs="1">
            <param name="report" value="rgi/rgi.txt" ftype="txt" />
            <param name="tool" value="rgi" />
            <param name="output_format" value="tsv" />
            <param name="reference_database_version" value="card_v1" />
            <param name="analysis_software_version" value="rgi_v1" />
            <param name="input_file_name" value="rgi_report" />
            <output name="output_tsv" file="hamronized_rgi.tsv" ftype="tabular"/>
        </test>
    </tests>
    <help><![CDATA[
**What it does**

Hamronize parse multiple Antimicrobial Resistance Analysis Reports into a common data structure

**Inputs**

Depends on the tools with hAMRonizable reports:

* abricate: abricate's output report i.e., OUTPUT.tsv
* amrfinderplus: amrfinderplus's output report i.e., OUTPUT.tsv
* ariba: ariba's output report i.e., OUTDIR/OUTPUT.tsv
* rgi: rgi's output report i.e., OUTPUT.txt or OUTPUT_bwtoutput.gene_mapping_data.txt
* resfinder: resfinder's output report i.e., data_resfinder.json
* resfinder4: resfinder4's tabular output report i.e., ResFinder_results_tab.txt
* srax: srax's output report i.e., sraX_detected_ARGs.tsv
* deeparg: deeparg's output report i.e., OUTDIR/OUTPUT.mapping.ARG
* kmerresistance: kmerresistance's output report i.e., OUTPUT.KmerRes
* srst2: srst2's output report i.e., OUTPUT_srst2_report.tsv
* staramr: staramr's output report i.e., resfinder.tsv
* csstar: csstar's output report i.e., OUTPUT.tsv
* amrplusplus: amrplusplus's output report i.e., gene.tsv
* resfams: resfams's output report i.e., resfams.tblout
* groot: groot's output report i.e., OUTPUT.tsv (from `groot report`)

More: https://github.com/pha4ge/hAMRonization/#usage

]]></help>
    <expand macro="citations"/>
</tool>