view stacks_shortreads.xml @ 7:c287418eb288 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/stacks2 commit feda4e2ea70c013fcddd1dbdeab73158fe9c86a4
author iuc
date Mon, 23 May 2022 17:48:31 +0000
parents 4e280b27a831
children
line wrap: on
line source

<!-- this is essentially a copy of stacks_procrad minus the unsupported options -->
<tool id="stacks2_shortreads" name="Stacks2: process shortreads" profile="@PROFILE@" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@">
<description>fast cleaning of randomly sheared genomic or transcriptomic data</description>
    <macros>
        <import>macros.xml</import>
        <import>macros_process.xml</import>
    </macros>
    <expand macro="requirements"/>
    <expand macro="version_cmd"/>
    <command detect_errors="aggressive"><![CDATA[
@FASTQ_INPUT_FUNCTIONS@

python '$__tool_directory__'/check_bcfile.py '$barcode' &&

mkdir stacks_inputs stacks_outputs &&

#set ($link_command, $inputype) = $fastq_input_nonbatch( $input_type.fqinputs, $input_type.input_type_select, "_R%d_0" )
$link_command


process_shortreads

-p stacks_inputs/
#if $input_type.input_type_select == "paired"
    --paired
#end if
-i $inputype
-b '$barcode'
$input_type.barcode_encoding
#if str( $outype ) != "auto"
    -y $outype
#end if
-o stacks_outputs
@PROCESS_FILTER@
@COMMON_ADVANCED@
@RESCUE_BARCODE@
@PROCESS_ADAPTER@

## advanced options not shared between shortreads and radtags
$options_advanced.no_read_trimming
$options_advanced.mate_pair
$options_advanced.no_overhang

@PROCESS_FASTQ_POSTPROC@
    ]]></command>

    <inputs>
        <expand macro="fastq_input_bc_file" multiple="true" listtype="list:paired"/>
        <section name="options_advanced" title="advanced options" expanded="False">
            <expand macro="common_advanced"/>
            <param argument="--no_read_trimming" type="boolean" checked="false" truevalue="--no_read_trimming" falsevalue="" label="Do not trim low quality reads, just discard them"/>
            <param argument="--mate-pair" name="mate_pair" type="boolean" checked="false" truevalue="--mate-pair" falsevalue="" label="Raw reads are circularized mate-pair data, first read will be reverse complemented"/>
            <param argument="--no_overhang" type="boolean" checked="false" truevalue="--no_overhang" falsevalue="" label="Data does not contain an overhang nucleotide between barcode and seqeunce"/>
            <expand macro="rescue_barcode"/>
            <expand macro="process_adapter"/>
        </section>
        <expand macro="process_filter"/>
        <expand macro="process_output_types"/>
        <expand macro="in_log"/>
    </inputs>

    <outputs>
        <data format="txt" name="output_log" label="${tool.name} on ${on_string} log file" from_work_dir="stacks_outputs/process_shortreads.log">
            <filter>add_log</filter>
        </data>
        <expand macro="process_outputs">
            <collection name="demultiplexed" type="list" label="${tool.name} on ${on_string} Demultiplexed reads">
                <filter>input_type['input_type_select'] == "single"</filter>
                <expand macro="discover_faqgz_output_macro" pattern="(?P&lt;name&gt;.+)" dir="stacks_outputs"/>
            </collection>
            <collection name="demultiplexed_paired" type="list:paired" label="${tool.name} on ${on_string} Demultiplexed reads">
                <filter>input_type['input_type_select'] == "paired"</filter>
                <expand macro="discover_faqgz_output_macro" pattern="(?P&lt;identifier_0&gt;.+)\.(?P&lt;identifier_1&gt;[^.]+)" dir="stacks_outputs"/>
            </collection>
        </expand>
    </outputs>

    <tests>
        <!-- test single end, default options -->
        <test expect_num_outputs="2">
            <param name="input_type|input_type_select" value="single"/>
            <param name="input_type|fqinputs" ftype="fastqsanger" value="procrad/R1_01.fq,procrad/R1_02.fq,procrad/R1_03.fq,procrad/R1_04.fq"/>
            <param name="input_type|barcode_encoding" value="--inline_null"/>
            <param name="barcode" value="procrad/barcodes"/>
            <param name="add_log" value="yes"/>
            <output name="output_log" file="shortreads/process_shortreads.out" lines_diff="4"/>
            <output_collection name="demultiplexed" count="40">
                <element name="PopA_01">
                    <assert_contents>
                        <has_size value="34964" delta="100"/>
                        <has_text text="@lane1_fakedata9_0 1:N:0:/1"/>
                    </assert_contents>
                </element>
            </output_collection>
        </test>
        <!-- test single end, default options -->
        <test expect_num_outputs="4">
            <param name="input_type|input_type_select" value="paired"/>
            <param name="input_type|fqinputs">
                <collection type="list:paired">
                    <element name="reads">
                        <collection type="paired">
                            <element name="forward" value="procrad/R1.fq.gzip" ftype="fastqsanger.gz"/>
                            <element name="reverse" value="procrad/R2.fq.gzip" ftype="fastqsanger.gz"/>
                        </collection>
                    </element>
                </collection>
            </param>
            <param name="input_type|barcode_encoding" value="--inline_null"/>
            <param name="barcode" value="procrad/barcodes"/>
            <param name="capture" value="-D"/>
            <param name="no_read_trimming" value="--no_read_trimming"/>
            <param name="mate_pair" value="--mate-pair"/>
            <param name="no_overhang" value="--no_overhang"/>
            <param name="outype" value="gzfastq"/>
            <param name="add_log" value="yes"/>
            <assert_command>
                <has_text text="-D"/>
                <has_text text="--no_read_trimming"/>
                <has_text text="--mate-pair"/>
                <has_text text="--no_overhang"/>
            </assert_command>
            <output name="output_log">
                <assert_contents><has_text text="ATGTAG"/></assert_contents>
                <assert_contents><has_text text="Sequences not recorded"/></assert_contents>
            </output>
            <output_collection name="demultiplexed_paired" type="list:paired" count="40">
                <element name="PopA_01">
                    <element name="forward" value="shortreads/PopA_01.forward.fq.gz" ftype="fastqsanger.gz" compare="diff"/>
                    <element name="reverse" value="shortreads/PopA_01.reverse.fq.gz" ftype="fastqsanger.gz" compare="diff"/>
                </element>
            </output_collection>
            <output_collection name="remaining" type="list:paired" count="40">
                <element name="PopA_01">
                    <element name="forward" file="shortreads/PopA_01.rem.forward.fq.gz" ftype="fastqsanger.gz"/>
                    <element name="reverse" file="shortreads/PopA_01.rem.reverse.fq.gz" ftype="fastqsanger.gz"/>
                </element>
            </output_collection>
            <output_collection name="discarded_paired" type="list:paired" count="1">
                <element name="reads">
                    <element name="forward" file="shortreads/reads.forward.fq" ftype="fastqsanger"/>
                    <element name="reverse" file="shortreads/reads.forward.fq" ftype="fastqsanger"/>
                </element>
            </output_collection>
        </test>
    </tests>
    <help>
<![CDATA[
.. class:: infomark

**What it does**

Performs the same task as process_radtags for fast cleaning of randomly sheared genomic or transcriptomic data, not for RAD data.

**Help**

Input files:

- FASTQ

- Barcode File Format

The barcode file is a very simple format:

======= ===========
Barcode Sample name
======= ===========
ATGGGG  PopA_01
GGGTAA  PopA_02
AGGAAA  PopA_03
TTTAAG  PopA_04
GGTGTG  PopA_05
TGATGT  PopA_06
======= ===========

Combinatorial barcodes are specified, one per column, separated by a tab:

======== ======== ===========
Barcode1 Barcode2 Sample name
======== ======== ===========
CGATA    ACGTA    PopA_01
CGGCG    CGTA     PopA_02
GAAGC    CGTA     PopA_03
GAGAT    CGTA     PopA_04
CGATA    AGCA     PopA_05
CGGCG    AGCA     PopA_06
======== ======== ===========

@STACKS_INFOS@
]]>
    </help>
    <expand macro="citation"/>
</tool>