view trim.flows.xml @ 9:1fead600dbd4 draft default tip

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/mothur commit dfdd4c590370ecb3a9806314d43eb5668e36a01a"
author iuc
date Fri, 22 Jan 2021 00:02:30 +0000
parents 9d48c9a47566
children
line wrap: on
line source

<tool profile="16.07" id="mothur_trim_flows" name="Trim.flows" version="@WRAPPER_VERSION@.0">
    <description>partition by barcode, trim to length, cull by length and mismatches</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 '$flow' flow.dat &&
#if $oligo.add == "yes":
    ln -s '$oligo.oligos' oligo.oligos.dat &&
#end if

echo 'trim.flows(
    flow=flow.dat,
    minflows=$minflows,
    maxflows=$maxflows,
    #if $maxhomop:
        maxhomop=$maxhomop,
    #end if
    order=$order,
    signal=$signal,
    noise=$noise,
    #if $oligo.add == "yes":
        oligos=oligo.oligos.dat,
        bdiffs=$oligo.bdiffs,
        pdiffs=$oligo.pdiffs,
        tdiffs=$oligo.tdiffs,
        ldiffs=$oligo.ldiffs,
        sdiffs=$oligo.sdiffs,
    #end if
    fasta=$fasta,
    processors='\${GALAXY_SLOTS:-8}'
)'
| sed 's/ //g'  ## mothur trips over whitespace
| mothur
| tee mothur.out.log

