changeset 8:e150ae930235 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/blob/master/tool_collections/kraken2/kraken2/ commit 658f57a9c3a3698d4e6cfa15eeeb3ec8647e054e
author iuc
date Tue, 19 Aug 2025 19:58:36 +0000
parents 241a78eb2935
children
files kraken2.xml macros.xml test-data/kraken_test1_cl.fas test-data/kraken_test1_un.fas test-data/kraken_test2_R1.fastq.gz test-data/kraken_test2_R2.fastq.gz
diffstat 5 files changed, 87 insertions(+), 83 deletions(-) [+]
line wrap: on
line diff
--- a/kraken2.xml	Mon May 26 08:00:46 2025 +0000
+++ b/kraken2.xml	Tue Aug 19 19:58:36 2025 +0000
@@ -1,5 +1,4 @@
-<?xml version="1.0"?>
-<tool id="kraken2" name="Kraken2" version="@TOOL_VERSION@+galaxy1">
+<tool id="kraken2" name="Kraken2" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
     <description>
         assign taxonomic labels to sequencing reads
     </description>
@@ -15,35 +14,13 @@
     <version_command>kraken2 --version</version_command>
     <command detect_errors="exit_code">
         <![CDATA[
-
-        #def get_type($data)
-            #if $data.is_of_type('fastq'):
-                #return 'fastq'
-            #elif $data.is_of_type('fasta'):
-                #return 'fasta'
-            #elif $data.is_of_type('fastqsanger'):
-                #return 'fastqsanger'
-            #elif $data.is_of_type('fasta.gz'):
-                #return 'fasta.gz'
-            #elif $data.is_of_type('fasta.bz2'):
-                #return 'fasta.bz2'
-            #elif $data.is_of_type('fastq.gz'):
-                #return 'fastq.gz'
-            #elif $data.is_of_type('fastq.bz2'):
-                #return 'fastq.bz2'
-            #end if
-        #end def
-
         kraken2
             --threads \${GALAXY_SLOTS:-1}
             --db '${kraken2_database.fields.path}'
 
             $quick
 
-            #if $single_paired.single_paired_selector == "yes"
-                --paired 
-                '${single_paired.forward_input}' '${single_paired.reverse_input}'
-            #elif $single_paired.single_paired_selector == "collection":
+            #if $single_paired.single_paired_selector == "collection":
                 --paired 
                 '${single_paired.input_pair.forward}' '${single_paired.input_pair.reverse}'
             #else:
@@ -52,13 +29,11 @@
 
             #if $split_reads:
                 #if $single_paired.single_paired_selector == "no":
-                    --classified-out '${classified_out_s}' --unclassified-out '${unclassified_out_s}'
-                #elif $single_paired.single_paired_selector == "yes":
-                    #set $result = $get_type($single_paired.forward_input)
-                    --unclassified-out 'un_out#.${result}' --classified-out 'cl_out#.${result}'
+                    --unclassified-out 'un_out'
+                    --classified-out 'cl_out'
                 #else:
-                    #set $result = $get_type($single_paired.input_pair.forward)
-                    --unclassified-out 'un_out#.${result}' --classified-out 'cl_out#.${result}'
+                    --unclassified-out 'un_out#'
+                    --classified-out 'cl_out#'
                 #end if
             #end if
 
@@ -76,21 +51,42 @@
             #end if
 
             > '${output}'
+
+        #if $split_reads:
+            #if $single_paired.single_paired_selector == "no":
+                #if $single_paired.input_sequences.ext.endswith(".gz")
+                    #set command = "gzip -c"
+                #elif $single_paired.input_sequences.ext.endswith(".bz2")
+                    #set command = "bzip2 -c"
+                #else
+                    #set command = "cat"
+                #end if
+                && $command un_out > '$unclassified_out_s'
+                && $command cl_out > '$classified_out_s'
+            #else:
+                #if $single_paired.input_pair.forward.ext.endswith(".gz")
+                    #set command = "gzip -c"
+                #elif $single_paired.input_pair.forward.ext.endswith(".bz2")
+                    #set command = "bzip2 -c"
+                #else
+                    #set command = "cat"
+                #end if
+                && $command un_out_1 > '$out_unclassified_paired.forward'
+                && $command un_out_2 > '$out_unclassified_paired.reverse'
+                && $command cl_out_1 > '$out_classified_paired.forward'
+                && $command cl_out_1 > '$out_classified_paired.forward'
+            #end if
+        #end if
     ]]></command>
     <inputs>
         <conditional name="single_paired">
             <param name="single_paired_selector" type="select" label="Single or paired reads" help="--paired">
