changeset 6:517069eeb0d5 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/semibin commit 2c08a2e49a2844efe92340c5a9e9c8323e4a33d6
author iuc
date Tue, 28 Oct 2025 08:20:21 +0000
parents 8ba0c2edf3f3
children
files generate_sequence_features.xml macros.xml test-data/input_multi_sorted10_naming.bam test-data/input_multi_sorted1_naming.bam test-data/input_multi_sorted2_naming.bam test-data/input_multi_sorted3_naming.bam test-data/input_multi_sorted4_naming.bam test-data/input_multi_sorted5_naming.bam test-data/input_multi_sorted6_naming.bam test-data/input_multi_sorted7_naming.bam test-data/input_multi_sorted8_naming.bam test-data/input_multi_sorted9_naming.bam test-data/input_single.fasta.bz2 test-data/input_single.fasta.gz
diffstat 14 files changed, 82 insertions(+), 37 deletions(-) [+]
line wrap: on
line diff
--- a/generate_sequence_features.xml	Sun Aug 10 11:39:49 2025 +0000
+++ b/generate_sequence_features.xml	Tue Oct 28 08:20:21 2025 +0000
@@ -14,7 +14,7 @@
     @BAM_FILES@
 #else:
     #for $e in $input_type_select.mode.abundance:
-        #set $identifier = re.sub('[^\s\w\-\\.]', '_', str($e.element_identifier))
+        #set $identifier = re.sub('[^\s\w\-]', '_', str($e.element_identifier))
         ln -s '$e' '${identifier}.txt' &&
     #end for
 #end if
@@ -23,11 +23,12 @@
 SemiBin2
 #if $input_type_select.mode.select == 'single' or $input_type_select.mode.select == 'co'
     generate_sequence_features_single
+    --input-fasta 'contigs.$input_fasta.ext'
 #else
     generate_sequence_features_multi
     --separator '$separator'
+    --input-fasta 'contigs.fasta'
 #end if
-    --input-fasta 'contigs.fasta'
 #if $input_type_select.input_type == "bam"
     --input-bam *.bam
 #else:
@@ -106,13 +107,70 @@
                     <has_n_lines n="1" delta="1"/>
                 </assert_contents>
             </output>
+        </test><test expect_num_outputs="4">
+            <conditional name="input_type_select">
+                <param name="input_type" value="bam"/>
+                <conditional name="mode">
+                    <param name="select" value="co"/>
+                    <param name="input_fasta" ftype="fasta.bz2" value="input_single.fasta.bz2"/>
+                    <param name="input_bam" ftype="bam" value="input_coassembly_sorted1.bam,input_coassembly_sorted2.bam,input_coassembly_sorted3.bam,input_coassembly_sorted4.bam,input_coassembly_sorted5.bam"/>
+                </conditional>
+            </conditional>
+            <conditional name="min_len">
+                <param name="method" value="automatic"/>
+            </conditional>
+            <param name="ml_threshold" value="4000"/>
+            <param name="extra_output" value="coverage"/>
+            <output name="single_data" ftype="csv">
+                <assert_contents>
+                    <has_n_lines n="41"/>
+                    <has_text text="g1k_0"/>
+                    <has_text text="g4k_9"/>
+                </assert_contents>
+            </output>
+            <output name="single_data_split" ftype="csv">
+                <assert_contents>
+                    <has_n_lines n="81"/>
+                    <has_text text="g1k_0_1"/>
+                    <has_text text="g3k_2_2"/>
+                    <has_text text="g4k_7_2"/>
+                </assert_contents>
+            </output>
+            <output_collection name="co_cov" count="5">
+                <element name="0" ftype="csv">
+                    <assert_contents>
+                        <has_n_lines n="41"/>
+                        <has_text text="g1k_0"/>
+                    </assert_contents>
+                </element>
+                <element name="4" ftype="csv">
+                    <assert_contents>
+                        <has_n_lines n="41"/>
+                        <has_text text="g1k_0"/>
+                    </assert_contents>
+                </element>
+            </output_collection>
+            <output_collection name="co_split_cov" count="5">
+                <element name="0" ftype="csv">
+                    <assert_contents>
+                        <has_n_lines n="81"/>
+                        <has_text text="g1k_0_1"/>
+                    </assert_contents>
+                </element>
+                <element name="4" ftype="csv">
+                    <assert_contents>
+                        <has_n_lines n="81"/>
+                        <has_text text="g1k_0_1"/>
+                    </assert_contents>
+                </element>
+            </output_collection>
         </test>
         <test expect_num_outputs="4">
             <conditional name="input_type_select">
                 <param name="input_type" value="bam"/>
                 <conditional name="mode">
                     <param name="select" value="co"/>
