view chimera.uchime.xml @ 10:d9fe0fecb696 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:33:33 +0000
parents 4e3780d096af
children
line wrap: on
line source

<tool profile="16.07" id="mothur_chimera_uchime" name="Chimera.uchime" version="@WRAPPER_VERSION@.0">
    <description>Find putative chimeras using uchime</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="biotools"/>
    <expand macro="requirements"/>
    <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.uchime(
    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,
    xa=$xa,
    chunks=$chunks,
    minchunk=$minchunk,
    #if $idsmoothwindow:
        idsmoothwindow=$idsmoothwindow,
    #end if
    maxp=$maxp,
    minlen=$minlen,
    maxlen=$maxlen,
    skipgaps=$skipgaps,
    skipgaps2=$skipgaps2,
    #if $alignment.ucl == "local":
        ucl=true,
        #if $alignment.queryfract:
            queryfract=$alignment.queryfract,
        #end if
    #end if
    dereplicate=$dereplicate,
    chimealns=$chimealns,
    processors='\${GALAXY_SLOTS:-8}'
)'
| sed 's/ //g'  ## mothur trips over whitespace
| mothur
| tee mothur.out.log
2>&1  ## uchime component writes output to stderr
    ]]></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="skipgaps" type="boolean" falsevalue="false" truevalue="true" checked="true"
            label="skipgaps - columns containing gaps do not count as diffs"
            help="controls how gapped columns affect counting of diffs"/>
        <param argument="skipgaps2" type="boolean" falsevalue="false" truevalue="true" checked="true"
            label="skipgaps2 - column is immediately adjacent to a column containing a gap, it is not counted as a diff"
            help="controls how gapped columns affect counting of diffs"/>
        <param argument="chimealns" type="boolean" falsevalue="false" truevalue="true" checked="false"
            label="chimealns - Produce a file containing multiple alignments of query sequences to parents in human readable format"
            help="Alignments show columns with differences that support or contradict a chimeric model."/>
        <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="xa" type="float" value="1.0" min="0" label="xa - eight of an abstain vote"
            help="Reasonable values might range from 0.1 to 2.0. Default 1.0"/>
        <param argument="chunks" type="integer" value="4" min="0" label="chunks - number of chunks"
            help="number of chunks to extract from the query sequence when searching for parents.  Default 4."/>
        <param argument="minchunk" type="integer" value="64" min="0" label="minchunk - minimum length of a chunk" help="Default 64"/>
        <param argument="maxp" type="integer" value="2" min="0" label="maxp - maximum number of candidate parents to consider"
            help="increasing maxp gives only a very small improvement in sensivity but tends to increase the error rate quite a bit. Default 2"/>
        <param argument="minlen" type="integer" value="10" min="0" label="minlen - minimum unaligned sequence length"
            help="Applies to both query and reference sequences. Default 10"/>
        <param argument="maxlen" type="integer" value="10000" min="0" label="maxlen - maximum unaligned sequence length"
            help="Applies to both query and reference sequences. Default 10000"/>
        <param argument="idsmoothwindow" type="integer" value="32" min="0" optional="True" label="idsmoothwindow - the length of id smoothing window"
            help="Default 32"/>
        <conditional name="alignment">
            <param argument="ucl" type="select" label="ucl - Use local-X alignments" help="global-X is the default">
                <option value="global" selected="true">global</option>
                <option value="local">local</option>
            </param>
            <when value="global"/>
            <when value="local">
                <param argument="queryfract" type="float" value="0.5" min="0" max="1"
                    label="queryfract - minimum fraction of the query sequence that must be covered by a local-X alignment" help="Default 0.5"/>
            </when>
        </conditional>
        <expand macro="param-savelog"/>
    </inputs>
    <outputs>
        <expand macro="logfile-output"/>
        <data name="uchime.chimeras" format="txt" from_work_dir="fasta.*uchime.chimeras" label="${tool.name} on ${on_string}: uchime.chimeras"/>
        <data name="out_accnos" format="mothur.accnos" from_work_dir="fasta.*uchime.accnos" label="${tool.name} on ${on_string}: uchime.accnos"/>
        <data name="out_alns" format="txt" from_work_dir="fasta.*uchime.alns" label="${tool.name} on ${on_string}: uchime.alns">
            <filter>chimealns</filter>
        </data>
        <data name="out_count" format="mothur.count_table" from_work_dir="template.*uchime.pick.count_table" label="${tool.name} on ${on_string}: uchime.count_table">
            <filter>template['source'] == 'self' and template['count']</filter>
        </data>
    </outputs>
    <tests>
        <test><!-- default params test -->
            <param name="fasta" value="Mock_S280_L001_R1_001_small.trim.contigs.good.align_head_withchimera"/>
            <param name="source" value="hist"/>
            <param name="reference" value="HMP_MOCK.v35.align"/>
            <output name="uchime.chimeras" file="Mock_S280_L001_R1_001_small.trim.contigs.good.ref.uchime.chimeras" ftype="txt"/>
            <output name="out_accnos" file="Mock_S280_L001_R1_001_small.trim.contigs.good.ref.uchime.accnos" ftype="mothur.accnos"/>
            <param name="savelog" value="true"/>
            <expand macro="logfile-test"/>
        </test>
        <test><!-- de novo test -->
            <param name="fasta" value="Mock_S280_L001_R1_001_small.trim.contigs.good.align_head"/>
            <param name="source" value="self"/>
            <output name="uchime.chimeras" file="Mock_S280_L001_R1_001_small.trim.contigs.good.denovo.uchime.chimeras" ftype="txt"/>
            <output name="out_accnos" md5="d41d8cd98f00b204e9800998ecf8427e" ftype="mothur.accnos"/>
            <param name="savelog" value="true"/>
            <expand macro="logfile-test"/>
        </test>
        <test><!-- with chimealns output -->
            <param name="fasta" value="Mock_S280_L001_R1_001_small.trim.contigs.good.align_head_withchimera"/>
            <param name="source" value="hist"/>
            <param name="reference" value="HMP_MOCK.v35.align"/>
            <param name="chimealns" value="true"/>
            <output name="uchime.chimeras" file="Mock_S280_L001_R1_001_small.trim.contigs.good.ref.uchime.chimeras" ftype="txt"/>
            <output name="out_accnos" file="Mock_S280_L001_R1_001_small.trim.contigs.good.ref.uchime.accnos" ftype="mothur.accnos"/>
            <output name="out_alns" file="Mock_S280_L001_R1_001_small.trim.contigs.good.ref.uchime.alns" ftype="txt"/>
            <param name="savelog" value="true"/>
            <expand macro="logfile-test"/>
        </test>
    </tests>
    <help><![CDATA[

@MOTHUR_OVERVIEW@

**Command Documentation**

The chimera.uchime_ command reads a fasta file and reference file and outputs potentially chimeric sequences. The original uchime program was written by Robert C. Edgar and donated to the public domain, http://drive5.com/uchime

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

Version 1.23.0: Upgrades tool dependency to mothur 1.33 and adds support for count (mothur 1.28) and dereplicate (mothur 1.29) options.

    ]]></help>
    <expand macro="citations">
        <citation type="doi">10.1093/bioinformatics/btr381</citation>
    </expand>
</tool>