-                <option value="collection">Paired Collection</option>
-                <option value="yes">Paired</option>
+                <option value="collection">Paired</option>
                 <option selected="True" value="no">Single</option>
             </param>
             <when value="collection">
                 <param format="@INTYPES@" name="input_pair" type="data_collection" collection_type="paired" label="Collection of paired reads"/>
             </when>
-            <when value="yes">
-                <param format="@INTYPES@" name="forward_input" type="data" label="Forward strand"/>
-                <param format="@INTYPES@" name="reverse_input" type="data" label="Reverse strand"/>
-            </when>
             <when value="no">
                 <param format="@INTYPES@" label="Input sequences" name="input_sequences" type="data"/>
             </when>
@@ -122,27 +118,10 @@
             <filter>(report['create_report'])</filter>
         </data>
 
-        <data name="out1" format_source="forward_input" label="${tool.name} on ${on_string}: Unclassified forward reads" from_work_dir="un_out_1.*">
-            <filter>(split_reads and ("yes" in single_paired['single_paired_selector']))</filter>	
-        </data>
-        <data name="out2" format_source="forward_input" label="${tool.name} on ${on_string}: Unclassified reverse reads" from_work_dir="un_out_2.*">
-            <filter>(split_reads and ("yes" in single_paired['single_paired_selector']))</filter>
-        </data>
-        <data name="out3" format_source="forward_input" label="${tool.name} on ${on_string}: Classified forward reads" from_work_dir="cl_out_1.*">
-            <filter>(split_reads and ("yes" in single_paired['single_paired_selector']))</filter>	
-        </data>
-        <data name="out4" format_source="forward_input" label="${tool.name} on ${on_string}: Classified reverse reads" from_work_dir="cl_out_2.*">
-            <filter>(split_reads and ("yes" in single_paired['single_paired_selector']))</filter>
-        </data>
-
         <collection name="out_unclassified_paired" type="paired" format_source="input_pair" label="${tool.name} on ${on_string}: Unclassified read pairs">
-            <data name="forward" from_work_dir="un_out_1.*"/>
-            <data name="reverse" from_work_dir="un_out_2.*"/>
             <filter>(split_reads and ("collection" in single_paired['single_paired_selector']))</filter>	
         </collection>
         <collection name="out_classified_paired" type="paired" format_source="input_pair" label="${tool.name} on ${on_string}: Classified read pairs">
-            <data name="forward" from_work_dir="cl_out_1.*"/>
-            <data name="reverse" from_work_dir="cl_out_2.*"/>
             <filter>(split_reads and ("collection" in single_paired['single_paired_selector']))</filter>	
         </collection>
 
@@ -151,56 +130,71 @@
     </outputs>
     <tests>
         <test expect_num_outputs="1">
-            <param name="single_paired_selector" value="no"/>
-            <param name="input_sequences" value="kraken_test1.fa" ftype="fasta"/>
+            <conditional name="single_paired">
+                <param name="single_paired_selector" value="no"/>
+                <param name="input_sequences" value="kraken_test1.fa" ftype="fasta"/>
+            </conditional>
             <param name="split_reads" value="false"/>
             <param name="quick" value="no"/>
             <param name="confidence" value=".2"/>
             <param name="kraken2_database" value="test_entry"/>
             <output name="output" file="kraken_test1_output.tab" ftype="tabular"/>
         </test>
