view chimera.vsearch.xml @ 8:bdb4a58a2025 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/mothur commit 7599ef16dc8b83ee49236ed5bb229260c969b0ab
author iuc
date Mon, 17 Jun 2024 12:12:54 +0000
parents de3cfb122105
children
line wrap: on
line source

<tool profile="16.07" id="mothur_chimera_vsearch" name="Chimera.vsearch" version="@WRAPPER_VERSION@.2">
    <description>find potential chimeric sequences using vsearch</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="biotools"/>
    <expand macro="requirements">
        <requirement type="package" version="2.6.0">vsearch</requirement>
    </expand>
    <expand macro="stdio"/>
    <expand macro="version_command"/>
    <command><![CDATA[
@SHELL_OPTIONS@

## create symlinks to input datasets
ln -s '$fasta' fasta.dat &&
#if $template.source == "self":
    ln -s '$template.count' template.count.dat &&
    ln -s '$template.group' template.group.dat &&
#elif $template.source == "names":
    ln -s '$template.name' template.name.dat &&
#else:
    ln -s '$template.reference' template.reference.dat &&
#end if

echo 'chimera.vsearch(
    fasta=fasta.dat,
    #if $template.source == "self":
        reference=self,
        #if float($template.abskew) > 0:
            abskew=$template.abskew,
        #end if
        #if $template.group:
            group=template.group.dat,
        #end if
        #if $template.count:
            count=template.count.dat,
        #end if
    #elif $template.source == "names":
        name=template.name.dat,
    #else:
        reference=template.reference.dat,
    #end if
    minh=$minh,
    mindiv=$mindiv,
    xn=$xn,
    dn=$dn,
    dereplicate=$dereplicate,
    mindiffs=$mindiffs,
    processors='\${GALAXY_SLOTS:-8}'
)'
| sed 's/ //g'  ## mothur trips over whitespace
| mothur
| tee mothur.out.log
2>&1  ## uchime component writes output to stderr
&& cat *accnos
    ]]></command>
    <inputs>
        <param argument="fasta" type="data" format="mothur.align,fasta" label="fasta - Candiate Aligned Sequences"/>
        <conditional name="template">
            <param name="source" type="select" label="Select Reference Template from">
                <option value="hist">History</option>
                <option value="ref">Cached Reference</option>
                <option value="self">Self</option>
                <option value="names">Use a names file</option>
            </param>
            <when value="ref">
                <param argument="reference" type="select" label="reference - Select an alignment database">
                    <options from_data_table="mothur_aligndb"/>
                </param>
            </when>
            <when value="hist">
                <param argument="reference" type="data" format="fasta" label="reference - Reference to align with"/>
            </when>
            <when value="self">
                <param argument="abskew" type="float" value="1.9" label="abskew - Abundance skew" help="Abundance skew is: min [ abund(parent1), abund(parent2) ] / abund(query). Default 1.9"/>
                <param argument="group" type="data" format="mothur.groups" optional="true" label="group - Sequences Name reference"
                    help="use the more abundant sequences from the same sample to check the query sequence"/>
                <param argument="count" type="data" format="mothur.count_table" optional="true" label="count - a count_table"
                    help="Generated by count.seqs. When you use a count file with group info and dereplicate=T, mothur will create a count table containing seqeunces after chimeras are removed."/>
            </when>
            <when value="names">
                <param argument="name" type="data" format="mothur.names" label="name - Sequence names"/>
            </when>
        </conditional>
        <param argument="dereplicate" type="boolean" falsevalue="false" truevalue="true" checked="false"
            label="dereplicate - remove chimeric sequences from all groups?"
            help="If parameter is false, then if one group finds the seqeunce to be chimeric, then all groups find it to be chimeric"/>
        <param argument="minh" type="float" value="0.3" min="0" label="minh - mininum score to report chimera. Default 0.3"
            help="Values from 0.1 to 5 might be reasonable. Lower values increase sensitivity but may report more false positives."/>
        <param argument="mindiv" type="float" value="0.5" min="0" label="mindiv - minimum divergence ratio"
            help="to ignore very close chimeras, increase mindiv to 1.0 or 2.0, to increase sensitivity decrease minh to 0.1. Default 0.5"/>
        <param argument="xn" type="float" value="8.0" min="0" label="xn - weight of a no vote. Default 8.0"
            help="Decreasing this weight to around 3 or 4 may give better performance on denoised data"/>
        <param argument="dn" type="float" value="1.4" min="0" label="dn - pseudo-count prior on number of no votes"
            help="Reasonable values are probably in the range from 0.2 to 2.0. Default 1.4"/>
        <param argument="mindiffs" type="integer" value="3" min="0" label="minimum number of differences in segment"/>
        <expand macro="param-savelog"/>
    </inputs>
    <outputs>
        <expand macro="logfile-output"/>
        <data name="vsearch.chimeras" format="txt" from_work_dir="fasta.*vsearch.chimeras" label="${tool.name} on ${on_string}: vsearch.chimeras"/>
        <data name="out_accnos" format="mothur.accnos" from_work_dir="fasta.*vsearch.accnos" label="${tool.name} on ${on_string}: vsearch.accnos"/>
        <data name="out_count" format="mothur.count_table" from_work_dir="template.*vsearch.pick.count_table" label="${tool.name} on ${on_string}: vsearch.count_table">
            <filter>template['source'] == 'self' and template['count'] and template['count'].metadata.groups != []</filter>
        </data>
    </outputs>
    <tests>
        <test expect_num_outputs="3"><!-- de novo test with name file -->
            <param name="fasta" value="stool_small.unique.fasta"/>
            <param name="source" value="names"/>
            <param name="name" value="stool_small.names"/>
            <output name="vsearch.chimeras" file="stool_small.vsearch.chimeras" ftype="txt"/>
            <output name="out_accnos" file="stool_small.denovo.vsearch.accnos" ftype="mothur.accnos"/>
            <param name="savelog" value="true"/>
            <expand macro="logfile-test"/>
        </test>
        <test expect_num_outputs="4"><!-- de novo test with count table-->
            <param name="fasta" value="chimera.fasta"/>
            <param name="source" value="self"/>
            <param name="count" value="chimera.count_table" ftype="mothur.count_table"/>
            <param name="dereplicate" value="true"/>
            <output name="vsearch.chimeras" file="chimera.vsearch.chimeras" ftype="txt"/>
            <output name="out_accnos" file="chimera.vsearch.accnos" ftype="mothur.accnos" sort="true"/>
            <output name="out_count" file="chimera.vsearch.count_table" ftype="mothur.count_table"/>
            <param name="savelog" value="true"/>
            <expand macro="logfile-test"/>
        </test>
        <test expect_num_outputs="3"><!-- de novo test with count table (missing group info)-->
            <param name="fasta" value="chimera.fasta"/>
            <param name="source" value="self"/>
            <param name="count" value="chimera.count_table_wogroups" ftype="mothur.count_table"/>
            <param name="dereplicate" value="true"/>
            <!-- for some reason only for count tables wo group info header is printed -->
            <output name="vsearch.chimeras" file="chimera.vsearch.chimeras_wogroups" ftype="txt"/>
            <output name="out_accnos" file="chimera.vsearch.accnos" ftype="mothur.accnos" sort="true"/>
            <param name="savelog" value="true"/>
            <expand macro="logfile-test"/>
        </test>
        <test expect_num_outputs="3"><!-- test with reference file -->
            <param name="fasta" value="stool_small.unique.fasta"/>
            <param name="source" value="hist"/>
            <param name="reference" value="stool_small.unique.fasta"/>
            <output name="vsearch.chimeras" ftype="txt">
                <assert_contents>
                    <expand macro="test-chimera-format"/>
                    <has_text text="F11Fcsw_12747"/>
                </assert_contents>
            </output>
            <output name="out_accnos" ftype="mothur.accnos">
                <assert_contents>
                    <expand macro="test-accnos-format"/>
                    <has_text text="F11Fcsw_23322"/>
                </assert_contents>
            </output>
            <param name="savelog" value="true"/>
            <expand macro="logfile-test"/>
        </test>
    </tests>
    <help><![CDATA[

@MOTHUR_OVERVIEW@

**Command Documentation**

The chimera.vsearch_ command reads a fasta file and reference file and outputs potentially chimeric sequences.

.. _chimera.vsearch: https://www.mothur.org/wiki/Chimera.vsearch

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