diff macros_process.xml @ 0:b2e3553e1be2 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/stacks2 commit b395fa36fa826e26085820ba3a9faacaeddcb460
author iuc
date Mon, 01 Jul 2019 10:58:28 -0400
parents
children 38c9f9a680f0
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macros_process.xml	Mon Jul 01 10:58:28 2019 -0400
@@ -0,0 +1,183 @@
+<?xml version="1.0"?>
+
+<!-- macros and tokens for process_radtags and process_short_reads -->
+
+<macros>
+
+    <token name="@PROCESS_IOOPTIONS@"><![CDATA[
+    -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
+    ]]></token>
+    <xml name="process_output_types">
+        <param name="outype" argument="-y" type="select" label="Output format" >
+            <option value="auto" selected="True">Same as input</option>
+            <option value="fastq">fastq</option>
+            <option value="fasta">fasta</option>
+            <option value="gzfastq">gzipped fastq</option>
+            <option value="gzfasta">gzipped fasta</option>
+        </param>
+    </xml>
+
+    <xml name="discover_faqgz_output_macro" token_pattern="" token_dir="">
+        <expand macro="discover_faq_output_macro" pattern="@PATTERN@" dir="@DIR@"/>
+        <discover_datasets pattern="@PATTERN@\.fq\.gz$" ext="fastqsanger.gz" directory="@DIR@/" />
+        <discover_datasets pattern="@PATTERN@\.fa\.gz$" ext="fasta.gz" directory="@DIR@/" />
+    </xml>
+    <xml name="discover_faq_output_macro" token_pattern="" token_dir="">
+        <discover_datasets pattern="@PATTERN@\.fq$" ext="fastqsanger" directory="@DIR@/" />
+        <discover_datasets pattern="@PATTERN@\.fa$" ext="fasta" directory="@DIR@/" />
+    </xml>
+
+    <xml name="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>
+
+        <collection name="remaining" type="list:paired" label="${tool.name} on ${on_string} Remaining orphan reads">
+            <filter>input_type['input_type_select'] == "paired"</filter>
+            <expand macro="discover_faqgz_output_macro" pattern="(?P&lt;identifier_0&gt;.+)\.rem\.(?P&lt;identifier_1&gt;[^.]+)" dir="stacks_outputs/remaining"/>
+        </collection>
+
+        <!-- note irrespective of -y output is always named fastq and are never zipped -->
+        <collection name="discarded" type="list" label="${tool.name} on ${on_string} Discarded reads">
+            <filter>capture is True and input_type['input_type_select'] == "single"</filter>
+            <expand macro="discover_faq_output_macro" pattern="(?P&lt;name&gt;.*)" dir="stacks_outputs/discarded"/>
+        </collection>
+        <collection name="discarded_paired" type="list:paired" label="${tool.name} on ${on_string} Discarded reads">
+            <filter>capture is True and input_type['input_type_select'] == "paired"</filter>
+            <expand macro="discover_faq_output_macro" pattern="(?P&lt;identifier_0&gt;.+)\.(?P&lt;identifier_1&gt;[^.]+)" dir="stacks_outputs/discarded"/>
+        </collection>
+    </xml>
+
+    <!-- FASTQ filtering options -->
+    <xml name="process_filter">
+        <conditional name="filter_cond" >
+            <param name="filter_select" type="select" label="Do quality filtering">
+                <option value="yes">Yes</option>
+                <option value="no" selected="true">No</option>
+            </param>
+            <when value="yes">
+                <param name="sliding" type="float" value="0.15" min="0" max="1" argument="-w" label="Set the size of the sliding window as a fraction of the read length, between 0 and 1" />
+                <param name="score" type="integer" value="10" min="0" max="40" argument="-s" label="Set the score limit. If the average score within the sliding window drops below this value, the read is discarded" />
+                <param name="remove" type="boolean" checked="false" truevalue="-c" falsevalue="" argument="-c" label="Clean data, remove any read with an uncalled base" />
+                <param name="discard" type="boolean" checked="false" truevalue="-q" falsevalue="" argument="-q" label="Discard reads with low quality scores"/>
+                <param argument="--filter_illumina" type="boolean" checked="false" truevalue="--filter_illumina" falsevalue="" label="Discard reads that have been marked by Illumina's chastity/purity filter as failing" />
+            </when>
+            <when value="no">
+                <param argument="--len_limit" type="integer" value="" optional="true" label="Minimum sequence length" help="useful if your data has already been trimmed"/>
+            </when>
+        </conditional>
+        <param name="capture" type="boolean" checked="false" truevalue="-D" falsevalue="" argument="-D" label="Capture discarded reads to a file" />
+    </xml>
+    <token name="@PROCESS_FILTER@"><![CDATA[
+    #if $filter_cond.filter_select == 'yes':
+        -w $filter_cond.sliding
+        -s $filter_cond.score
+        $filter_cond.remove
+        $filter_cond.discard
+        $filter_cond.filter_illumina
+    #else
+        #if str($filter_cond.len_limit) != "":
+            --len_limit $filter_cond.len_limit
+        #end if
+    #end if
+    $capture
+    ]]></token>
+    <token name="@PROCESS_FASTQ_POSTPROC@"><![CDATA[
+    #if $capture:
+        && mkdir stacks_outputs/discarded/
+        && mv stacks_outputs/*discards stacks_outputs/discarded/
+
+        ## fix the _R[12]_0 that was added for preparing the input
+        #if $input_type.input_type_select == 'paired':
+            && find stacks_outputs/discarded/ -type f | while read file; do mv "\$file" "\$(echo \$file | sed 's/_R1_0/.1/; s/_R2_0/.2/;')"; done
+        #end if
+        ## also remove the gz which is added by procrad (but its uncompressed)
+        && find stacks_outputs/discarded/ -type f -iname "*.gz.discards" | while read file; do mv "\$file" "\$(echo \$file | sed 's/.gz.discards$/.discards/;')"; done
+
+        ## the discard files are named fastq even if the output is fasta
+        #if str($outype).endswith("fasta"):
+            && find stacks_outputs/discarded/ -type f | while read file; do mv "\$file" "\$(echo \$file | sed 's/\.fastq.discards/.fa/;')"; done
+        #else
+            && find stacks_outputs/discarded/ -type f | while read file; do mv "\$file" "\$(echo \$file | sed 's/\.fastq.discards/.fq/;')"; done
+        #end if
+    #end if
+    ## prepare paired read output for processing in galaxy
+    #if $input_type.input_type_select == 'paired':
+        && mkdir stacks_outputs/remaining
+        && find stacks_outputs -iregex ".*\.rem\.[12]\.f[aq]\(\.gz\)?" | while read file; do mv "\$file" stacks_outputs/remaining/; done
+        && find stacks_outputs/ -iregex ".*.f[aq]\(\.gz\)?" | while read file; do mv "\$file" "\$(echo \$file | sed 's/\.1\./.forward./; s/\.2\./.reverse./')"; done
+    #end if
+    ]]></token>
+
+    <!-- adapter trimming options -->
+    <xml name="process_adapter">
+            <param argument="--adapter_1" type="text" value="" optional="true" label="Adaptor sequence that may occur on the first read" />
+            <param argument="--adapter_2" type="text" value="" optional="true" label="Adaptor sequence that may occur on the paired-read" />
+            <param argument="--adapter_mm" type="integer" value="" optional="true" label="Number of mismatches allowed in the adapter sequence"/>
+    </xml>
+    <token name="@PROCESS_ADAPTER@"><![CDATA[
+    ## Adapter options
+    #if str($options_advanced.adapter_1) != "":
+        --adapter_1 $options_advanced.adapter_1
+    #end if
+    #if str($options_advanced.adapter_2) != "":
+        --adapter_2 $options_advanced.adapter_2
+    #end if
+    #if str($options_advanced.adapter_mm) != "":
+        --adapter_mm $options_advanced.adapter_mm
+    #end if
+    ]]></token>
+
+    <!-- barcode rescue options -->
+    <xml name="rescue_barcode">
+        <conditional name="rescue_cond">
+            <param name="rescue" type="select" argument="-r" label="Rescue mutated barcodes and RAD-Tags?">
+                <option value="-r">yes</option>
+                <option value="" selected="true">no</option>
+            </param>
+            <when value="-r">
+                <param argument="--barcode_dist_1" type="integer" value="" optional="true" label="Number of allowed mismatches when rescuing first read barcodes" help="(default 1)"/>
+                <param argument="--barcode_dist_2" type="integer" value="" optional="true" label="Number of allowed mismatches when rescuing paired read barcodes" help="(default value for single end barcodes)"/>
+            </when>
+            <when value=""/>
+        </conditional>
+    </xml>
+    <token name="@RESCUE_BARCODE@"><![CDATA[
+    #if str($options_advanced.rescue_cond.rescue) != ""
+        $options_advanced.rescue_cond.rescue
+        #if str($options_advanced.rescue_cond.barcode_dist_1) != "":
+            --barcode_dist_1 $options_advanced.rescue_cond.barcode_dist_1
+        #end if
+        #if str($options_advanced.rescue_cond.barcode_dist_2) != "":
+            --barcode_dist_2 $options_advanced.rescue_cond.barcode_dist_2
+        #end if
+    #end if
+    ]]></token>
+
+    <!-- advanced options that are shared -->
+    <xml name="common_advanced">
+        <param name="truncate" type="integer" value="" optional="True" argument="-t" label="Truncate final read length to this value" />
+        <param argument="--retain_header" type="boolean" checked="false" truevalue="--retain_header" falsevalue="" label="Retain unmodified FASTQ headers in the output" />
+    </xml>
+    <token name="@COMMON_ADVANCED@"><![CDATA[
+    #if str($options_advanced.truncate)
+        -t $options_advanced.truncate
+    #end if
+    $options_advanced.retain_header
+    ]]></token>
+</macros>