-        <test expect_num_outputs="5">
-            <param name="single_paired_selector" value="yes"/>
-            <param name="forward_input" value="kraken_test2_R1.fastq" ftype="fastq"/>
-            <param name="reverse_input" value="kraken_test2_R2.fastq" ftype="fastq"/>
+
+        <test expect_num_outputs="3">
+            <conditional name="single_paired">
+                <param name="single_paired_selector" value="no"/>
+                <param name="input_sequences" value="kraken_test1.fa" ftype="fasta"/>
+            </conditional>
             <param name="split_reads" value="true"/>
             <param name="quick" value="no"/>
-            <param name="confidence" value="0"/>
+            <param name="confidence" value=".2"/>
             <param name="kraken2_database" value="test_entry"/>
-            <output name="out1" file="un_test2_output_1.fastq" ftype="fastq"/>
-            <output name="out2" file="un_test2_output_2.fastq" ftype="fastq"/>
-            <output name="out3" file="cl_test2_output_1.fastq" ftype="fastq"/>
-            <output name="out4" file="cl_test2_output_2.fastq" ftype="fastq"/>
-            <output name="output" file="kraken_test2_output.tab" ftype="tabular"/>
+            <output name="output" file="kraken_test1_output.tab" ftype="tabular"/>
+            <output name="classified_out_s" file="kraken_test1_cl.fas" ftype="fasta"/>
+            <output name="unclassified_out_s" file="kraken_test1_un.fas" ftype="fasta"/>
         </test>
-        <!-- same test but collection in/output -->
+
         <test expect_num_outputs="7">
-            <param name="single_paired_selector" value="collection"/>
-            <param name="input_pair">
-                <collection type="paired">
-                    <element name="forward" value="kraken_test2_R1.fastq" ftype="fastq"/>
-                    <element name="reverse" value="kraken_test2_R2.fastq" ftype="fastq"/>
-                </collection>
-            </param>
+            <conditional name="single_paired">
+                <param name="single_paired_selector" value="collection"/>
+                <param name="input_pair">
+                    <collection type="paired">
+                        <element name="forward" value="kraken_test2_R1.fastq.gz" ftype="fastqsanger.gz"/>
+                        <element name="reverse" value="kraken_test2_R2.fastq.gz" ftype="fastqsanger.gz"/>
+                    </collection>
+                </param>
+                <param name="single_paired_selector" value="collection"/>
+            </conditional>
             <param name="split_reads" value="true"/>
             <param name="quick" value="no"/>
             <param name="confidence" value="0"/>
             <param name="kraken2_database" value="test_entry"/>
             <output_collection name="out_unclassified_paired" type="paired">
-                <element name="forward" file="un_test2_output_1.fastq" ftype="fastq"/>
-                <element name="reverse" file="un_test2_output_2.fastq" ftype="fastq"/>
+                <element name="forward" file="un_test2_output_1.fastq" ftype="fastqsanger.gz" decompress="true"/>
+                <element name="reverse" file="un_test2_output_2.fastq" ftype="fastqsanger.gz" decompress="true"/>
             </output_collection>
             <output_collection name="out_classified_paired" type="paired">
-                <element name="forward" file="cl_test2_output_1.fastq" ftype="fastq"/>
-                <element name="reverse" file="cl_test2_output_2.fastq" ftype="fastq"/>
+                <element name="forward" file="cl_test2_output_1.fastq" ftype="fastqsanger.gz" decompress="true"/>
+                <element name="reverse" file="cl_test2_output_2.fastq" ftype="fastqsanger.gz" decompress="true"/>
             </output_collection>
             <output name="output" file="kraken_test2_output.tab" ftype="tabular"/>
+            <assert_command>
+                <has_text text="gzip -c"/>
+            </assert_command>
         </test>
+
         <test expect_num_outputs="2">
