changeset 7:9108bd9450cb draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/sickle commit c0d7c69151c3efd66904d47757bdb6ab34c2b39b
author iuc
date Tue, 11 Feb 2025 11:01:38 +0000
parents 6756c87dc2d4
children
files sickle.xml test-data/sickle.log
diffstat 2 files changed, 85 insertions(+), 59 deletions(-) [+]
line wrap: on
line diff
--- a/sickle.xml	Thu Sep 05 13:14:23 2019 -0400
+++ b/sickle.xml	Tue Feb 11 11:01:38 2025 +0000
@@ -1,5 +1,8 @@
-<tool id="sickle" name="Sickle" version="1.33.2" profile="17.01">
-    <description>windowed adaptive trimming of FASTQ data</description>
+<tool id="sickle" name="Sickle" version="1.33.3" profile="23.2" license="MIT">
+    <description>Windowed adaptive trimming of FASTQ data</description>
+    <xrefs>
+        <xref type="bio.tools">sickle</xref>
+    </xrefs>
     <requirements>
         <requirement type="package" version="1.33">sickle-trim</requirement>
     </requirements>
@@ -120,6 +123,10 @@
 #if $trunc_n:
     -n
 #end if
+
+#if $log_out
+    2>&1 | tee '${log}'
+#end if
     ]]></command>
 
     <inputs>
@@ -132,30 +139,29 @@
             </param>
 
             <when value="se">
-                <param format="fastq,fastq.gz" name="input_single" type="data" label="Single-end FASTQ reads" help="(-f)" />
+                <param format="fastq,fastq.gz" name="input_single" type="data" label="Single-end FASTQ reads" help="(-f)"/>
             </when>
 
             <when value="pe_combo">
-                <param format="fastq,fastq.gz" name="input_combo" type="data" label="Paired-end interleaved FASTQ reads" help="(-c)" />
+                <param format="fastq,fastq.gz" name="input_combo" type="data" label="Paired-end interleaved FASTQ reads" help="(-c)"/>
                 <param name="output_n" type="boolean" label="Output only one file with all reads" help="This will output only one file with all the reads, where the reads that did not pass filter will be replaced with a single 'N', rather than discarded."/>
             </when>
 
             <when value="pe_sep">
-                <param format="fastq,fastq.gz" name="input_paired1" type="data" label="Paired-end forward strand FASTQ reads" help="(-f)" />
-                <param format="fastq,fastq.gz" name="input_paired2" type="data" label="Paired-end reverse strand FASTQ reads" help="(-r)" />
+                <param format="fastq,fastq.gz" name="input_paired1" type="data" label="Paired-end forward strand FASTQ reads" help="(-f)"/>
+                <param format="fastq,fastq.gz" name="input_paired2" type="data" label="Paired-end reverse strand FASTQ reads" help="(-r)"/>
             </when>
 
             <when value="pe_collection">
-                <param format="fastq,fastq.gz" name="input_paired" type="data_collection" collection_type="paired" label="Paired-end FASTQ reads as paired collection" />
+                <param format="fastq,fastq.gz" name="input_paired" type="data_collection" collection_type="paired" label="Paired-end FASTQ reads as paired collection"/>
             </when>
         </conditional>
 
-        <param name="qual_threshold" value="20" min="0" type="integer" optional="true" label="Quality threshold" help="Threshold for trimming based on average quality in a window (-q)" />
-
-        <param name="length_threshold" value="20" min="0" type="integer" optional="true" label="Length threshold" help="Threshold to keep a read based on length after trimming (-l)" />
-
-        <param name="no_five_prime" type="boolean" label="Don't do 5' trimming" help="(-x)" />
-        <param name="trunc_n" type="boolean" label="Truncate sequences with Ns at first N position" help="(-n)" />
+        <param name="qual_threshold" value="20" min="0" type="integer" optional="true" label="Quality threshold" help="Threshold for trimming based on average quality in a window (-q)"/>
+        <param name="length_threshold" value="20" min="0" type="integer" optional="true" label="Length threshold" help="Threshold to keep a read based on length after trimming (-l)"/>
+        <param name="no_five_prime" type="boolean" label="Don't do 5' trimming" help="(-x)"/>
+        <param name="trunc_n" type="boolean" label="Truncate sequences with Ns at first N position" help="(-n)"/>
+        <param name="log_out" type="boolean" label="Output log file?" truevalue="yes" falsevalue="no"/>
     </inputs>
 
     <outputs>
