diff filter_by_name.xml @ 4:e40d2adb0896 draft

"planemo upload for repository https://github.com/quadram-institute-bioscience/galaxy-tools/tree/master/tools/bbmap commit d468e81e47906b2427e4e61f70101fac00a34aab-dirty"
author thanhlv
date Thu, 02 Jan 2020 17:17:56 +0000
parents
children 5127e62d11fb
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/filter_by_name.xml	Thu Jan 02 17:17:56 2020 +0000
@@ -0,0 +1,132 @@
+<?xml version="1.0"?>
+<tool id="bbmap_filterbyname" name="filter_by_name" version="@VERSION@">
+    <description>Filters reads by name</description>
+    <macros>
+        <import>macros.xml</import>
+    </macros>
+    <expand macro="requirements" />
+    <expand macro="version_command" />
+
+    <command><![CDATA[
+    #if $singlePaired.sPaired == "single":
+            #if $singlePaired.input_singles.is_of_type("fastq.gz"):
+                #set read1 = 'input_1.fastq.gz'
+                #set compressed = 'gz'
+            #else
+                #set read1 = 'input_1.fastq'
+            #end if
+            
+            #set fil_input = 'in='+ $read1 + ' out=f_read.fq'
+
+            ln -s '${singlePaired.input_singles}' ${read1} &&
+        #elif $singlePaired.sPaired == "paired":
+            #if $singlePaired.input_mate1.is_of_type("fastq.gz"):
+                #set read1 = 'input_1.fastq.gz'
+                #set compressed = 'gz'
+            #else
+                #set read1 = 'input_1.fastq'
+            #end if
+
+            ln -s '${singlePaired.input_mate1}' ${read1} &&
+
+            #if $singlePaired.input_mate2.is_of_type("fastq.gz"):
+                #set read2 = 'input_2.fastq.gz'
+            #else
+                #set read2 = 'input_2.fastq'
+            #end if
+            ln -s '${singlePaired.input_mate2}' ${read2} &&
+            #set fil_input = 'in=' + $read1 + ' in2=' + $read2 + ' out=f_read1.fq out2=f_read2.fq'
+        #else:
+            #if $singlePaired.input_mate_pairs.forward.is_of_type("fastq.gz"):
+                #set read1 = 'input_1.fastq.gz'
+                #set compressed = 'gz'
+            #else
+                #set read1 = 'input_1.fastq'
+            #end if
+            ln -s '${singlePaired.input_mate_pairs.forward}' ${read1} &&
+
+            #if $singlePaired.input_mate_pairs.reverse.is_of_type("fastq.gz"):
+                #set read2 = 'input_2.fastq.gz'
+            #else
+                #set read2 = 'input_2.fastq'
+            #end if
+            ln -s '${singlePaired.input_mate_pairs.reverse}' ${read2} &&
+            #set fil_input = 'in=' + $read1 + ' in2=' + $read2 + ' out=f_read1.fq out2=f_read2.fq'
+        #end if
+
+        filterbyname.sh
+        ${fil_input}
+        #if $source.type == "input_string":
+            names=$source.in_string
+        #elif $source.type == "name":
+            names=$source.name_list
+        #end if
+        include=$include
+        2>&1 | tee > log.txt
+    ]]>    </command>
+    <inputs>
+        <conditional name="singlePaired">
+            <param name="sPaired" type="select" label="Is the input paired- or single-end?">
+                <option value="single">Single-end</option>
+                <option value="paired">Paired-end</option>
+                <option value="paired_collection">Paired Collection</option>
+            </param>
+            <when value="single">
+                <param name="input_singles" type="data" format="fastqsanger,fastqsanger.gz,fastq,fastq.gz" label="Reads in FASTQ format" />
+            </when>
+            <when value="paired">
+                <param name="input_mate1" type="data" format="fastqsanger,fastqsanger.gz,fastq,fastq.gz" label="Forward read" />
+                <param name="input_mate2" type="data" format="fastqsanger,fastqsanger.gz,fastq,fastq.gz" label="Reversed read" />
+            </when>
+            <when value="paired_collection">
+                <param name="input_mate_pairs" format="fastqsanger,fastqsanger.gz,fastq,fastq.gz" type="data_collection" collection_type="paired" label="Select a paired collection" help="See help section for an explanation of dataset collections"/>
+            </when>
+        </conditional>
+        <conditional name="source">
+            <param name="type" type="select" label="Select source of sequence choices">
+                <option value="input_string">Text</option>
+                <option value="name">FASTA/Q ID list</option>
+            </param>
+            <when value="input_string">
+                <param name="in_string" type="text" label="Input string" help="string1,string2,string3,...,stringn"/>
+            </when>
+            <when value="name">
+                <param name="name_list" type="data" format="txt" label="Input ID list"/>
+            </when>
+        </conditional>
+        <param name="include" type="boolean" truevalue="t" falsevalue="f" checked="true" label="Include the filtered names" />
+    </inputs>
+    <outputs>
+        <data name="log" from_work_dir="log.txt" format="txt" label="${tool.name} on ${on_string}: Log" />
+        <data format_source="input_singles" name="filtered_reads_single" from_work_dir="f_read.fq" label="${tool.name} on ${on_string}: filtered reads">
+            <filter>singlePaired['sPaired'] == "single"</filter>
+        </data>
+        <data format="fastqsanger" name="filtered_reads_pair1" from_work_dir="f_read1.fq" label="${tool.name} on ${on_string}: filtered reads pair 1">
+            <filter>singlePaired['sPaired'] == "paired"</filter>
+        </data>
+
+        <data format="fastqsanger" name="filtered_reads_pair2" from_work_dir="f_read2.fq" label="${tool.name} on ${on_string}: filtered reads pair 2">
+            <filter>singlePaired['sPaired'] == "paired"</filter>
+        </data>
+
+        <collection name="filtered_collection" type="paired" label="${tool.name} on ${on_string}: Filtered reads by name">
+            <data name="forward" format_source="input_mate_pairs['forward']" from_work_dir="f_read1.fq"/>
+            <data name="reverse" format_source="input_mate_pairs['forward']" from_work_dir="f_read2.fq"/>
+            <filter>singlePaired['sPaired'] == "paired_collection"</filter>
+        </collection>
+    </outputs>
+    <tests>
+        <test>
+            <param name="sPaired" value="paired"/>
+            <param name="input_mate1" value="forward.fq.gz"/>
+            <param name="input_mate1" value="reverse.fq.gz"/>
+            <param name="type" value="name"/>
+            <param name="name_list" value="name.list"/>
+            <output name="filtered_reads_pair1" value="f_read1.fq" ftype="fastqsanger" compare="sim_size"/>
+            <output name="filtered_reads_pair2" value="f_read2.fq" ftype="fastqsanger" compare="sim_size"/>
+        </test>
+    </tests>
+    <help><![CDATA[
+    ]]>    </help>
+    <expand macro="citations" />
+</tool>