-            <param name="single_paired_selector" value="yes"/>
-            <param name="forward_input" value="kraken_test2_R1.fastq" ftype="fastq"/>
-            <param name="reverse_input" value="kraken_test2_R2.fastq" ftype="fastq"/>
-            <param name="use-names" value="true"/>
+            <conditional name="single_paired">
+                <param name="single_paired_selector" value="collection"/>
+                <param name="input_pair">
+                    <collection type="paired">
+                        <element name="forward" value="kraken_test2_R1.fastq" ftype="fastqsanger"/>
+                        <element name="reverse" value="kraken_test2_R2.fastq" ftype="fastqsanger"/>
+                    </collection>
+                </param>
+            </conditional>
+            <param name="use_names" value="true"/>
             <section name="report">
                 <param name="create_report" value="true"/>
                 <param name="report_minimizer_data" value="true"/>
--- a/macros.xml	Mon May 26 08:00:46 2025 +0000
+++ b/macros.xml	Tue Aug 19 19:58:36 2025 +0000
@@ -1,7 +1,9 @@
 <?xml version="1.0"?>
 <macros>
     <token name="@TOOL_VERSION@">2.1.3</token>
-    <token name="@INTYPES@">fasta,fastq,fasta.gz,fasta.bz2,fastq.gz,fastq.bz2</token>
+    <token name="@VERSION_SUFFIX@">2</token>
+    <token name="@PROFILE@">24.0</token>
+    <token name="@INTYPES@">fasta,fasta.gz,fasta.bz2,fastqsanger,fastqsanger.gz,fastqsanger.bz2</token>
     <xml name="input_database">
         <param label="Select a Kraken2 database" name="kraken2_database" type="select">
             <options from_data_table="kraken2_databases">
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/kraken_test1_un.fas	Tue Aug 19 19:58:36 2025 +0000
@@ -0,0 +1,8 @@
+>gi|145231|gb|M33724.1|ECOALPHOA Escherichia coli K-12 truncated PhoA (phoA) gene, partial cds; and transposon Mu dI, partial sequence
+CAAAGCTCCGGGCCTCACCCAGGCGCTAAATACCAAAGATGGCGCAGTGATGGTGATGAGTTACGGGAACTCCGAAGAGGATTCACAAGAACATACCGGCAGTCAGTTGCGTATTGCGGCGTATGGCCCGCATGCCGCCAATGAAGCGGCGCACGAAAAACGCGAAAGCGT
+>gi|145232|gb|M33725.1|ECOALPHOB Escherichia coli K12 phoA pseudogene and transposon Mu dl-R, partial sequence
+CTGTCATAAAGTTGTCACGGCCGAGACTTATAGTCGCTTTGTTTTTATTTTTTAATGTATTTGTACATGGAGAAAATAAAGTGAAACAAAGCACTATTGCACTGGCACTCTTACCGTTACTGTTTACCCCTGTGACAAAAGCCCGGACACCAGTGAAGCGGCGCACGAAAAACGCGAAAGCGT
+>gi|145234|gb|M33727.1|ECOALPHOE Escherichia coli K12 upstream sequence of psiA5::Mu dI. is identical to psiA30 upstream sequence; putative (phoA) pseudogene and transposon Mu dl-R, partial sequence
+TTGTTTTTATTTTTTAATGTATTTGTACATGGAGAAAATAAAGTGAAACAAAGCACTATTGCACTGGTGAAGCGGCGCACGAAAAACGCGAAAGCGT
+>gi|146195|gb|J01619.1|ECOGLTA Eschericia coli gltA gene, sdhCDAB operon and sucABCD operons, complete sequence
+GAATTCGACCGCCATTGCGCAAGGCATCGCCATGACCAGGCAGGATACAAAAGAGAGTCGATAAATATTCACGGTGTCCATACCTGATAAATATTTTATGAAAGGCGGCGATGATGCCGCAAAATAATACTTATTTATAATCCAGCACGTAGGTTGCGTTAGCGGTTACTTCACCTGCCGTGACATCGACTGCATTATCAATTTGTTCCATCCAGGCGAAAAAGTTCAGCGTCTGTTCTGATGAGCTTGCATCCAGGTCAAGATCTGGCGCGGCTGAACCTAATACGATGTTACCGTCATTTTTGTCCATCAGTCGTACACCGACCCCAGTTGCTTCGCCTGCACTGGTGTTGCTCAACAAAGGCGTAGCACCAGTTGTCTTAGCCGTGCTATCGAAGGTTACGCCAAACTTTGGATACCGGCATTCCGCTACCGTTGTCAGAAGCAGGCAGATCACAGTTGATCAAGCGAATGTCGACGGCCACTTTATTGCTATGATGCTCCCGGTTTATATGGGTTGTCGTGACTTGTCCAAGATCTATGTTTTTATCAATATCTTCTGGATGAATTTCACAAGGTGCTTCAATAACCTCCCCCTTAAAGTGAATTTCGCCAGAACCTTCATCAGCAGCATAAACAGGTGCAGTGAACAGCAGAGATACGGCCAGTGCGGCCAATGTTTTTTGTCCTTTAAACATAACAGAGTCCTTTAAGGATATAGAATAGGGGTATAGCTACGCCAGAATATCGTATTTGATTATTGCTAGTTTTTAGTTTTGCTTAAAAAATATTGTTAGTTTTATTAAATTGGAAAACTAAATTATTGGTATCATGAATTGTTGTATGATGATAAATATAGGGGGGATATGATAGACGTCATTTTCATAGGGTTATAAAATGCGACTACCATGAAGTTTTTAATTCAAAGTATTGGGTTGCTGATAATTTGAGCTGTTCTATTCTTTTTAAATATCTATATAGGTCTGTTAATGGATTTTATTTTTACAAGTTTTTTGTGTTTAGGCATATAAAAATCAAGCCCGCCATATGAACGGCGGGTTAAAATATTTACAACTTAGCAATCGAACCATTAACGCTTGATATCGCTTTTAAAGTCGCGTTTTTCATATCCTGTATACAGCTGACGCGGACGGGCAATCTTCATACCGTCACTGTGCATTTCGCTCCAGTGGGCGATCCAGCCAACGGTACGTGCCATTGCGAAAATGACGGTGAACATGGAAGACGGAATACCCATCGCTTTCAGGATGATACCAGAGTAGAAATCGACGTTCGGGTACAGTTTCTTCTCGATAAAGTACGGGTCGTTCAGCGCGATGTTTTCCAGCTCCATAGCCACTTCCAGCAGGTCATCCTTCGTGCCCAGCTCTTTCAGCACTTCATGGCAGGTTTCACGCATTACGGTGGCGCGCGGGTCGTAATTTTTGTACACGCGGTGACCGAAGCCCATCAGGCGGAAAGAATCATTTTTGTCTTTCGCACGACGAAAAAATTCCGGAATGTGTTTAACGGAGCTGATTTCTTCCAGCATTTTCAGCGCCGCTTCGTTAGCACCGCCGTGCGCAGGTCCCCACAGTGAAGCAATACCTGCTGCGATACAGGCAAACGGGTTCGCACCCGAAGAGCCAGCGGTACGCACGGTGGAGGTAGAGGCGTTCTGTTCATGGTCAGCGTGCAGGATCAGAATACGGTCCATAGCACGTTCCAGAATCGGATTAACTTCATACGGTTCGCACGGCGTGGAGAACATCATATTCAGGAAGTTACCGGCGTAGGAGAGATCGTTGCGCGGGTAAACAAATGGCTGACCAATGGAATACTTGTAACACATCGCGGCCATGGTCGGCATTTTCGACAGCAGGCGGAACGCGGCAATTTCACGGTGACGAGGATTGTTAACATCCAGCGAGTCGTGATAGAACGCCGCCAGCGCGCCGGTAATACCACACATGACTGCCATTGGATGCGAGTCGCGACGGAAAGCATGGAACAGACGGGTAATCTGCTCGTGGATCATGGTATGACGGGTCACCGTAGTTTTAAATTCGTCATACTGTTCCTGAGTCGGTTTTTCACCATTCAGCAGGATGTAACAAACTTCCAGGTAGTTAGAATCGGTCGCCAGCTGATCGATCGGGAAACCGCGGTGCAGCAAAATACCTTCATCACCATCAATAAAAGTAATTTTAGATTCGCAGGATGCGGTTGAAGTGAAGCCTGGGTCAAAGGTGAACACACCTTTTGAACCGAGAGTACGGATATCAATAACATCTTGACCCAGCGTGCCTTTCAGCACATCCAGTTCAACAGCTGTATCCCCGTTGAGGGTGAGTTTTGCTTTTGTATCAGCCATTTAAGGTCTCCTTAGCGCCTTATTGCGTAAGACTGCCGGAACTTAAATTTGCCTTCGCACATCAACCTGGCTTTACCCGTTTTTTATTTGGCTCGCCGCTCTGTGAAAGAGGGGAAAACCTGGGTACAGAGCTCTGGGCGCTTGCAGGTAAAGGATCCATTGATGACGAATAAATGGCGAATCAAGTACTTAGCAATCCGAATTATTAAACTTGTCTACCACTAATAACTGTCCCGAATGAATTGGTCAATACTCCACACTGTTACATAAGTTAATCTTAGGTGAAATACCGACTTCATAACTTTTACGCATTATATGCTTTTCCTGGTAATGTTTGTAACAACTTTGTTGAATGATTGTCAAATTAGATGATTAAAAATTAAATAAATGTTGTTATCGTGACCTGGATCACTGTTCAGGATAAAACCCGACAAACTATATGTAGGTTAATTGTAATGATTTTGTGAACAGCCTATACTGCCGCCAGTCTCCGGAACACCCTGCAATCCCGAGCCACCCAGCGTTGTAACGTGTCGTTTTCGCATCTGGAAGCAGTGTTTTGCATGACGCGCAGTTATAGAAAGGACGCTGTCTGACCCGCAAGCAGACCGGAGGAAGGAAATCCCGACGTCTCCAGGTAACAGAAAGTTAACCTCTGTGCCCGTAGTCCCCAGGGAATAATAAGAACAGCATGTGGGCGTTATTCATGATAAGAAATGTGAAAAAACAAAGACCTGTTAATCTGGACCTACAGACCATCCGGTTCCCCATCACGGCGATAGCGTCCATTCTCCATCGCGTTTCCGGTGTGATCACCTTTGTTGCAGTGGGCATCCTGCTGTGGCTTCTGGGTACCAGCCTCTCTTCCCCTGAAGGTTTCGAGCAAGCTTCCGCGATTATGGGCAGCTTCTTCGTCAAATTTATCATGTGGGGCATCCTTACCGCTCTGGCGTATCACGTCGTCGTAGGTATTCGCCACATGATGATGGATTTTGGCTATCTGGAAGAAACATTCGAAGCGGGTAAACGCTCCGCCAAAATCTCCTTTGTTATTACTGTCGTGCTTTCACTTCTCGCAGGAGTCCTCGTATGGTAAGCAACGCCTCCGCATTAGGACGCAATGGCGTACATGATTTCATCCTCGTTCGCGCTACCGCTATCGTCCTGACGCTCTACATCATTTATATGGTCGGTTTTTTCGCTACCAGTGGCGAGCTGACATATGAAGTCTGGATCGGTTTCTTCGCCTCTGCGTTCACCAAAGTGTTCACCCTGCTGGCGCTGTTTTCTATCTTGATCCATGCCTGGATCGGCATGTGGCAGGTGTTGACCGACTACGTTAAACCGCTGGCTTTGCGCCTGATGCTGCAACTGGTGATTGTCGTTGCACTGGTGGTTTACGTGATTTATGGATTCGTTGTGGTGTGGGGTGTGTGATGAAATTGCCAGTCAGAGAATTTGATGCAGTTGTGATTG
Binary file test-data/kraken_test2_R1.fastq.gz has changed
Binary file test-data/kraken_test2_R2.fastq.gz has changed