diff dada2_filterAndTrim.xml @ 0:1d6e206b8291 draft

planemo upload for repository https://github.com/bernt-matthias/mb-galaxy-tools/tree/topic/dada2/tools/dada2 commit d63c84012410608b3b5d23e130f0beff475ce1f8-dirty
author matthias
date Fri, 08 Mar 2019 06:36:53 -0500
parents
children ea3c356bff55
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dada2_filterAndTrim.xml	Fri Mar 08 06:36:53 2019 -0500
@@ -0,0 +1,148 @@
+<tool id="dada2_filterAndTrim" name="dada2: filterAndTrim" version="@DADA2_VERSION@">
+    <description>Filters and trims an short read data</description>
+    <macros>
+        <import>macros.xml</import>
+    </macros>
+    <expand macro="requirements"/>
+    <expand macro="version_command"/>
+    <command detect_errors="exit_code"><![CDATA[
+Rscript '$dada2_script'
+sed -i '1!b;s/^/#dataset/' $outtab
+    ]]></command>
+    <configfiles>
+        <configfile name="dada2_script"><![CDATA[
+truncQ <- c($trim.truncQ)
+truncLen <- c($trim.truncLen)
+trimLeft <- c($trim.trimLeft)
+trimRight <- c($trim.trimRight)
+#if str($filter.maxLen) == ""
+    maxLen <- c(Inf)
+#else:
+    maxLen <- c($filter.maxLen)
+#end if
+minLen <- c($filter.minLen)
+maxN <- c($filter.maxN)
+minQ <- c($filter.minQ)
+#if str($filter.maxEE) == ""
+    maxEE <- c(Inf)
+#else:
+    maxEE <- c($filter.maxEE)
+#end if
+#if $paired_cond.paired_select == "TRUE" and $seprev_cond.seprev_select == "yes"
+    truncQ <- c(truncQ,$seprev_cond.trim.truncQ)
+    truncLen <- c(truncLen,$seprev_cond.trim.truncLen)
+    trimLeft <- c(trimLeft,$seprev_cond.trim.trimLeft)
+    trimRight <- c(trimRight,$seprev_cond.trim.trimRight)
+    #if str($seprev_cond.filter.maxLen) == ""
+        maxLen <- c(maxLen,Inf)
+    #else:
+        maxLen <- c(maxLen,$seprev_cond.filter.maxLen)
+    #end if
+    minLen <- c(minLen,$seprev_cond.filter.minLen)
+    maxN <- c(maxN,$seprev_cond.filter.maxN)
+    minQ <- c(minQ,$seprev_cond.filter.minQ)
+    #if str($seprev_cond.filter.maxEE) == ""
+        maxEE <- c(maxEE,Inf)
+    #else:
+        maxEE <- c(maxEE,$seprev_cond.filter.maxEE)
+    #end if
+#end if
+
+fwd <- NULL
+rev <- NULL
+filt.fwd <- NULL
+filt.rev <- NULL
+#if $paired_cond.paired_select == "TRUE"
+    fwd <- c(fwd, '$paired_cond.reads.forward')
+	rev <- c(rev, '$paired_cond.reads.reverse')
+    filt.fwd <- c(filt.fwd, '$paired_output.forward')
+	filt.rev <- c(filt.rev, '$paired_output.reverse')
+#else
+    fwd <- c(fwd, '$paired_cond.reads')
+    filt.fwd <- c(filt.fwd, '$output')
+#end if
+
+library(dada2, quietly=T)
+
+ftout <- filterAndTrim(fwd, filt.fwd, rev = rev, filt.rev,  compress = TRUE,
+    truncQ = truncQ, truncLen = truncLen, trimLeft = trimLeft, trimRight = trimRight, maxLen = maxLen,
+    minLen = minLen, maxN = maxN, minQ = minQ, maxEE = maxEE, rm.phix = $rmPhiX, orient.fwd = '$orientFwd')
+    
+rownames(ftout) <- c( '$paired_cond.reads.element_identifier' )
+
+write.table(ftout, "$outtab", quote=F, sep="\t", col.names=NA)
+    ]]></configfile>
+    </configfiles>
+    <inputs>
+        <conditional name="paired_cond">
+            <param name="paired_select" type="select" label="Paired reads">
+                <option value="TRUE">yes</option>
+                <option value="FALSE">no</option>
+            </param>
+            <when value="TRUE">
+                <param name="reads" type="data_collection" collection_type="paired" format="fastqsanger,fastqsanger.gz" label="Paired short read data"/>
+            </when>
+            <when value="FALSE">
+                <param name="reads" type="data" format="fastqsanger,fastqsanger.gz" label="Short read data"/>
+            </when>
+        </conditional>
+        <expand macro="trimmers"/>
+        <expand macro="filters"/>
+        <conditional name="seprev_cond">
+            <param name="seprev_select" type="select" label="Separate filters and trimmers for reverse reads" help="only applies to paired end data">
+                <option value="no">no</option>
+                <option value="yes">yes</option>
+            </param>
+            <when value="no"/>
+            <when value="yes">
+                <expand macro="trimmers"/>
+                <expand macro="filters"/>
+            </when> 
+        </conditional>
+        <param name="rmPhiX" truevalue="TRUE" falsevalue="FALSE" type="boolean" checked="true" label="Discard reads matching PhiX" />
+        <param name="orientFwd" type="text" value="" optional="true" label="String present at the start of valid reads" />
+    </inputs>
+    <outputs>
+        <collection name="paired_output" type="paired">
+            <data name="forward" format="fastqsanger.gz" from_work_dir="filt_forward.fastq.gz" />
+            <data name="reverse" format="fastqsanger.gz" from_work_dir="filt_reverse.fastq.gz" />
+            <filter>paired_cond['paired_select'] == 'TRUE'</filter>
+        </collection>   
+        <data name="output" format="fastqsanger.gz" from_work_dir="filt_forward.fastq.gz">
+            <filter>paired_cond['paired_select'] == 'FALSE'</filter>
+        </data>
+        <data name="outtab" format="tabular" label="${tool.name} on ${on_string}: Statistics"/>
+    </outputs>
+	<tests>
+        <!-- paired data -->
+        <test>
+            <conditional name="paired_cond">
+                <param name="paired_select" value="TRUE"/>
+    			<param name="reads">
+                    <collection type="paired">
+                        <element name="forward" value="F3D0_S188_L001_R1_001.fastq" ftype="fastqsanger"/>
+                        <element name="reverse" value="F3D0_S188_L001_R2_001.fastq" ftype="fastqsanger"/>
+                    </collection>
+    			</param>
+    		</conditional>
+            <output_collection name="paired_output" count="2">
+                <element name="forward" value="filterAndTrim_paired_F3D0_R1.fq.gz" ftype="fastqsanger.gz" />
+                <element name="reverse" value="filterAndTrim_paired_F3D0_R2.fq.gz" ftype="fastqsanger.gz" />
+            </output_collection>
+        </test>
+        <!-- paired data -->
+        <test>
+            <conditional name="paired_cond">
+                <param name="paired_select" value="FALSE"/>
+    			<param name="reads" value="F3D0_S188_L001_R1_001.fastq" ftype="fastqsanger"/>
+    		</conditional>
+            <output name="output" value="filterAndTrim_single_F3D0_R1.fq.gz" ftype="fastqsanger.gz" />
+	    </test>
+		<!-- TODO parameter tests -->
+    </tests>
+
+    <help><![CDATA[
+        TODO: Fill in help.
+    ]]></help>
+    <expand macro="citations"/>
+</tool>