view pcr.seqs.xml @ 2:9a1fd25e2a1a draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/mothur commit 3418f23b9768f5aafb86488f5ec1cb97530d4fb3
author iuc
date Tue, 20 Mar 2018 22:19:52 -0400
parents 692381e1abfe
children
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
    pdiffs=$pdiffs,
    rdiffs=$rdiffs,
    $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,fasta" 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 forward primers (default 0)"/>
        <param name="rdiffs" type="integer" value="0" min="0" label="rdiffs - number of differences to allow in the reverse primers (default 0)"/>
        <expand macro="param-savelog"/>
    </inputs>
    <outputs>
        <expand macro="logfile-output"/>
        <data name="pcr_fasta" format_source="fasta" from_work_dir="fasta.pcr.dat" label="${tool.name} on ${on_string}: pcr.fasta"/>
        <data name="scrap_fasta" format_source="fasta" 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"/>
            <param name="savelog" value="true"/>
            <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" ftype="mothur.align"/>
            <param name="name_in" value="amazon.align_head.names"/>
            <param name="pdiffs" value="2"/>
            <param name="savelog" value="true"/>
            <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"/>
            <param name="savelog" value="true"/>
            <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>