view kaiju2table.xml @ 1:eedcb4cc9e5a draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/kaiju commit ace4e37c66a95ee5f648b95a92911e1fdf212967
author iuc
date Wed, 07 May 2025 08:51:58 +0000
parents e7d2c4ed18a5
children
line wrap: on
line source

<tool id="kaiju_kaiju2table" name="kaiju2table" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@" license="MIT">
    <description></description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="xrefs"/>
    <expand macro="requirements"/>
    <command detect_errors="exit_code"><![CDATA[
        #import re

        #for $kaiju_table in $kaiju_tables
            ln -s '$kaiju_table' #echo re.sub('[^\w\-_]', '_', str($kaiju_table.element_identifier))
            &&
        #end for

        kaiju2table 
            -t '$reference.fields.path'/nodes.dmp
            -n '$reference.fields.path'/names.dmp
            -r $rank
            -o '$kaiju_summary'
            #for $kaiju_table in $kaiju_tables
                #echo re.sub('[^\w\-_]', '_', str($kaiju_table.element_identifier))
            #end for
            #if str($optional.m)
                -m $optional.m
            #end if
            #if str($optional.c)
                -m $optional.c
            #end if
            $optional.e
            $optional.u
            #if $optional.l
                -l #echo ",".join($optional.l)
            #end if
    ]]></command>
    <inputs>
        <param name="kaiju_tables" type="data" format="tabular" multiple="true" optional="false" label="kaiju output tables"/>
        <expand macro="reference"/>
        <param argument="-r" name="rank" type="select" label="rank">
            <option value="phylum">phylum</option>
            <option value="class">class</option>
            <option value="order">order</option>
            <option value="family">family</option>
            <option value="genus">genus</option>
            <option value="species">species</option>
        </param>
        <section name="optional" title="Optional arguments" expanded="false">
            <param argument="-m" type="float" min="0" max="100" optional="true" value="" label="Minimum reporting percentage" help="Can not be combined with -c" />
            <param argument="-c" type="integer" min="1" optional="true" value="" label="Minimum required number of reads" help="Can not be combined with -m" />
            <param argument="-e" type="boolean" truevalue="-e" falsevalue="" checked="false" label="Expand viruses" help="which are always hown as full taxon path and read counts are not summarized in higher taxonomic levels" />
            <param argument="-u" type="boolean" truevalue="-u" falsevalue="" checked="false" label="Do not count unclassified reads" help="Disables counting unclassified reads towards the total number of reads when calculating percentages."/>
            <expand macro="l"/>
        </section>
    </inputs>
    <outputs>
        <data name="kaiju_summary" format="tabular"/>
    </outputs>
    <tests>
        <test>
            <param name="kaiju_tables" value="kaiju.out"/>
            <param name="reference" value="test"/>
            <param name="rank" value="phylum"/>
            <output name="kaiju_summary" value="kaiju2table.out"/>
        </test>
        <test>
            <param name="kaiju_tables" value="kaiju.out"/>
            <param name="reference" value="test"/>
            <param name="rank" value="order"/>
            <section name="optional">
                <param name="e" value="true"/>
            </section>
            <output name="kaiju_summary" value="kaiju2table.out" lines_diff="4">
                <assert_contents>
                    <has_text text="Severe acute respiratory syndrome coronavirus 2"/>
                    <has_text text="cannot be assigned to a (non-viral) order"/>
                </assert_contents>
            </output>
        </test>
    </tests>
    <help><![CDATA[

.. class:: infomark

**What it does**

The program kaiju2table converts Kaiju's output file(s) into a summary table for a given taxonomic rank, e.g., genus.
It uses the taxonomic information of the reference data for mapping the taxon identifiers from the third column in the
Kaiju output to the corresponding taxon names.

The program can also filter out taxa with low abundances, e.g. for only showing genera that comprise at least 1 percent of the total reads
Similarly, a threshold on the absolute read count can be given.

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