view pcr.seqs.xml @ 1:d2e1ae25974c draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/mothur commit 721531d2e9fd1e208a3fba8cfbe5dcd572599ca2
author iuc
date Tue, 05 Sep 2017 17:06:09 -0400
parents 692381e1abfe
children 9a1fd25e2a1a
line wrap: on
line source

<tool profile="16.07" id="mothur_pcr_seqs" name="Pcr.seqs" version="@WRAPPER_VERSION@.0">
    <description>Trim sequences</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements"/>
    <expand macro="stdio"/>
    <expand macro="version_command"/>
    <command><![CDATA[
        @SHELL_OPTIONS@

        ## create symlinks to input datasets
        ln -s "$fasta" fasta.dat &&
        ln -s "$name_in" name_in.dat &&
        ln -s "$group_in" group_in.dat &&
        ln -s "$taxonomy_in" taxonomy_in.dat &&
        #if $trim.method == "oligos":
            ln -s "$trim.oligos" trim.oligos.dat &&
        #elif $trim.method == "reference":
            ln -s "$trim.ecoli" trim.ecoli.dat &&
        #end if

        echo 'pcr.seqs(
            fasta=fasta.dat,
            #if $name_in
                name=name_in.dat,
            #end if
            #if $group_in:
                group=group_in.dat,
            #end if
            #if $taxonomy_in:
                taxonomy=taxonomy_in.dat,
            #end if
            #if $trim.method == "oligos":
                oligos=trim.oligos.dat,
                nomatch=$trim.nomatch,
                $trim.keepprimer
            #elif $trim.method == "reference":
                ecoli=trim.ecoli.dat,
            #elif $trim.method == "position":
                start=$trim.start,
                #if $trim.end and int($trim.end) > 0:
                    end=$trim.end,
                #end if
            #end if
            #if $pdiffs:
                pdiffs=$pdiffs,
            #end if
            $keepdots
            processors='\${GALAXY_SLOTS:-8}'
        )'
        | sed 's/ //g'  ## mothur trips over whitespace
        | mothur
        | tee mothur.out.log
    ]]></command>
    <inputs>
        <param name="fasta" type="data" format="mothur.align" label="fasta - Candiate Sequences" help="sequences must be aligned"/>
        <conditional name="trim">
            <param name="method" type="select" label="Trim with an oligos file?" help="">
                <option value="oligos">oligos</option>
                <option value="reference">reference sequence</option>
                <option value="position">start and end positions</option>
            </param>
            <when value="oligos">
                <param name="oligos" type="data" format="mothur.oligos" optional="true" label="oligos - barcodes and primers" help="a file that can contain the sequences of the forward and reverse primers and barcodes and their sample identifier. Each line of the oligos file can start with the key words &quot;forward&quot;, &quot;reverse&quot;, and &quot;barcode&quot; or it can start with a &quot;#&quot; to tell mothur to ignore that line of the oligos file."/>
                <param name="nomatch" type="select" label="nomatch - action when no primer is found">
                    <option value="reject" selected="true">reject (default)</option>
                    <option value="keep">keep</option>
                </param>
                <param name="keepprimer" type="boolean" falsevalue="" truevalue="keepprimer=true," checked="false" label="keepprimer - keep the primer in the output sequence"/>
            </when>
            <when value="reference">
                <param name="ecoli" type="data" format="mothur.align" optional="true" label="ecoli - An aligned reference sequence for trimming" help="The ecoli parameter is used to provide a fasta file containing a single reference sequence (e.g. for e. coli) this must be aligned. Mothur will trim to the start and end positions of the reference sequence."/>
            </when>
            <when value="position">
                <param name="start" type="integer" min="0" value="0" optional="true" label="start - a starting position to trim to"/>
                <param name="end" type="integer" value="" optional="true" min="0" label="end - a ending position to trim from"/>
            </when>
        </conditional>
        <param name="keepdots" type="boolean" falsevalue="keepdots=false," truevalue="" checked="true" label="keepdots - keep the leading and trailing alignment dots in the output sequences"/>
        <param name="taxonomy_in" type="data" format="mothur.seq.taxonomy" optional="true" label="taxonomy - Sequence Taxonomy"/>
        <param name="name_in" type="data" format="mothur.names" optional="true" label="name - Sequence representative name list"/>
        <param name="group_in" type="data" format="mothur.groups" optional="true" label="group - Group file"/>
        <param name="pdiffs" type="integer" value="0" min="0" label="pdiffs - number of differences to allow in the primer (default 0)"/>
    </inputs>
    <outputs>
        <expand macro="logfile-output"/>
        <data name="pcr_fasta" format="mothur.align" from_work_dir="fasta.pcr.dat" label="${tool.name} on ${on_string}: pcr.fasta"/>
        <data name="scrap_fasta" format="mothur.align" from_work_dir="fasta.scrap.pcr.dat" label="${tool.name} on ${on_string}: pcr.scrap.fasta"/>
        <data name="taxonomy_out" format="mothur.seq.taxonomy" from_work_dir="taxonomy_in*.pcr.dat" label="${tool.name} on ${on_string}: tax.summary">
            <filter>taxonomy_in</filter>
        </data>
        <data name="group_out" format="mothur.groups" from_work_dir="group_in*.pcr.dat" label="${tool.name} on ${on_string}: mothur.groups">
            <filter>group_in</filter>
        </data>
        <data name="name_out" format="mothur.names" from_work_dir="name_in*.pcr.dat" label="${tool.name} on ${on_string}: mothur.names">
            <filter>name_in</filter>
        </data>
        <data name="accnos_out" format="mothur.accnos" from_work_dir="fasta*.bad.accnos" label="${tool.name} on ${on_string}: bad.accnos">
            <filter>trim['method'] =='oligos'</filter>
        </data>
    </outputs>
    <tests>
        <test><!-- test with position method -->
            <param name="fasta" value="amazon.align_head" ftype="mothur.align"/>
            <param name="keepdots" value=""/>
            <param name="method" value="position"/>
            <param name="start" value="0"/>
            <param name="end" value="0"/>
            <param name="pdiffs" value="0"/>
            <expand macro="logfile-test"/>
            <output name="pcr_fasta" md5="4f9c3a835bbba51c64fbf86c8a467d0e" ftype="mothur.align"/>
            <output name="scrap_fasta" md5="d41d8cd98f00b204e9800998ecf8427e" ftype="mothur.align"/>
        </test>
        <test><!-- test with reference method -->
            <param name="fasta" value="amazon.align_head" ftype="mothur.align"/>
            <param name="keepdots" value="keepdots=false,"/>
            <param name="method" value="reference"/>
            <param name="ecoli" value="amazon.align_head"/>
            <param name="name_in" value="amazon.align_head.names"/>
            <param name="pdiffs" value="2"/>
            <expand macro="logfile-test"/>
            <output name="pcr_fasta" md5="4bef877bd45f47041f3d17dc017f21ea" ftype="mothur.align"/>
            <output name="scrap_fasta" md5="d41d8cd98f00b204e9800998ecf8427e" ftype="mothur.align"/>
            <output name="name_out" md5="0c58174137c2ecabf7da9ab492ea46fc" ftype="mothur.names"/>
        </test>
        <test><!-- test with oligos and all outputs -->
            <param name="fasta" value="amazon.align_head" ftype="mothur.align"/>
            <param name="method" value="oligos"/>
            <param name="oligos" value="GQY1XT001.oligos" ftype="mothur.oligos"/>
            <param name="name_in" value="amazon.names" ftype="mothur.names"/>
            <param name="group_in" value="amazon.groups" ftype="mothur.groups"/>
            <param name="taxonomy_in" value="amazon.wang.wang.taxonomy" ftype="mothur.seq.taxonomy"/>
            <param name="start" value="5"/>
            <param name="end" value="50"/>
            <expand macro="logfile-test"/>
            <output name="pcr_fasta" md5="d41d8cd98f00b204e9800998ecf8427e" ftype="mothur.align"/>
            <output name="scrap_fasta" md5="0b63807f339dfd88cf958f7b069eba02" ftype="mothur.align"/>
            <output name="group_out" md5="301c358e61d38c83cc7382a8a210089a" ftype="mothur.groups"/>
            <output name="name_out" md5="62eb1162557408509c931496071add85" ftype="mothur.names"/>
            <output name="taxonomy_out" md5="4d72981cefd8b45d4f2793a28dccd9e4" ftype="mothur.seq.taxonomy"/>
            <output name="accnos_out" md5="48d019b92e4d303faf88a974e52f7a97" ftype="mothur.accnos"/>
        </test>
    </tests>
    <help>
<![CDATA[

@MOTHUR_OVERVIEW@

**Command Documentation**

The pcr.seqs_ command assigns sequences to chosen taxonomy outline.

.. _pcr.seqs: https://www.mothur.org/wiki/Pcr.seqs

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