diff fastp.xml @ 11:c59d48774d03 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/fastp commit 61d055a8abacf009e8afe2d72377e6769ad08f42
author iuc
date Tue, 05 Mar 2024 08:41:43 +0000
parents dbf9c561ef29
children
line wrap: on
line diff
--- a/fastp.xml	Thu Feb 03 17:20:32 2022 +0000
+++ b/fastp.xml	Tue Mar 05 08:41:43 2024 +0000
@@ -1,10 +1,11 @@
-<tool id="fastp" name="fastp" version="@WRAPPER_VERSION@+galaxy0">
-    <description>- fast all-in-one preprocessing for FASTQ files</description>
+<tool id="fastp" name="fastp" version="@TOOL_VERSION@+galaxy0" profile="23.1">
+    <description>fast all-in-one preprocessing for FASTQ files</description>
     <macros>
         <import>macros.xml</import>
     </macros>
+    <expand macro="biotools" />
     <requirements>
-        <requirement type="package" version="@WRAPPER_VERSION@">fastp</requirement>
+        <requirement type="package" version="@TOOL_VERSION@">fastp</requirement>
     </requirements>
     <version_command>fastp -v</version_command>
     <command detect_errors="exit_code"><![CDATA[
@@ -24,19 +25,19 @@
     #set $in2_name = re.sub('[^\w\-\s]', '_', str("%s_%s" % ($single_paired.paired_input.name, "R2"))) + $ext
     #set out1 = $output_paired_coll.forward
     #set out2 = $output_paired_coll.reverse
-    ln -s '$in1' '$in1_name' &&
-    ln -s '$in2' '$in2_name' &&
+    ln -sf '$in1' '$in1_name' &&
+    ln -sf '$in2' '$in2_name' &&
 #else
     #if $in1.is_of_type('fastq.gz')
         #set ext = '.fastq.gz'
     #end if
 
     #set $in1_name = re.sub('[^\w\-\s]', '_', str($in1.element_identifier)) + $ext
-    ln -s '$in1' '$in1_name' &&
+    ln -sf '$in1' '$in1_name' &&
 
     #if str($single_paired.single_paired_selector) == 'paired':
         #set $in2_name = re.sub('[^\w\-\s]', '_', str("%s_R2" % $in2.element_identifier)) + $ext
-        ln -s '$in2' '$in2_name' &&
+        ln -sf '$in2' '$in2_name' &&
     #end if
 #end if
 
@@ -209,7 +210,6 @@
 #end if
 ]]></command>
     <inputs>
-
         <conditional name="single_paired">
             <param name="single_paired_selector" type="select" label="Single-end or paired reads">
                 <option value="single" selected="true">Single-end</option>
@@ -229,8 +229,8 @@
                 </expand>
                 <expand macro="global_trimming_options_paired" />
             </when>
-        <when value="paired_collection">
-                <param name="paired_input" type="data_collection" collection_type="paired" format="fastq,fastq.gz" label="Select paired collection(s)"/>
+            <when value="paired_collection">
+                <param name="paired_input" type="data_collection" format="fastq,fastq.gz" label="Select paired collection(s)" collection_type="paired"/>
                 <expand macro="adapter_trimming_options">
                     <expand macro="adapter_sequence" read_number="2"/>
                 </expand>
@@ -255,7 +255,7 @@
             <section name="length_filtering_options" title="Length filtering options" expanded="True">
                 <param name="disable_length_filtering" argument="-L" type="boolean" truevalue="-L" falsevalue="" checked="false" label="Disable length filtering" help="Length filtering is enabled by default. If this option is specified, length filtering is disabled."/>
                 <param name="length_required" argument="-l" type="integer" optional="true" label="Length required" help="Reads shorter than this value will be discarded. Default is 15."/>
-                <param name="length_limit" argument="--length_limit" type="integer" optional="true" label="Maximum length" help="Reads longer than this value will be discarded. Default is 0 and means no limitation."/>
+                <param argument="--length_limit" type="integer" optional="true" label="Maximum length" help="Reads longer than this value will be discarded. Default is 0 and means no limitation."/>
             </section>
 
             <section name="low_complexity_filter" title="Low complexity filtering options" expanded="True">