@@ -187,76 +193,90 @@
             <filter>readtype['single_or_paired'] == 'pe_collection'</filter>
         </collection>
 
-        <data name="output_paired_coll_single" format_source="input_paired['forward']" label="Singletons from paired-end output of ${tool.name} on ${on_string}">
+        <data name="output_paired_coll_single" format_source="input_paired['forward']" label="Singletons from paired-end collection output of ${tool.name} on ${on_string}">
             <filter>readtype['single_or_paired'] == 'pe_collection'</filter>
         </data>
+
+        <data name="log" format="txt" label="${tool.name} on ${on_string}: Output Log">
+            <filter>log_out</filter>
+        </data>
+
     </outputs>
     <tests>
-        <test>
-            <param name="single_or_paired" value="pe_combo" />
-            <param name="input_combo" ftype="fastqillumina" value="test.fastq" />
-            <param name="qual_threshold" value="3" />
-            <output name="output_combo" ftype="fastqillumina" file="output.c1.fastq" />
-            <output name="output_combo_single" ftype="fastqillumina" file="output.s.fastq" />
+        <test expect_num_outputs="2">
+            <param name="single_or_paired" value="pe_combo"/>
+            <param name="input_combo" ftype="fastqillumina" value="test.fastq"/>
+            <param name="qual_threshold" value="3"/>
+            <output name="output_combo" ftype="fastqillumina" file="output.c1.fastq"/>
+            <output name="output_combo_single" ftype="fastqillumina" file="output.s.fastq"/>
         </test>
-        <test>
-            <param name="single_or_paired" value="pe_combo" />
-            <param name="input_combo" ftype="fastqillumina" value="test.fastq" />
-            <param name="qual_threshold" value="3" />
-            <param name="output_n" value="true" />
-            <output name="output_combo" ftype="fastqillumina" file="output.c2.fastq" />
+        <test expect_num_outputs="1">
+            <param name="single_or_paired" value="pe_combo"/>
+            <param name="input_combo" ftype="fastqillumina" value="test.fastq"/>
+            <param name="qual_threshold" value="3"/>
+            <param name="output_n" value="true"/>
+            <output name="output_combo" ftype="fastqillumina" file="output.c2.fastq"/>
         </test>
-        <test>
-            <param name="single_or_paired" value="pe_sep" />
-            <param name="input_paired1" ftype="fastqillumina" value="test.f.fastq" />
-            <param name="input_paired2" ftype="fastqillumina" value="test.r.fastq" />
-            <param name="qual_threshold" value="3" />
-            <output name="output_paired1" ftype="fastqillumina" file="output.f.fastq" />
-            <output name="output_paired2" ftype="fastqillumina" file="output.r.fastq" />
-            <output name="output_paired_single" ftype="fastqillumina" file="output.s.fastq" />
+        <test expect_num_outputs="3">
+            <param name="single_or_paired" value="pe_sep"/>
+            <param name="input_paired1" ftype="fastqillumina" value="test.f.fastq"/>
+            <param name="input_paired2" ftype="fastqillumina" value="test.r.fastq"/>
+            <param name="qual_threshold" value="3"/>
+            <output name="output_paired1" ftype="fastqillumina" file="output.f.fastq"/>
+            <output name="output_paired2" ftype="fastqillumina" file="output.r.fastq"/>
+            <output name="output_paired_single" ftype="fastqillumina" file="output.s.fastq"/>
         </test>
-        <test> <!-- as above, but gzipped -->
-            <param name="single_or_paired" value="pe_sep" />
-            <param name="input_paired1" ftype="fastqillumina.gz" value="test.f.fastq.gz" />
-            <param name="input_paired2" ftype="fastqillumina.gz" value="test.r.fastq.gz" />
-            <param name="qual_threshold" value="3" />
-            <output name="output_paired1" ftype="fastqillumina.gz" file="output.f.fastq.gz" />
-            <output name="output_paired2" ftype="fastqillumina.gz" file="output.r.fastq.gz" />
-            <output name="output_paired_single" ftype="fastqillumina.gz" file="output.s.fastq.gz" />
+        <test expect_num_outputs="3"> <!-- as above, but gzipped -->
+            <param name="single_or_paired" value="pe_sep"/>
+            <param name="input_paired1" ftype="fastqillumina.gz" value="test.f.fastq.gz"/>
+            <param name="input_paired2" ftype="fastqillumina.gz" value="test.r.fastq.gz"/>
+            <param name="qual_threshold" value="3"/>
+            <output name="output_paired1" ftype="fastqillumina.gz" file="output.f.fastq.gz"/>
+            <output name="output_paired2" ftype="fastqillumina.gz" file="output.r.fastq.gz"/>
+            <output name="output_paired_single" ftype="fastqillumina.gz" file="output.s.fastq.gz"/>
         </test>