-                    <param name="input_fasta" ftype="fasta" value="input_single.fasta"/>
+                    <param name="input_fasta" ftype="fasta.gz" value="input_single.fasta.gz"/>
                     <param name="input_bam" ftype="bam" value="input_coassembly_sorted1.bam,input_coassembly_sorted2.bam,input_coassembly_sorted3.bam,input_coassembly_sorted4.bam,input_coassembly_sorted5.bam"/>
                 </conditional>
             </conditional>
@@ -324,7 +382,6 @@
                 </element>
             </output_collection>
         </test>
-
         <test expect_num_outputs="2">
             <conditional name="input_type_select">
                 <param name="input_type" value="bam"/>
@@ -334,7 +391,7 @@
                         <param name="select" value="multi"/>
                         <param name="input_fasta" ftype="fasta" value="S1.fasta,S2.fasta,S3.fasta,S4.fasta,S5.fasta,S6.fasta,S7.fasta,S8.fasta,S9.fasta,S10.fasta"/>
                     </conditional>
-                    <param name="input_bam" ftype="bam" value="input_multi_sorted1.bam,input_multi_sorted2.bam,input_multi_sorted3.bam,input_multi_sorted4.bam,input_multi_sorted5.bam,input_multi_sorted6.bam,input_multi_sorted7.bam,input_multi_sorted8.bam,input_multi_sorted9.bam,input_multi_sorted10.bam"/>
+                    <param name="input_bam" ftype="bam" value="input_multi_sorted1_naming.bam,input_multi_sorted2_naming.bam,input_multi_sorted3_naming.bam,input_multi_sorted4_naming.bam,input_multi_sorted5_naming.bam,input_multi_sorted6_naming.bam,input_multi_sorted7_naming.bam,input_multi_sorted8_naming.bam,input_multi_sorted9_naming.bam,input_multi_sorted10_naming.bam"/>
                 </conditional>
             </conditional>
             <conditional name="min_len">
@@ -342,7 +399,7 @@
             </conditional>
             <param name="ml_threshold" value="4000"/>
             <output_collection name="multi_data" count="10">
-                <element name="S1" ftype="csv">
+                <element name="S1_fasta" ftype="csv">
                     <assert_contents>
                         <has_n_lines n="21"/>
                         <has_text text="g1k_0"/>
@@ -350,7 +407,7 @@
                 </element>
             </output_collection>
             <output_collection name="multi_data_split" count="10">
-                <element name="S1" ftype="csv">
+                <element name="S1_fasta" ftype="csv">
                     <assert_contents>
                         <has_n_lines n="41"/>
                         <has_text text="g1k_0_1"/>
--- a/macros.xml	Sun Aug 10 11:39:49 2025 +0000
+++ b/macros.xml	Tue Oct 28 08:20:21 2025 +0000
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <macros>
     <token name="@TOOL_VERSION@">2.1.0</token>
-    <token name="@VERSION_SUFFIX@">0</token>
+    <token name="@VERSION_SUFFIX@">1</token>
     <token name="@PROFILE@">21.01</token>
     <xml name="biotools">
         <xrefs>
@@ -79,7 +79,7 @@
         </param>
     </xml>
     <xml name="input-fasta-single">
-        <param argument="--input-fasta" type="data" format="fasta,fasta.gz" label="Contig sequences"/>
+        <param argument="--input-fasta" type="data" format="fasta,fasta.gz,fasta.bz2" label="Contig sequences"/>
     </xml>
     <xml name="input-fasta-multi">
         <conditional name="multi_fasta">
@@ -88,11 +88,11 @@
                 <option value="multi">1 contig file per sample</option>
             </param>
             <when value="concatenated">
-                <param argument="--input-fasta" type="data" format="fasta,fasta.gz" label="Combined contig sequences"/>
+                <param argument="--input-fasta" type="data" format="fasta,fasta.gz,fasta.bz2" label="Combined contig sequences"/>
                 <expand macro="separator"/>
             </when>
             <when value="multi">
-                <param argument="--input-fasta" type="data" multiple="true" format="fasta,fasta.gz" label="Contig sequences"/>
+                <param argument="--input-fasta" type="data" multiple="true" format="fasta,fasta.gz,fasta.bz2" label="Contig sequences"/>
                 <expand macro="concat_min_len"/>
             </when>
         </conditional>