## prevent these two files from being gathered into collection
&& mv flow.trim.flow flow.trim
&& mv flow.scrap.flow flow.scrap
    ]]></command>
    <inputs>
        <param name="flow" type="data" format="mothur.sff.flow" label="flow - flowgram data" help="Use sffinfo to generate flow data from an sff file"/>
        <conditional name="oligo">
            <param name="add" type="select" label="Trim with an oligos file?" 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">
                <option value="no">no</option>
                <option value="yes">yes</option>
            </param>
            <when value="no"/>
            <when value="yes">
                <param name="oligos" type="data" format="mothur.oligos" label="oligos - barcodes and primers"/>
                <param name="bdiffs" type="integer" value="0" min="0" label="bdiffs - number of differences to allow in the barcode (default 0)"/>
                <param name="pdiffs" type="integer" value="0" min="0" label="pdiffs - number of differences to allow in the primer (default 0)"/>
                <param name="tdiffs" type="integer" value="0" min="0" label="tdiffs - total number of differences to allow in primer and barcode (default 0)"/>
                <param name="ldiffs" type="integer" value="0" min="0" label="ldiffs - total number of differences to allow in linker sequence (default 0)"/>
                <param name="sdiffs" type="integer" value="0" min="0" label="sdiffs - total number of differences to allow in spacer sequence (default 0)"/>
            </when>
        </conditional>
        <param name="minflows" type="integer" value="450" min="0" label="minflows - Minimum number of flows that each sequence must contain to make it in to a &quot;trim&quot; file. (default 450)" help="(Quince uses 360)"/>
        <param name="maxflows" type="integer" value="450" min="0" label="maxflows - Maximum number of flows after which all other flows should be ignored (default 450)" help="(Quince uses 360 for GSFLX and 720 for Titanium)"/>
        <param name="maxhomop" type="integer" value="" optional="true" label="maxhomop - Maximum homopolymers" help=""/>
        <param name="signal" type="float" value="0.5" min="0.0" max="1.0" label="signal - treat any intensity signal greater than this threshold as a real signal" help="Optional. Between 0 an 1. Default .5"/>
        <param name="noise" type="float" value="0.7" min="0.0" max="1.0" label="noise - treat any intensity signal less than this threshold as noise" help="Optional. Between 0 and 1. Default .7"/>
        <param name="order" type="select" label="order - flow order for nucleotides in the sequencer" help="default is A, was TACG. Also accepts B or I">
            <option value="A" selected="true"> A (TACG) </option>
            <option value="B"> B </option>
            <option value="I"> I </option>
        </param>
        <param name="fasta" type="boolean" truevalue="true" falsevalue="false" checked="false" label="fasta - translate the flowgram data to fasta sequence format"/>
        <expand macro="param-savelog"/>
    </inputs>
    <outputs>
        <expand macro="logfile-output"/>
        <data name="trim_flow" format="mothur.sff.flow" from_work_dir="flow.trim" label="${tool.name} on ${on_string}: trim.flow"/>
        <data name="scrap_flow" format="mothur.sff.flow" from_work_dir="flow.scrap" label="${tool.name} on ${on_string}: scrap.flow"/>
        <data name="flow_files" format="tabular" from_work_dir="flow.flow.files" label="${tool.name} on ${on_string}: flow.files"/>
        <data name="flow_fasta" format="fasta" from_work_dir="flow.flow.fasta" label="${tool.name} on ${on_string}: flow.fasta">
            <filter>fasta</filter>
        </data>
        <collection name="flow_oligos" type="list" label="${tool.name} on ${on_string}: oligos.flow">
            <filter>oligo['add'] == 'yes'</filter>
            <discover_datasets pattern="flow\.(?P&lt;designation&gt;.*)\.flow" format="mothur.sff.flow"/>
        </collection>
    </outputs>
    <tests>
        <test><!-- test with defaults -->
            <param name="flow" value="mock.flow" ftype="mothur.sff.flow"/>
            <output name="trim_flow" md5="6850bb59570822aec6cd7aa7ce4675c4" ftype="mothur.sff.flow"/>
            <output name="scrap_flow" md5="e5d39459c28f5e7245bae7c509f05cba" ftype="mothur.sff.flow"/>
            <output name="flow_files" ftype="tabular">
                <assert_contents>
                    <has_text text="flow"/>
                </assert_contents>
            </output>
            <param name="savelog" value="true"/>
            <expand macro="logfile-test"/>
        </test>
        <test><!-- test with oligos file and fasta output -->
            <param name="flow" value="testflow.flow" ftype="mothur.sff.flow"/>
            <param name="add" value="yes"/>
            <param name="oligos" value="GQY1XT001.oligos" ftype="mothur.oligos"/>
            <param name="order" value="I"/>
            <param name="fasta" value="true"/>
            <param name="pdiffs" value="10"/>
            <param name="bdiffs" value="10"/>
            <output name="trim_flow" md5="fdb1634899e8a6f8490ace953382591e" ftype="mothur.sff.flow"/>
            <output name="scrap_flow" md5="dd2497eb1e3da8d513d2b0bc111cdf11" ftype="mothur.sff.flow"/>
            <output name="flow_files" ftype="tabular">
                <assert_contents>
                    <has_text text="flow"/>
                </assert_contents>
            </output>
            <output_collection name="flow_oligos" count="2">
                <element name="F003D006" md5="5ea6613d7aa26f87ca9b983152e14a4b" ftype="mothur.sff.flow"/>
            </output_collection>
            <output name="flow_fasta" md5="0725967a9ed731c049d48ea876b0e308" ftype="fasta"/>
            <param name="savelog" value="true"/>
            <expand macro="logfile-test"/>
        </test>
    </tests>
    <help><![CDATA[

@MOTHUR_OVERVIEW@

**Command Documentation**

The trim.flows_ command is analogous to the trim.seqs command, except that it uses the flowgram data that comes bundled in the sff file that is generated by 454 sequencing. It's primary usage is as a preliminary step to running shhh.seqs. Chris Quince has a series of perl scripts that fulfill a similar role [1]. This command will allow you to partition your flowgram data by sample based on the barcode, trim the flows to a specified length range, and cull sequences that are too short or have too many mismatches to barcodes and primers.

.. _trim.flows: https://www.mothur.org/wiki/Trim.flows

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