Repository 'bowtie2'
hg clone https://toolshed.g2.bx.psu.edu/repos/devteam/bowtie2

Changeset 33:f76cbb84d67f (2025-09-24)
Previous changeset 32:d5ceb9f3c25b (2024-05-13)
Commit message:
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bowtie2 commit 4508a3878ac8d12306a7521aa55fa286710d947a
modified:
bowtie2_macros.xml
bowtie2_wrapper.xml
added:
test-data/bowtie2-ref.1.bt2
test-data/bowtie2-ref.2.bt2
test-data/bowtie2-ref.3.bt2
test-data/bowtie2-ref.4.bt2
test-data/bowtie2-ref.rev.1.bt2
test-data/bowtie2-ref.rev.2.bt2
test-data/bowtie2-single.bam
test-data/bowtie2_indices.loc
tool_data_table_conf.xml.test
b
diff -r d5ceb9f3c25b -r f76cbb84d67f bowtie2_macros.xml
--- a/bowtie2_macros.xml Mon May 13 13:49:14 2024 +0000
+++ b/bowtie2_macros.xml Wed Sep 24 13:37:14 2025 +0000
[
@@ -1,6 +1,7 @@
 <macros>
-    <token name="@TOOL_VERSION@">2.5.3</token>
-    <token name="@VERSION_SUFFIX@">1</token>
+    <token name="@TOOL_VERSION@">2.5.4</token>
+    <token name="@VERSION_SUFFIX@">0</token>
+    <token name="@PROFILE@">23.0</token>
     <!-- Import this at the top of your command block and then
          define rg_auto_name. -->
     <token name="@define_read_group_helpers@">
@@ -59,7 +60,7 @@
 #if $use_rg
     #if $rg_param('read_group_id_conditional') is None
         #set $rg_id = $rg_auto_name
-    #elif $rg_param('read_group_id_conditional').do_auto_name
+    #elif $rg_param('read_group_id_conditional').do_auto_name == "yes"
         #set $rg_id = $rg_auto_name
     #else
         #set $rg_id = str($rg_param('read_group_id_conditional').ID)
@@ -67,7 +68,7 @@
 
     #if $rg_param('read_group_sm_conditional') is None
         #set $rg_sm = ''
-    #elif $rg_param('read_group_sm_conditional').do_auto_name
+    #elif $rg_param('read_group_sm_conditional').do_auto_name == "yes"
         #set $rg_sm = $rg_auto_name
     #else
         #set $rg_sm = str($rg_param('read_group_sm_conditional').SM)
@@ -81,7 +82,7 @@
 
     #if $rg_param('read_group_lb_conditional') is None
         #set $rg_lb = ''
-    #elif $rg_param('read_group_lb_conditional').do_auto_name
+    #elif $rg_param('read_group_lb_conditional').do_auto_name == "yes"
         #set $rg_lb = $rg_auto_name
     #else
         #set $rg_lb = str($rg_param('read_group_lb_conditional').LB)
@@ -140,15 +141,17 @@
 #set $use_rg = str($rg.rg_selector) != "do_not_set"
     </token>
     <xml name="read_group_auto_name_conditional">
-        <param name="do_auto_name" type="boolean" label="Auto-assign" help="Use dataset name or collection information to automatically assign this value" checked="false" />
-        <when value="true">
-        </when>
-        <when value="false">
+        <param name="do_auto_name" type="select" optional="false" label="Auto-assign" help="Use dataset name or collection information to automatically assign this value">
+            <option value="yes">Yes</option>
+            <option value="no" selected="true">No</option>
+        </param>
+        <when value="yes"/>
+        <when value="no">
             <yield />
         </when>
     </xml>
     <xml name="read_group_id_param">
-        <param name="ID" type="text" value="" label="Read group identifier (ID)" help="This value must be unique among multiple samples in your experiment" optional="false">
+        <param name="ID" type="text" value="" label="Read group identifier (ID)" help="This value must be unique among multiple samples in your experiment">
             <validator type="empty_field" />
         </param>
     </xml>
@@ -173,7 +176,7 @@
          as per Picard.
     -->
     <xml name="read_group_sm_param_required">
-        <param name="SM" type="text" value="" label="Read group sample name (SM)" optional="false" help="This value should be descriptive. Use pool name where a pool is being sequenced">
+        <param name="SM" type="text" value="" label="Read group sample name (SM)" help="This value should be descriptive. Use pool name where a pool is being sequenced">
             <validator type="empty_field" />
         </param>
     </xml>
@@ -196,7 +199,7 @@
         </param>
     </xml>
     <xml name="read_group_lb_param">
-        <param name="LB" type="text" label="Library name (LB)" optional="true" />
+        <param name="LB" type="text" label="Library name (LB)"/>
     </xml>
     <xml name="read_group_lb_conditional">
         <conditional name="read_group_lb_conditional">
@@ -206,7 +209,7 @@
         </conditional>
     </xml>
     <xml name="read_group_lb_required_param">
-        <param name="LB" type="text" label="Library name (LB)" optional="false">
+        <param name="LB" type="text" label="Library name (LB)">
             <validator type="empty_field" />
         </param>
     </xml>
@@ -227,8 +230,8 @@
         <param name="DT" type="text" label="Date that run was produced (DT)" help="ISO8601 format date or date/time, like YYYY-MM-DD" />
     </xml>
     <xml name="read_group_fo_param">
-        <param name="FO" type="text" optional="true" label="Flow order (FO)" help="The array of nucleotide bases that correspond to the nucleotides used for each flow of each read. Multi-base flows are encoded in IUPAC format, and non-nucleotide flows by various other characters. Format: /\*|[ACMGRSVTWYHKDBN]+/">
-          <validator type="regex" message="Invalid flow order">\*|[ACMGRSVTWYHKDBN]+$</validator>
+        <param name="FO" type="text" label="Flow order (FO)" help="The array of nucleotide bases that correspond to the nucleotides used for each flow of each read. Multi-base flows are encoded in IUPAC format, and non-nucleotide flows by various other characters. Format: /\*|[ACMGRSVTWYHKDBN]+/">
+          <validator type="regex" message="Invalid flow order">|\*|[ACMGRSVTWYHKDBN]+$</validator>
         </param>
     </xml>
     <xml name="read_group_ks_param">
@@ -241,10 +244,10 @@
         <param name="PI" type="integer" optional="true" label="Predicted median insert size (PI)" />
     </xml>
     <xml name="read_group_pu_param">
-        <param name="PU" type="text" label="Platform unit (PU)" help="Unique identifier (e.g. flowcell-barcode.lane for Illumina or slide for SOLiD)" optional="True" />
+        <param name="PU" type="text" label="Platform unit (PU)" help="Unique identifier (e.g. flowcell-barcode.lane for Illumina or slide for SOLiD)" />
     </xml>
     <xml name="read_group_pu_required_param">
-        <param name="PU" type="text" label="Platform unit (PU)" help="Unique identifier (e.g. flowcell-barcode.lane for Illumina or slide for SOLiD)" optional="False" />
+        <param name="PU" type="text" label="Platform unit (PU)" help="Unique identifier (e.g. flowcell-barcode.lane for Illumina or slide for SOLiD)" />
     </xml>
     <!-- Only ID is required - all groups available -->
     <xml name="read_group_inputs_spec">
@@ -287,10 +290,8 @@
             <when value="set">
                 <expand macro="read_group_inputs_spec" />
             </when>
-            <when value="set_id_auto">
-            </when>
-            <when value="do_not_set">
-            </when>
+            <when value="set_id_auto"/>
+            <when value="do_not_set"/>
         </conditional>
     </xml>
     <xml name="paired_end_options">
b
diff -r d5ceb9f3c25b -r f76cbb84d67f bowtie2_wrapper.xml
--- a/bowtie2_wrapper.xml Mon May 13 13:49:14 2024 +0000
+++ b/bowtie2_wrapper.xml Wed Sep 24 13:37:14 2025 +0000
[
b'@@ -1,4 +1,4 @@\n-<tool id="bowtie2" name="Bowtie2" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="22.05">\n+<tool id="bowtie2" name="Bowtie2" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">\n     <description>- map reads against reference genome</description>\n     <macros>\n         <import>bowtie2_macros.xml</import>\n@@ -8,7 +8,7 @@\n     </xrefs>\n     <requirements>\n         <requirement type="package" version="@TOOL_VERSION@">bowtie2</requirement>\n-        <requirement type="package" version="1.19.2">samtools</requirement>\n+        <requirement type="package" version="1.22.1">samtools</requirement>\n     </requirements>\n     <version_command>bowtie2 --version</version_command>\n     <command detect_errors="exit_code"><![CDATA[\n@@ -28,34 +28,7 @@\n \n #set compressed="False"\n #set reads_are_fastq = True\n-#if str($library.type) == \'paired\':\n-    #if $library.input_1.is_of_type("fastq.gz", "fastqsanger.gz"):\n-        #set read1 = "input_f.fastq.gz"\n-        #set compressed = "GZ"\n-    #else if $library.input_1.is_of_type("fastq.bz2", "fastqsanger.bz2"):\n-        #set read1 = "input_f.fastq.bz2"\n-        #set compressed = "BZ2"\n-    #else if $library.input_1.is_of_type(\'fasta\'):\n-        #set reads_are_fastq = False\n-        #set read1 = "input_f.fasta"\n-    #else:\n-        #set read1 = "input_f.fastq"\n-    #end if\n-    ln -f -s \'${library.input_1}\' ${read1} &&\n-\n-    #if $library.input_2.is_of_type("fastq.gz", "fastqsanger.gz"):\n-        #set read2 = "input_r.fastq.gz"\n-        #set compressed = "GZ"\n-    #else if $library.input_2.is_of_type("fastq.bz2", "fastqsanger.bz2"):\n-        #set read2 = "input_r.fastq.bz2"\n-        #set compressed = "BZ2"\n-    #else if $library.input_2.is_of_type(\'fasta\'):\n-        #set read2 = "input_r.fasta"\n-    #else:\n-        #set read2 = "input_r.fastq"\n-    #end if\n-    ln -f -s \'${library.input_2}\' ${read2} &&\n-#else if str($library.type) == \'paired_collection\':\n+#if str($library.type) == \'paired_collection\':\n     #if $library.input_1.forward.is_of_type("fastq.gz", "fastqsanger.gz"):\n         #set read1 = "input_f.fastq.gz"\n         #set compressed = "GZ"\n@@ -82,21 +55,6 @@\n         #set read2 = "input_r.fastq"\n     #end if\n     ln -f -s \'${library.input_1.reverse}\' ${read2} &&\n-\n-#else if str($library.type) == \'paired_interleaved\':\n-    #if $library.input_1.is_of_type("fastq.gz", "fastqsanger.gz"):\n-        #set read1 = "input_il.fastq.gz"\n-        #set compressed = "GZ"\n-    #else if $library.input_1.is_of_type("fastq.bz2", "fastqsanger.bz2"):\n-        #set read1 = "input_il.fastq.bz2"\n-        #set compressed = "BZ2"\n-    #else if $library.input_1.is_of_type("fasta"):\n-        #set reads_are_fastq = False\n-        #set read1 = "input_il.fasta"\n-    #else:\n-        #set read1 = "input_il.fastq"\n-    #end if\n-    ln -f -s \'${library.input_1}\' ${read1} &&\n #else:\n     #if $library.input_1.is_of_type("fastq.gz", "fastqsanger.gz"):\n         #set read1 = "input_f.fastq.gz"\n@@ -143,62 +101,42 @@\n     -U \'${read1}\'\n     #if str( $library.unaligned_file ) == "true":\n         #if $compressed == "GZ":\n-            --un-gz \'${output_unaligned_reads_l}\'\n+            --un-gz \'unaligned_reads\'\n         #else if $compressed == "BZ2":\n-            --un-bz2 \'${output_unaligned_reads_l}\'\n+            --un-bz2 \'unaligned_reads\'\n         #else:\n-            --un \'${output_unaligned_reads_l}\'\n+            --un \'unaligned_reads\'\n         #end if\n     #end if\n     #if str( $library.aligned_file ) == "true":\n         #if $compressed == "GZ":\n-            --al-gz \'${output_aligned_reads_l}\'\n+            --al-gz \'aligned_reads\'\n         #else if $compressed == "BZ2":\n-            --al-bz2 \'${output_aligned_reads_l}\'\n+            --al-bz2 \'aligned_reads\'\n         #else:\n-            --al \'${output_aligned_reads_l}\'\n+            --al \'aligned_reads\'\n         #end if\n     #end if\n \n-#elif str( $library.type ) == "paired_interleaved":\n-    --interleaved \'${read1}\'\n-    #if str( $library.unaligned_'..b'history" />\n-            <param name="input_1" value="bowtie2-fq1.fa" ftype="fasta"/>\n-            <param name="input_2" value="bowtie2-fq2.fa" ftype="fasta"/>\n-            <param name="own_file" value="bowtie2-ref.fasta" />\n-            <param name="sam_options_selector" value="yes" />\n-            <param name="reorder" value="true" />\n+            <conditional name="library">\n+                <param name="type" value="paired_collection"/>\n+                <conditional name="paired_options">\n+                    <param name="paired_options_selector" value="no"/>\n+                </conditional>\n+                <param name="unaligned_file" value="false"/>\n+                <param name="input_1">\n+                    <collection type="paired">\n+                        <element name="forward" value="bowtie2-fq1.fa" ftype="fasta" />\n+                        <element name="reverse" value="bowtie2-fq2.fa" ftype="fasta" />\n+                    </collection>\n+                </param>\n+            </conditional>\n+            <conditional name="analysis_type">\n+                <param name="analysis_type_selector" value="simple"/>\n+            </conditional>\n+            <conditional name="reference_genome">\n+                <param name="source" value="history" />\n+                <param name="own_file" value="bowtie2-ref.fasta" />\n+            </conditional>\n+            <conditional name="sam_options">\n+                <param name="sam_options_selector" value="yes" />\n+                <param name="reorder" value="true" />\n+            </conditional>\n             <output name="output" file="bowtie2-test_fasta_in_bam_qname_input_sorted.bam" ftype="qname_input_sorted.bam" lines_diff="4">\n                 <metadata name="sort_order" value="unsorted"/>\n             </output>\n         </test>\n+        <!-- test on fasta paired-end datasets with sam as output -->\n         <test expect_num_outputs="1">\n-            <!-- test on fasta paired-end datasets with sam as output -->\n-            <param name="type" value="paired"/>\n-            <param name="paired_options_selector" value="no"/>\n-            <param name="unaligned_file" value="false"/>\n-            <param name="analysis_type_selector" value="simple"/>\n-            <param name="source" value="history" />\n-            <param name="input_1" value="bowtie2-fq1.fa" ftype="fasta"/>\n-            <param name="input_2" value="bowtie2-fq2.fa" ftype="fasta"/>\n-            <param name="own_file" value="bowtie2-ref.fasta" />\n-            <param name="sam_options_selector" value="yes" />\n-            <param name="sam_options|sam_opt" value="true" />\n+            <conditional name="library">\n+                <param name="type" value="paired_collection"/>\n+                <conditional name="paired_options">\n+                    <param name="paired_options_selector" value="no"/>\n+                </conditional>\n+                <param name="unaligned_file" value="false"/>\n+                <param name="input_1">\n+                    <collection type="paired">\n+                        <element name="forward" value="bowtie2-fq1.fa" ftype="fasta" />\n+                        <element name="reverse" value="bowtie2-fq2.fa" ftype="fasta" />\n+                    </collection>\n+                </param>\n+            </conditional>\n+            <conditional name="analysis_type">\n+                <param name="analysis_type_selector" value="simple"/>\n+            </conditional>\n+            <conditional name="reference_genome">\n+                <param name="source" value="history" />\n+                <param name="own_file" value="bowtie2-ref.fasta" />\n+            </conditional>\n+            <conditional name="sam_options">\n+                <param name="sam_options_selector" value="yes" />\n+                <param name="sam_opt" value="true" />\n+            </conditional>\n             <output name="output" ftype="sam">\n                 <metadata name="sort_order" value="unsorted"/>\n                 <assert_contents>\n'
b
diff -r d5ceb9f3c25b -r f76cbb84d67f test-data/bowtie2-ref.1.bt2
b
Binary file test-data/bowtie2-ref.1.bt2 has changed
b
diff -r d5ceb9f3c25b -r f76cbb84d67f test-data/bowtie2-ref.2.bt2
b
Binary file test-data/bowtie2-ref.2.bt2 has changed
b
diff -r d5ceb9f3c25b -r f76cbb84d67f test-data/bowtie2-ref.3.bt2
b
Binary file test-data/bowtie2-ref.3.bt2 has changed
b
diff -r d5ceb9f3c25b -r f76cbb84d67f test-data/bowtie2-ref.4.bt2
b
Binary file test-data/bowtie2-ref.4.bt2 has changed
b
diff -r d5ceb9f3c25b -r f76cbb84d67f test-data/bowtie2-ref.rev.1.bt2
b
Binary file test-data/bowtie2-ref.rev.1.bt2 has changed
b
diff -r d5ceb9f3c25b -r f76cbb84d67f test-data/bowtie2-ref.rev.2.bt2
b
Binary file test-data/bowtie2-ref.rev.2.bt2 has changed
b
diff -r d5ceb9f3c25b -r f76cbb84d67f test-data/bowtie2-single.bam
b
Binary file test-data/bowtie2-single.bam has changed
b
diff -r d5ceb9f3c25b -r f76cbb84d67f test-data/bowtie2_indices.loc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bowtie2_indices.loc Wed Sep 24 13:37:14 2025 +0000
b
@@ -0,0 +1,38 @@
+# bowtie2_indices.loc.sample
+# This is a *.loc.sample file distributed with Galaxy that enables tools
+# to use a directory of indexed data files. This one is for Bowtie2 and Tophat2.
+# See the wiki: http://wiki.galaxyproject.org/Admin/NGS%20Local%20Setup
+# First create these data files and save them in your own data directory structure.
+# Then, create a bowtie_indices.loc file to use those indexes with tools.
+# Copy this file, save it with the same name (minus the .sample), 
+# follow the format examples, and store the result in this directory.
+# The file should include an one line entry for each index set.
+# The path points to the "basename" for the set, not a specific file.
+# It has four text columns seperated by TABS.
+#
+# <unique_build_id> <dbkey> <display_name> <file_base_path>
+#
+# So, for example, if you had hg18 indexes stored in:
+#
+#    /depot/data2/galaxy/hg19/bowtie2/
+#
+# containing hg19 genome and hg19.*.bt2 files, such as:
+#    -rw-rw-r-- 1 james   james   914M Feb 10 18:56 hg19canon.fa
+#    -rw-rw-r-- 1 james   james   914M Feb 10 18:56 hg19canon.1.bt2
+#    -rw-rw-r-- 1 james   james   683M Feb 10 18:56 hg19canon.2.bt2
+#    -rw-rw-r-- 1 james   james   3.3K Feb 10 16:54 hg19canon.3.bt2
+#    -rw-rw-r-- 1 james   james   683M Feb 10 16:54 hg19canon.4.bt2
+#    -rw-rw-r-- 1 james   james   914M Feb 10 20:45 hg19canon.rev.1.bt2
+#    -rw-rw-r-- 1 james   james   683M Feb 10 20:45 hg19canon.rev.2.bt2
+#
+# then the bowtie2_indices.loc entry could look like this:
+#
+#hg19 hg19 Human (hg19) /depot/data2/galaxy/hg19/bowtie2/hg19canon
+#
+#More examples:
+#
+#mm10 mm10 Mouse (mm10) /depot/data2/galaxy/mm10/bowtie2/mm10
+#dm3 dm3 D. melanogaster (dm3) /depot/data2/galaxy/mm10/bowtie2/dm3
+#
+#
+test_value test_dbkey test_name ${__HERE__}/bowtie2-ref
\ No newline at end of file
b
diff -r d5ceb9f3c25b -r f76cbb84d67f tool_data_table_conf.xml.test
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_data_table_conf.xml.test Wed Sep 24 13:37:14 2025 +0000
b
@@ -0,0 +1,8 @@
+<!-- Use the file tool_data_table_conf.xml.oldlocstyle if you don't want to update your loc files as changed in revision 4550:535d276c92bc-->
+<tables>
+    <!-- Locations of indexes in the Bowtie2 mapper format -->
+    <table name="bowtie2_indexes" comment_char="#">
+        <columns>value, dbkey, name, path</columns>
+        <file path="${__HERE__}/test-data/bowtie2_indices.loc" />
+    </table>
+</tables>