@@ -101,39 +101,27 @@
         <param name="min_len" type="integer" min="0" value="0" label="Minimal length for contigs to be kept"/>
     </xml>
     <token name="@SINGLE_FASTA_FILES@"><![CDATA[
-#if $input_fasta.ext.endswith(".gz")
-gunzip -c '$input_fasta' > 'contigs.fasta' &&
-#else
-ln -s '$input_fasta' 'contigs.fasta' &&
-#end if
+ln -s '$input_fasta' 'contigs.$input_fasta.ext' &&
     ]]></token>
     <token name="@FASTA_FILES@"><![CDATA[
 #if $mode.select == 'single' or $mode.select == 'co'
-    #if $mode.input_fasta.ext.endswith(".gz")
-gunzip -c '$mode.input_fasta' > 'contigs.fasta' &&
-    #else
-ln -s '$mode.input_fasta' 'contigs.fasta' &&
-    #end if
+ln -s '$input_fasta' 'contigs.$input_fasta.ext' &&
 #else
     #if $mode.multi_fasta.select == 'concatenated'
-        #if $mode.multi_fasta.input_fasta.ext.endswith(".gz")
-gunzip -c '$mode.multi_fasta.input_fasta' > 'contigs.fasta' &&
-        #else
-ln -s '$mode.multi_fasta.input_fasta' 'contigs.fasta' &&
-        #end if
+ln -s '$input_fasta' 'contigs.$input_fasta.ext' &&
 #set $separator = $mode.multi_fasta.separator
     #else
         #for $e in $mode.multi_fasta.input_fasta
-            #set $identifier = re.sub('[^\s\w\-\\.]', '_', str($e.element_identifier))
-            #if $e.ext.endswith(".gz")
-gunzip -c '$e' > '${identifier}.fasta' &&
-            #else
-ln -s '$e' '${identifier}.fasta' &&
-            #end if
+            #set $identifier = re.sub('[^\s\w\-]', '_', str($e.element_identifier))
+ln -s '$e' '${identifier}.$e.ext' &&
         #end for
 #set $separator = ':'
 SemiBin2 concatenate_fasta
-    --input-fasta *.fasta
+    --input-fasta
+    #for $e in $mode.multi_fasta.input_fasta
+        #set $identifier = re.sub('[^\s\w\-]', '_', str($e.element_identifier))
+        '${identifier}.$e.ext'
+    #end for
     --output 'output'
     --separator '$separator'
     --compression none
@@ -158,18 +146,18 @@
     </xml>
     <token name="@BAM_FILES@"><![CDATA[
 #if $mode.select == 'single'
-#set $identifier = re.sub('[^\s\w\-\\.]', '_', str($mode.input_bam.element_identifier))
+#set $identifier = re.sub('[^\s\w\-]', '_', str($mode.input_bam.element_identifier))
 ln -s '$mode.input_bam' '${identifier}.bam' &&
 #else
     #for $e in $mode.input_bam
-        #set $identifier = re.sub('[^\s\w\-\\.]', '_', str($e.element_identifier))
+        #set $identifier = re.sub('[^\s\w\-]', '_', str($e.element_identifier))
 ln -s '$e' '${identifier}.bam' &&
     #end for
 #end if
     ]]></token>
     <token name="@STROBEALIGN_FILES@"><![CDATA[
 #for $e in $mode.align_select.abundance
-    #set $identifier = re.sub('[^\s\w\-\\.]', '_', str($e.element_identifier))
+    #set $identifier = re.sub('[^\s\w\-]', '_', str($e.element_identifier))
     ln -s '$e' '${identifier}.txt' &&
 #end for
     ]]></token>
@@ -513,4 +501,4 @@
             <citation type="doi">10.1038/s41467-022-29843-y</citation>
         </citations>
     </xml>
-</macros>
+</macros>
\ No newline at end of file
Binary file test-data/input_multi_sorted10_naming.bam has changed
Binary file test-data/input_multi_sorted1_naming.bam has changed
Binary file test-data/input_multi_sorted2_naming.bam has changed
Binary file test-data/input_multi_sorted3_naming.bam has changed
Binary file test-data/input_multi_sorted4_naming.bam has changed
Binary file test-data/input_multi_sorted5_naming.bam has changed
Binary file test-data/input_multi_sorted6_naming.bam has changed
Binary file test-data/input_multi_sorted7_naming.bam has changed
Binary file test-data/input_multi_sorted8_naming.bam has changed
Binary file test-data/input_multi_sorted9_naming.bam has changed
Binary file test-data/input_single.fasta.bz2 has changed
Binary file test-data/input_single.fasta.gz has changed