-        <test>
-            <param name="single_or_paired" value="pe_collection" />
+        <test expect_num_outputs="4">
+            <param name="single_or_paired" value="pe_collection"/>
             <param name="input_paired">
                 <collection type="paired">
-                    <element name="forward" ftype="fastqillumina" value="test.f.fastq" />
-                    <element name="reverse" ftype="fastqillumina" value="test.r.fastq" />
+                    <element name="forward" ftype="fastqillumina" value="test.f.fastq"/>
+                    <element name="reverse" ftype="fastqillumina" value="test.r.fastq"/>
                 </collection>
             </param>
-            <param name="qual_threshold" value="3" />
+            <param name="qual_threshold" value="3"/>
             <output_collection name="output_paired_coll" type="paired">
-                <element name="forward" ftype="fastqillumina" file="output.f.fastq" />
-                <element name="reverse" ftype="fastqillumina" file="output.r.fastq" />
+                <element name="forward" ftype="fastqillumina" file="output.f.fastq"/>
+                <element name="reverse" ftype="fastqillumina" file="output.r.fastq"/>
             </output_collection>
-            <output name="output_paired_coll_single" ftype="fastqillumina" file="output.s.fastq" />
+            <output name="output_paired_coll_single" ftype="fastqillumina" file="output.s.fastq"/>
         </test>
-
-        <test> <!-- as above, but gzipped -->
-            <param name="single_or_paired" value="pe_collection" />
+        <test expect_num_outputs="4"> <!-- as above, but gzipped -->
+            <param name="single_or_paired" value="pe_collection"/>
             <param name="input_paired">
                 <collection type="paired">
-                    <element name="forward" ftype="fastqillumina.gz" value="test.f.fastq.gz" />
-                    <element name="reverse" ftype="fastqillumina.gz" value="test.r.fastq.gz" />
+                    <element name="forward" ftype="fastqillumina.gz" value="test.f.fastq.gz"/>
+                    <element name="reverse" ftype="fastqillumina.gz" value="test.r.fastq.gz"/>
                 </collection>
             </param>
-            <param name="qual_threshold" value="3" />
+            <param name="qual_threshold" value="3"/>
             <output_collection name="output_paired_coll" type="paired">
-                <element name="forward" ftype="fastqillumina.gz" file="output.f.fastq.gz" />
-                <element name="reverse" ftype="fastqillumina.gz" file="output.r.fastq.gz" />
+                <element name="forward" ftype="fastqillumina.gz" file="output.f.fastq.gz"/>
+                <element name="reverse" ftype="fastqillumina.gz" file="output.r.fastq.gz"/>
             </output_collection>
-            <output name="output_paired_coll_single" ftype="fastqillumina.gz" file="output.s.fastq.gz" />
+            <output name="output_paired_coll_single" ftype="fastqillumina.gz" file="output.s.fastq.gz"/>
+        </test>
+        <test expect_num_outputs="3">
+            <param name="single_or_paired" value="pe_combo"/>
+            <param name="input_combo" ftype="fastqillumina" value="test.fastq"/>
+            <param name="qual_threshold" value="3"/>
+            <param name="log_out" value="yes"/>
+            <output name="output_combo" ftype="fastqillumina" file="output.c1.fastq"/>
+            <output name="output_combo_single" ftype="fastqillumina" file="output.s.fastq"/>
+            <output name="log" file="sickle.log" ftype="txt"/>
         </test>
     </tests>
     <help>
+
 **What it does**
 
 Most modern sequencing technologies produce reads that have
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/sickle.log	Tue Feb 11 11:01:38 2025 +0000
@@ -0,0 +1,6 @@
+
+FastQ paired records kept: 2484 (1242 pairs)
+FastQ single records kept: 8
+FastQ paired records discarded: 0 (0 pairs)
+FastQ single records discarded: 8
+