@@ -287,17 +287,17 @@
                     <option value="-x">Enable polyX tail trimming</option>
                 </param>
                 <when value="-x">
-                    <param name="poly_x_min_len" argument="--poly_x_min_len" type="integer" optional="true" label="PolyX minimum length"
-                    help="The minimum length to detect polyX in the read tail. 10 by default."/>
+                    <param argument="--poly_x_min_len" type="integer" optional="true" label="PolyX minimum length"
+                        help="The minimum length to detect polyX in the read tail. 10 by default."/>
                 </when>
                 <when value="" />
             </conditional>
 
             <section name="umi_processing" title="UMI processing" expanded="True">
                 <param name="umi" argument="-U" type="boolean" truevalue="-U" falsevalue="" checked="false" label="Enable unique molecular identifer" help="Enable unique molecular identifer (UMI) preprocessing."/>
-                <param name="umi_loc" argument="--umi_loc" type="text" optional="true" label="UMI location" help="Specify the location of UMI, can be (index1/index2/read1/read2/per_index/per_read, default is none."/>
-                <param name="umi_len" argument="--umi_len" type="integer" optional="true" label="UMI length" help="If the UMI is in read1/read2, its length should be provided."/>
-                <param name="umi_prefix" argument="--umi_prefix" type="text" optional="true" label="UMI prefix" help="If specified, an underline will be used to connect prefix and UMI (i.e. prefix=UMI, UMI=AATTCG, final=UMI_AATTCG). No prefix by default."/>
+                <param argument="--umi_loc" type="text" optional="true" label="UMI location" help="Specify the location of UMI, can be (index1/index2/read1/read2/per_index/per_read, default is none."/>
+                <param argument="--umi_len" type="integer" optional="true" label="UMI length" help="If the UMI is in read1/read2, its length should be provided."/>
+                <param argument="--umi_prefix" type="text" optional="true" label="UMI prefix" help="If specified, an underline will be used to connect prefix and UMI (i.e. prefix=UMI, UMI=AATTCG, final=UMI_AATTCG). No prefix by default."/>
             </section>
 
             <section name="cutting_by_quality_options" title="Per read cutting by quality options" expanded="True">
@@ -337,7 +337,7 @@
     </outputs>
 
     <tests>
-        <!-- Ensure default output works -->
+        <!-- 1. Ensure default output works -->
         <test expect_num_outputs="2">
             <param name="in1" ftype="fastqsanger" value="R1.fq"/>
             <param name="single_paired_selector" value="single"/>
@@ -348,7 +348,7 @@
                 </assert_contents>
             </output>
         </test>
-        <!-- Ensure paired collection works -->
+        <!-- 2. Ensure paired collection works -->
         <test expect_num_outputs="4">
             <param name="single_paired_selector" value="paired_collection"/>
             <param name="paired_input">
@@ -367,14 +367,14 @@
                 <element name="reverse" value="out_bwa2.fq" ftype="fastqsanger"/>
             </output_collection>
         </test>
-        <!-- Ensure custom adapter works -->
+        <!-- 3. Ensure custom adapter works -->
         <test expect_num_outputs="2">
             <param name="in1" ftype="fastq" value="R1.fq"/>
             <param name="single_paired_selector" value="single"/>
             <param name="adapter_sequence1" value="ATCG"/>
             <output name="out1" ftype="fastq" file="out_a.fq"/>
         </test>
-        <!-- Ensure UMI processing works -->
+        <!-- 4. Ensure UMI processing works -->
         <test expect_num_outputs="2">
             <param name="in1" ftype="fastq" value="R1.fq"/>
             <param name="single_paired_selector" value="single"/>
@@ -385,7 +385,7 @@
             </section>
             <output name="out1" ftype="fastq" file="out2.fq"/>
         </test>
-        <!-- Ensure UMI processing with different lengths works -->
+        <!-- 5. Ensure UMI processing with different lengths works -->
         <test expect_num_outputs="2">
             <param name="in1" ftype="fastq" value="R1.fq"/>
             <param name="single_paired_selector" value="single"/>
@@ -396,7 +396,7 @@
             </section>
             <output name="out1" ftype="fastq" file="out3.fq"/>
         </test>
-        <!-- Ensure paired-end fastq works -->
+        <!-- 6. Ensure paired-end fastq works -->
         <test expect_num_outputs="3">
             <param name="in1" ftype="fastq" value="bwa-mem-fastq1.fq"/>
             <param name="in2" ftype="fastq" value="bwa-mem-fastq2.fq"/>
@@ -404,7 +404,7 @@
             <output name="out1" ftype="fastq" file="out_bwa1.fq"/>
             <output name="out2" ftype="fastq" file="out_bwa2.fq"/>
         </test>
-        <!-- Ensure paired-end UMI processing of Read 1 works -->
+        <!-- 7. Ensure paired-end UMI processing of Read 1 works -->
         <test expect_num_outputs="3">
             <param name="in1" ftype="fastq" value="bwa-mem-fastq1.fq"/>
             <param name="in2" ftype="fastq" value="bwa-mem-fastq2.fq"/>
@@ -417,7 +417,7 @@
             <output name="out1" ftype="fastq" file="out_bwa_umi_read1_1.fq"/>
             <output name="out2" ftype="fastq" file="out_bwa_umi_read1_2.fq"/>
         </test>
-        <!-- Ensure paired-end UMI processing of Read 2 works -->
+        <!-- 8. Ensure paired-end UMI processing of Read 2 works -->
         <test expect_num_outputs="3">
             <param name="in1" ftype="fastq" value="bwa-mem-fastq1.fq"/>
             <param name="in2" ftype="fastq" value="bwa-mem-fastq2.fq"/>
@@ -430,7 +430,7 @@
             <output name="out1" ftype="fastq" file="out_bwa_umi_read2_1.fq"/>
             <output name="out2" ftype="fastq" file="out_bwa_umi_read2_2.fq"/>
         </test>
-        <!-- Ensure JSON report output works -->
+        <!-- 9. Ensure JSON report output works -->
         <test expect_num_outputs="2">
             <param name="in1" ftype="fastqsanger" value="R1.fq"/>
             <param name="single_paired_selector" value="single"/>
@@ -443,7 +443,7 @@
                 </assert_contents>
             </output>
         </test>
-        <!-- Ensure polyG trimming works -->
+        <!-- 10. Ensure polyG trimming works -->
         <test expect_num_outputs="2">
             <param name="in1" ftype="fastq.gz" value="R1.fq.gz"/>
             <param name="single_paired_selector" value="single"/>
@@ -451,7 +451,7 @@
             <param name="poly_g_min_len" value="10"/>
             <output name="out1" ftype="fastq.gz" decompress="True" file="out1.fq.gz"/>
         </test>
-        <!-- Ensure polyX trimming works -->
+        <!-- 11. Ensure polyX trimming works -->
         <test expect_num_outputs="2">
             <param name="in1" ftype="fastq.gz" value="R1.fq.gz"/>
             <param name="single_paired_selector" value="single"/>
@@ -460,13 +460,24 @@
             <param name="poly_x_min_len" value="10"/>
             <output name="out1" ftype="fastq.gz" decompress="True" file="out1.fq.gz"/>
         </test>
+        <!-- 12. Test fastq files with different length -->
+        <test expect_exit_code="255" expect_failure="true">
+            <param name="single_paired_selector" value="paired_collection"/>
+            <param name="paired_input">
+                <collection type="paired">
+                    <element name="forward" value="bwa-mem-fastq1.fq" ftype="fastqsanger" />
+                    <element name="reverse" value="bwa-mem-fastq2_too_long.fq" ftype="fastqsanger" />
+                </collection>
+            </param>
+        </test>
     </tests>
     <help><![CDATA[
 .. class:: infomark
 
 **What it does**
 
-fastp_ is a tool designed to provide fast all-in-one preprocessing for FASTQ files. This tool is developed in C++ with multithreading supported to afford high performance.
+fastp_ is a tool designed to provide fast all-in-one preprocessing for FASTQ files. This tool is developed in C++ with multithreading supported to
+afford high performance.
 
 *Features*