changeset 26:f22a309187a3 draft default tip

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit c2b1677d1c94433f777c2dc28ac8eec0a99cc6a7
author bgruening
date Fri, 16 Aug 2024 10:41:17 +0000
parents cd83b5644eab
children
files awk.xml cat.xml cut.xml easyjoin.xml find_and_replace.xml grep.xml head.xml macros.xml multijoin.xml nl.xml recurring_lines.xml replace_text_in_column.xml replace_text_in_line.xml sed.xml sort.xml sort_rows.xml sorted_uniq.xml tac.xml tail.xml test-data/grep_results2.html test-data/nl-out-number-format.txt test-data/nl-out.txt test-data/nl-start-incr.txt unfold_column.xml unsorted_uniq.xml
diffstat 25 files changed, 262 insertions(+), 130 deletions(-) [+]
line wrap: on
line diff
--- a/awk.xml	Sat Oct 08 20:59:15 2022 +0000
+++ b/awk.xml	Fri Aug 16 10:41:17 2024 +0000
@@ -1,10 +1,11 @@
-<tool id="tp_awk_tool" name="Text reformatting" version="@BASE_VERSION@.2">
+<tool id="tp_awk_tool" name="Text reformatting" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
     <description>with awk</description>
     <macros>
         <import>macros.xml</import>
     </macros>
+    <expand macro="creator"/>
     <requirements>
-        <requirement type="package" version="4.2.0">gawk</requirement>
+        <requirement type="package" version="5.3.0">gawk</requirement>
     </requirements>
     <version_command>awk --version | head -n 1</version_command>
     <command>
@@ -15,9 +16,9 @@
             -v FS='	'
             -v OFS='	'
             --re-interval
-            -f "$awk_script"
-            "$infile"
-        > "$outfile"
+            -f '$awk_script'
+            '$infile'
+        > '$outfile'
 ]]>
     </command>
     <configfiles>
@@ -119,7 +120,6 @@
 - **$** matches the end of a line or string.
 - **\|** Separates alternate possibilities.
 
-@REFERENCES@
 ]]>
   </help>
   <expand macro="citations" />
--- a/cat.xml	Sat Oct 08 20:59:15 2022 +0000
+++ b/cat.xml	Fri Aug 16 10:41:17 2024 +0000
@@ -1,8 +1,9 @@
-<tool id="tp_cat" name="Concatenate datasets" version="0.1.1">
+<tool id="tp_cat" name="Concatenate datasets" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
     <description>tail-to-head (cat)</description>
     <macros>
         <import>macros.xml</import>
     </macros>
+    <expand macro="creator"/>
     <expand macro="requirements" />
     <version_command>
     <![CDATA[
@@ -89,7 +90,6 @@
     chr2  100000030  200000955  P  0  +
     chr2  100000015  200000999  Q  0  +
 
-@REFERENCES@
 ]]>
     </help>
     <expand macro="citations" />
--- a/cut.xml	Sat Oct 08 20:59:15 2022 +0000
+++ b/cut.xml	Fri Aug 16 10:41:17 2024 +0000
@@ -1,4 +1,4 @@
-<tool id="tp_cut_tool" name="Advanced Cut" version="@BASE_VERSION@.0">
+<tool id="tp_cut_tool" name="Advanced Cut" version="@TOOL_VERSION@+galaxy2" profile="@PROFILE@">
     <description>columns from a table (cut)</description>
     <macros>
         <import>macros.xml</import>
@@ -8,14 +8,18 @@
     <command>
 <![CDATA[
         cut
-            #if str($delimiter) != '':
-                -d"${delimiter}"
+            $complement
+            $cut_type_options.cut_element
+            #if $cut_type_options.cut_element != '-f'
+                '$cut_type_options.list'
+            #else
+                '$cut_type_options.colnames_option.list'
+                #if str($cut_type_options.delimiter) != '':
+                    -d"$cut_type_options.delimiter"
+                #end if
             #end if
-            ${complement}
-            ${cut_type_options.cut_element}
-            '${cut_type_options.list}'
-            '${input}'
-        > '${output}'
+            '$input'
+        > '$output'
 ]]>
     </command>
     <inputs>
@@ -24,23 +28,33 @@
             <option value="">Keep</option>
             <option value="--complement">Discard</option>
         </param>
-        <param name="delimiter" type="select" label="Delimited by">
-            <option value="">Tab</option>
-            <option value=" ">Whitespace</option>
-            <option value=".">Dot</option>
-            <option value=",">Comma</option>
-            <option value="-">Dash</option>
-            <option value="_">Underscore</option>
-            <option value="|">Pipe</option>
-        </param>
         <conditional name="cut_type_options">
             <param name="cut_element" type="select" label="Cut by">
                 <option value="-f">fields</option>
                 <option value="-c">characters</option>
-                <option value="-b">bytes</option>
             </param>
             <when value="-f">
-                <param name="list" type="data_column" data_ref="input" multiple="true" label="List of Fields" help="(-f)" />
+                <param name="delimiter" type="select" label="Delimited by">
+                    <option value="">Tab</option>
+                    <option value=" ">Whitespace</option>
+                    <option value=".">Dot</option>
+                    <option value=",">Comma</option>
+                    <option value="-">Dash</option>
+                    <option value="_">Underscore</option>
+                    <option value="|">Pipe</option>
+                </param>
+                <conditional name="colnames_option">
+                    <param name="header" type="select" label="Is there a header for the data's columns ?">
+                        <option value="Y">Yes</option>
+                        <option value="N" selected="true">No</option>
+                    </param>
+                    <when value="Y">
+                        <param name="list" type="data_column" data_ref="input" use_header_names="true" multiple="true" label="List of Fields" help="(-f)" />
+                    </when>
+                    <when value="N">
+                        <param name="list" type="data_column" data_ref="input" multiple="true" label="List of Fields" help="(-f)" />
+                    </when>
+                </conditional>
             </when>
             <when value="-c">
                 <param name="list" type="text" value="" label="List of characters" help="These will be kept/discarded (depending on 'operation'). &lt;BR /&gt; Examples: 1,3,4 or 2-5">
@@ -51,15 +65,6 @@
                     </sanitizer>
                 </param>
             </when>
-            <when value="-b">
-                <param name="list" type="text" value="" label="List of Bytes" help="These will be kept/discarded (depending on 'operation'). &lt;BR /&gt; Examples: 1,3,4 or 2-5">
-                    <sanitizer>
-                        <valid initial="string.printable">
-                            <remove value="&apos;"/>
-                        </valid>
-                    </sanitizer>
-                </param>
-            </when>
         </conditional>
     </inputs>
     <outputs>
@@ -70,7 +75,7 @@
                 <conditional name="cut_type_options.cut_element">
                     <!-- fields -->
                     <when value="-f">
-                        <conditional name="delimiter">
+                        <conditional name="cut_type_options.delimiter">
                         <when value="T">
                             <conditional name="input">
                                 <when datatype_isinstance="interval">
@@ -184,20 +189,33 @@
         </data>
     </outputs>
     <tests>
-        <test>
+        <test expect_num_outputs="1">
             <param name="input" value="cut1.txt"/>
             <param name="list" value="1,3,4"/>
             <param name="delimiter" value=""/>
             <output name="output" file="cut_results1.txt"/>
+            <assert_command>
+                <has_text text="-f '1,3,4'"/>
+            </assert_command>
         </test>
-        <test>
+
+        <test expect_num_outputs="1">
             <param name="input" value="cut1.txt"/>
-            <param name="list" value="2" />
-            <param name="delimiter" value="" />
+            <conditional name="cut_type_options">
+                <param name="delimiter" value="" />
+                <conditional name="colnames_option">
+                    <param name="header" value="Y"/>
+                    <!-- in the test we can (apparently) not select by header name -->
+                    <param name="list" value="2" />
+                </conditional>
+            </conditional>
             <param name="complement" value="--complement" />
             <output name="output" file="cut_results2.txt"/>
+            <assert_command>
+                <has_text text="-f '2'"/>
+            </assert_command>
         </test>
-        <test>
+        <test expect_num_outputs="1">
             <param name="input" value="cut1.txt"/>
             <param name="list" value="-3" />
             <param name="delimiter" value="" />
--- a/easyjoin.xml	Sat Oct 08 20:59:15 2022 +0000
+++ b/easyjoin.xml	Fri Aug 16 10:41:17 2024 +0000
@@ -1,17 +1,18 @@
-<tool id="tp_easyjoin_tool" name="Join" version="@BASE_VERSION@.2">
+<tool id="tp_easyjoin_tool" name="Join" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
     <description>two files</description>
     <macros>
         <import>macros.xml</import>
     </macros>
+    <expand macro="creator"/>
     <expand macro="requirements">
-        <requirement type="package" version="5.22.0.1">perl</requirement>
+        <requirement type="package" version="5.32">perl</requirement>
     </expand>
     <version_command>join --version | head -n 1</version_command>
     <command>
 <![CDATA[
-        cp $__tool_directory__/sort-header ./ &&
+        cp '$__tool_directory__/sort-header' ./ &&
         chmod +x sort-header &&
-        perl $__tool_directory__/easyjoin
+        perl '$__tool_directory__/easyjoin'
             $jointype
             -t $'\t'
             $header
@@ -20,8 +21,8 @@
             $ignore_case
             -1 '$column1'
             -2 '$column2'
-            "$infile1"
-            "$infile2"
+            '$infile1'
+            '$infile2'
             > '$output'
 ]]>
     </command>
@@ -109,7 +110,6 @@
  * The header line (**Fruit  Color  Price**) was joined and kept as first line.
  * Missing values ( Avocado's color, missing from the first file ) are replaced with a period character.
 
-@REFERENCES@
 ]]>
     </help>
     <expand macro="citations" />
--- a/find_and_replace.xml	Sat Oct 08 20:59:15 2022 +0000
+++ b/find_and_replace.xml	Fri Aug 16 10:41:17 2024 +0000
@@ -1,10 +1,11 @@
-<tool id="tp_find_and_replace" name="Replace" version="@BASE_VERSION@.4">
+<tool id="tp_find_and_replace" name="Replace" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
     <description>parts of text</description>
     <macros>
         <import>macros.xml</import>
     </macros>
+    <expand macro="creator"/>
     <requirements>
-        <requirement type="package" version="5.22.0.1">perl</requirement>
+        <requirement type="package" version="5.32">perl</requirement>
     </requirements>
     <command>
 <![CDATA[
@@ -240,7 +241,6 @@
 - **\\w** matches a single letter or digit or an underscore.
 - **\\s** matches a single white-space (space or tabs).
 
-@REFERENCES@
 ]]>
     </help>
     <expand macro="citations" />
--- a/grep.xml	Sat Oct 08 20:59:15 2022 +0000
+++ b/grep.xml	Fri Aug 16 10:41:17 2024 +0000
@@ -1,12 +1,16 @@
-<tool id="tp_grep_tool" name="Search in textfiles" version="@BASE_VERSION@.1">
+<tool id="tp_grep_tool" name="Search in textfiles" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
     <description>(grep)</description>
     <macros>
         <import>macros.xml</import>
     </macros>
+    <expand macro="creator"/>
     <requirements>
-        <requirement type="package" version="2.14">grep</requirement>
-        <requirement type="package" version="4.4">sed</requirement><!-- for ansi2html.sh -->
+        <requirement type="package" version="3.11">grep</requirement>
+        <requirement type="package" version="4.8">sed</requirement><!-- for ansi2html.sh -->
     </requirements>
+    <stdio>
+        <exit_code range="2:" level="fatal" description="grep failed" />
+    </stdio>
     <version_command>grep --version | head -n 1</version_command>
     <command>
 <![CDATA[
@@ -19,17 +23,18 @@
                 -B $lines_before
                 $invert
                 $case_sensitive
-                -- "${url_paste}"
-                '${infile}' | $__tool_directory__/ansi2html.sh > "${output}"
+                -- '${url_paste}'
+                '${infile}' | '$__tool_directory__/ansi2html.sh' > '${output}'
         #else:
             grep
                 $regex_type
                 -A $lines_after
                 -B $lines_before
+                --no-group-separator
                 $invert
                 $case_sensitive
-                 -- "${url_paste}"
-                '${infile}' | grep -v "^--$" > "${output}"
+                 -- '${url_paste}'
+                '${infile}' > '${output}'
         #end if
 ]]>
     </command>
@@ -42,9 +47,9 @@
         </param>
 
         <param name="regex_type" type="select" label="Type of regex">
-            <option value="-G">Basic</option>
-            <option value="-P" selected="true">Perl</option>
-            <option value="-E">Extended (egrep)</option>
+            <option value="-G">Basic (-G)</option>
+            <option value="-P" selected="true">Perl (-P)</option>
+            <option value="-E">Extended (egrep -E)</option>
         </param>
 
         <param name="url_paste" type="text" label="Regular Expression" help="See below for more details">
@@ -77,8 +82,8 @@
         </data>
     </outputs>
     <tests>
+        <!-- grep a FASTA file for sequences with specific motif -->
         <test>
-            <!-- grep a FASTA file for sequences with specific motif -->
             <param name="infile" value="grep1.txt" />
             <param name="case_sensitive" value="case sensitive" />
             <param name="regex_type" value="-P" />
@@ -89,9 +94,9 @@
             <param name="color" value="NOCOLOR" />
             <output name="output" file="grep_results1.txt" />
         </test>
+        <!-- grep a FASTA file for sequences with specific motif -
+             show highlighed output -->
         <test>
-            <!-- grep a FASTA file for sequences with specific motif -
-             show highlighed output -->
             <param name="infile" value="grep1.txt" />
             <param name="case_sensitive" value="case sensitive" />
             <param name="regex_type" value="-P" />
@@ -102,7 +107,8 @@
             <param name="color" value="COLOR" />
             <output name="output" file="grep_results2.html" />
         </test>
-        <test><!-- tests egrep -->
+        <!-- tests egrep -->
+        <test>
             <param name="infile" value="egrep1.txt" />
             <param name="case_sensitive" value="case sensitive" />
             <param name="regex_type" value="-E" />
@@ -113,16 +119,44 @@
             <param name="color" value="NOCOLOR" />
             <output name="output" file="egrep_results1.txt" />
         </test>
-        <test><!-- same regex as egrep test, but different outcome with basic regex -->
+        <!-- tests basic regex; + must be backslashed to match -->
+        <test>
+            <param name="infile" value="egrep1.txt" />
+            <param name="case_sensitive" value="case sensitive" />
+            <param name="regex_type" value="-G" />
+            <param name="invert" value="" />
+            <param name="url_paste" value="[^ ]\+" />
+            <param name="lines_before" value="0" />
+            <param name="lines_after" value="0" />
+            <param name="color" value="NOCOLOR" />
+            <output name="output" file="egrep_results1.txt" />
+        </test>
+        <!-- tests regex;matching nothing -->
+        <test>
             <param name="infile" value="egrep1.txt" />
             <param name="case_sensitive" value="case sensitive" />
             <param name="regex_type" value="-G" />
             <param name="invert" value="" />
-            <param name="url_paste" value="[^ ]+" />
+            <param name="url_paste" value="not existent pattern" />
             <param name="lines_before" value="0" />
             <param name="lines_after" value="0" />
             <param name="color" value="NOCOLOR" />
-            <output name="output" file="egrep_results2.txt" />
+            <output name="output">
+                <assert_contents>
+                    <has_size value="0"/>
+                </assert_contents>
+            </output>
+        </test>
+        <!-- tests invalid regex; i.e. that we still get exit code 2 -->
+        <test expect_failure="true" expect_exit_code="2">
+            <param name="infile" value="egrep1.txt" />
+            <param name="case_sensitive" value="case sensitive" />
+            <param name="regex_type" value="-G" />
+            <param name="invert" value="" />
+            <param name="url_paste" value="\(" />
+            <param name="lines_before" value="0" />
+            <param name="lines_after" value="0" />
+            <param name="color" value="NOCOLOR" />
         </test>
     </tests>
     <help>
@@ -187,7 +221,6 @@
 - **$** matches the end of a line or string.
 - **\|** Separates alternate possibilities.
 
-@REFERENCES@
 ]]>
     </help>
     <expand macro="citations" />
--- a/head.xml	Sat Oct 08 20:59:15 2022 +0000
+++ b/head.xml	Fri Aug 16 10:41:17 2024 +0000
@@ -1,8 +1,9 @@
-<tool id="tp_head_tool" name="Select first" version="@BASE_VERSION@.0">
+<tool id="tp_head_tool" name="Select first" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
     <description>lines from a dataset (head)</description>
     <macros>
         <import>macros.xml</import>
     </macros>
+    <expand macro="creator"/>
     <expand macro="requirements" />
     <version_command>head --version | head -n 1</version_command>
     <command>
@@ -56,7 +57,6 @@
     chr7  56632  56652  D17003_CTCF_R6  310  +
     chr7  56736  56756  D17003_CTCF_R7  354  +
 
-@REFERENCES@
 ]]>
     </help>
     <expand macro="citations" />
--- a/macros.xml	Sat Oct 08 20:59:15 2022 +0000
+++ b/macros.xml	Fri Aug 16 10:41:17 2024 +0000
@@ -1,11 +1,13 @@
 <macros>
     <xml name="requirements">
         <requirements>
-            <requirement type="package" version="8.25">coreutils</requirement>
+            <requirement type="package" version="9.3">coreutils</requirement>
             <yield/>
         </requirements>
     </xml>
-    <token name="@BASE_VERSION@">1.1</token>
+    <token name="@TOOL_VERSION@">9.3</token>
+    <token name="@VERSION_SUFFIX@">1</token>
+    <token name="@PROFILE@">23.1</token>
     <xml name="stdio">
         <stdio>
             <!-- Anything other than zero is an error -->
@@ -16,22 +18,18 @@
             <regex match="Exception:" />
         </stdio>
     </xml>
-    <token name="@REFERENCES@">
-<![CDATA[
-------
-
-**Citation**
-
-If you use this tool in Galaxy, please cite:
-
-Bjoern A. Gruening (2014), `Galaxy wrapper <https://github.com/bgruening/galaxytools>`_
-
-Assaf Gordon (gordon <at> cshl dot edu)
-]]>
-    </token>
     <xml name="citations">
         <citations>
+            <citation type="doi">10.5281/zenodo.1419255</citation>
             <yield />
         </citations>
     </xml>
+    <xml name="creator">
+        <creator>
+            <organization name="European Galaxy Team" url="https://galaxyproject.org/eu/" />
+            <person givenName="Björn" familyName="Grüning" url="https://github.com/bgruening"/>
+            <person givenName="Assaf" familyName="Gordon" url="https://github.com/agordon" />
+            <person givenName="Matthias" familyName="Bernt" url="https://github.com/bernt-matthias/" />
+        </creator>
+    </xml>
 </macros>
--- a/multijoin.xml	Sat Oct 08 20:59:15 2022 +0000
+++ b/multijoin.xml	Fri Aug 16 10:41:17 2024 +0000
@@ -1,10 +1,11 @@
-<tool id="tp_multijoin_tool" name="Multi-Join" version="@BASE_VERSION@.1">
+<tool id="tp_multijoin_tool" name="Multi-Join" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
     <description>(combine multiple files)</description>
     <macros>
         <import>macros.xml</import>
     </macros>
+    <expand macro="creator"/>
     <requirements>
-        <requirement type="package" version="5.22.0.1">perl</requirement>
+        <requirement type="package" version="5.32">perl</requirement>
     </requirements>
     <command>
 <![CDATA[
@@ -15,7 +16,7 @@
         $ignore_dups
         $output_header
         $input_header
-        $first_file
+        '$first_file'
         #for $file in $files:
             '$file'
         #end for
@@ -126,7 +127,6 @@
 
 Input files need not be sorted.
 
-@REFERENCES@
 ]]>
     </help>
     <expand macro="citations" />
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nl.xml	Fri Aug 16 10:41:17 2024 +0000
@@ -0,0 +1,63 @@
+<tool id="nl" name="Number lines" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
+    <description></description>
+    <macros>
+        <import>macros.xml</import>
+    </macros>
+    <expand macro="creator"/>
+    <expand macro="requirements" />
+    <version_command>nl --version | head -n 1</version_command>
+    <command><![CDATA[
+    nl
+        --line-increment=$line_increment
+        --starting-line-number=$starting_line_number
+        --number-format=$number_format
+        --number-width=$number_width
+        '$input'
+        > '$output'
+    ]]></command>
+    <inputs>
+        <param name="input" format="txt" type="data" label="File to number" />
+        <param argument="--line-increment" type="integer" value="1" label="Line number increment at each line"/>
+        <param argument="--starting-line-number" type="integer" value="1" label="First line number"/>
+        <param argument="--number-format" type="select" label="Line number format">
+            <option value="ln">left justified, no leading zeros</option>
+            <option value="rn" selected="true">right justified, no leading zeros</option>
+            <option value="rz">right justified, leading zeros</option>
+        </param>
+        <param argument="--number-width" type="integer" min="1" value="6" label="Number of characters for line numbers"/>
+    </inputs>
+    <outputs>
+        <data format_source="input" name="output"/>
+    </outputs>
+    <tests>
+        <test>
+            <param name="input" value="cut1.txt" ftype="tabular"/>
+            <output name="output" file="nl-out.txt" ftype="tabular"/>
+        </test>
+        <test>
+            <param name="input" value="cut1.txt" ftype="tabular"/>
+            <param name="number_format" value="ln"/>
+            <param name="number_width" value="1"/>
+            <output name="output" file="nl-out-number-format.txt" ftype="tabular">
+                <assert_contents>
+                    <!-- no filling spaces -->
+                    <has_text text=" " negate="true"/>
+                </assert_contents>
+            </output>
+        </test>
+        <test>
+            <param name="input" value="cut1.txt" ftype="tabular"/>
+            <param name="line_increment" value="2"/>
+            <param name="starting_line_number" value="10"/>
+            <output name="output" file="nl-start-incr.txt" ftype="tabular"/>
+        </test>
+    </tests>
+    <help>
+<![CDATA[
+**What it does**
+
+Add line numbers to the data set.
+]]>
+  </help>
+  <expand macro="citations" />
+</tool>
--- a/recurring_lines.xml	Sat Oct 08 20:59:15 2022 +0000
+++ b/recurring_lines.xml	Fri Aug 16 10:41:17 2024 +0000
@@ -1,8 +1,9 @@
-<tool id="tp_text_file_with_recurring_lines" name="Create text file" version="@BASE_VERSION@.0">
+<tool id="tp_text_file_with_recurring_lines" name="Create text file" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
     <description>with recurring lines</description>
     <macros>
         <import>macros.xml</import>
     </macros>
+    <expand macro="creator"/>
     <expand macro="requirements" />
     <version_command>yes --version | head -n 1</version_command>
     <command>
@@ -13,7 +14,7 @@
             #else:
                 times=`wc -l $token.repeat_select.infile | awk '{print $1}'`;
             #end if
-            yes -- "${token.line}" 2>/dev/null | head -n \$times >> $outfile;
+            yes -- '${token.line}' 2>/dev/null | head -n \$times >> '$outfile';
         #end for
 ]]>
     </command>
@@ -72,7 +73,6 @@
 The entire string will be printed X times separated by a line break. X can be either given by the use as a number or calculated by a given file.
 In case the user provides a file, the line number will be used as X.
 
-@REFERENCES@
 ]]>
     </help>
     <expand macro="citations" />
--- a/replace_text_in_column.xml	Sat Oct 08 20:59:15 2022 +0000
+++ b/replace_text_in_column.xml	Fri Aug 16 10:41:17 2024 +0000
@@ -1,10 +1,11 @@
-<tool id="tp_replace_in_column" name="Replace Text" version="@BASE_VERSION@.3">
+<tool id="tp_replace_in_column" name="Replace Text" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
     <description>in a specific column</description>
     <macros>
         <import>macros.xml</import>
     </macros>
+    <expand macro="creator"/>
     <requirements>
-        <requirement type="package" version="4.2.0">gawk</requirement>
+        <requirement type="package" version="5.3.0">gawk</requirement>
     </requirements>
     <version_command>awk --version | head -n 1</version_command>
     <command>
@@ -19,8 +20,8 @@
                 \$$replacement.column = gensub( /$replacement.find_pattern/, "$replacement.replace_pattern", "g", \$$replacement.column ) ;
             #end for
             print \$0 ; }'
-            "$infile"
-        > "$outfile"
+            '$infile'
+        > '$outfile'
 ]]>
     </command>
     <inputs>
@@ -151,7 +152,6 @@
 
 **Note**: AWK uses extended regular expression syntax, not Perl syntax. **\\d**, **\\w**, **\\s** etc. are **not** supported.
 
-@REFERENCES@
 ]]>
     </help>
     <expand macro="citations" />
--- a/replace_text_in_line.xml	Sat Oct 08 20:59:15 2022 +0000
+++ b/replace_text_in_line.xml	Fri Aug 16 10:41:17 2024 +0000
@@ -1,10 +1,11 @@
-<tool id="tp_replace_in_line" name="Replace Text" version="@BASE_VERSION@.2">
+<tool id="tp_replace_in_line" name="Replace Text" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
     <description>in entire line</description>
     <macros>
        <import>macros.xml</import>
     </macros>
+    <expand macro="creator"/>
     <requirements>
-        <requirement type="package" version="4.4">sed</requirement>
+        <requirement type="package" version="4.8">sed</requirement>
     </requirements>
     <version_command>sed --version | head -n 1</version_command>
     <command>
@@ -156,7 +157,6 @@
 
 **Note**: SED uses extended regular expression syntax, not Perl syntax. **\\d**, **\\w**, **\\s** etc. are **not** supported.
 
-@REFERENCES@
 ]]>
     </help>
     <expand macro="citations" />
--- a/sed.xml	Sat Oct 08 20:59:15 2022 +0000
+++ b/sed.xml	Fri Aug 16 10:41:17 2024 +0000
@@ -1,10 +1,11 @@
-<tool id="tp_sed_tool" name="Text transformation" version="@BASE_VERSION@.1">
+<tool id="tp_sed_tool" name="Text transformation" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
     <description>with sed</description>
     <macros>
         <import>macros.xml</import>
     </macros>
+    <expand macro="creator"/>
     <requirements>
-        <requirement type="package" version="4.4">sed</requirement>
+        <requirement type="package" version="4.8">sed</requirement>
     </requirements>
     <version_command>sed --version | head -n 1</version_command>
     <command>
@@ -126,7 +127,6 @@
 
 **Note**: SED uses extended regular expression syntax, not Perl syntax. **\\d**, **\\w**, **\\s** etc. are **not** supported.
 
-@REFERENCES@
 ]]>
     </help>
     <expand macro="citations" />
--- a/sort.xml	Sat Oct 08 20:59:15 2022 +0000
+++ b/sort.xml	Fri Aug 16 10:41:17 2024 +0000
@@ -1,10 +1,11 @@
-<tool id="tp_sort_header_tool" name="Sort" version="@BASE_VERSION@.1">
+<tool id="tp_sort_header_tool" name="Sort" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
     <description>data in ascending or descending order</description>
     <macros>
         <import>macros.xml</import>
     </macros>
+    <expand macro="creator"/>
     <expand macro="requirements">
-        <requirement type="package" version="4.4">sed</requirement>
+        <requirement type="package" version="4.8">sed</requirement>
     </expand>
     <version_command>sort --version | head -n 1</version_command>
     <command>
@@ -170,7 +171,6 @@
 
 If you're planning to use the file with another tool that expected sorted files (such as *join*), you should use the **Alphabetical sort**,  not the **Natural Sort**. Natural sort order is easier for humans, but is unnatural for computer programs.
 
-@REFERENCES@
 ]]>
   </help>
   <expand macro="citations" />
--- a/sort_rows.xml	Sat Oct 08 20:59:15 2022 +0000
+++ b/sort_rows.xml	Fri Aug 16 10:41:17 2024 +0000
@@ -1,11 +1,15 @@
-<tool id="tp_sort_rows" name="Sort a row" version="@BASE_VERSION@.0+galaxy0">
+<tool id="tp_sort_rows" name="Sort a row" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
     <description>according to their columns</description>
     <macros>
         <import>macros.xml</import>
     </macros>
+    <expand macro="creator"/>
+    <requirements>
+        <requirement type="package" version="3.12">python</requirement>
+    </requirements>
     <command>
 <![CDATA[
-    python -c 'for line in ( "\t".join(sorted(line.strip().split("\t"))) for line in open("$infile") ): print(line)' > $outfile
+    python -c 'for line in ( "\t".join(sorted(line.strip().split("\t"))) for line in open("$infile") ): print(line)' > '$outfile'
 ]]>
     </command>
     <inputs>
@@ -14,7 +18,6 @@
     <outputs>
         <data name="outfile" format_source="infile" metadata_source="infile"/>
     </outputs>
-    <options sanitize="False"/>
     <tests>
         <test>
             <param name="infile" value="sort_rows1.tabular" ftype="tabular" />
@@ -31,7 +34,6 @@
 
 That tool sorts each row in a TAB separated file, according to their columns. In other words: It is a sorted reordering of all columns.
 
-@REFERENCES@
 ]]>
     </help>
     <expand macro="citations" />
--- a/sorted_uniq.xml	Sat Oct 08 20:59:15 2022 +0000
+++ b/sorted_uniq.xml	Fri Aug 16 10:41:17 2024 +0000
@@ -1,10 +1,11 @@
-<tool id="tp_uniq_tool" name="Unique lines" version="@BASE_VERSION@.1">
+<tool id="tp_uniq_tool" name="Unique lines" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
     <description>assuming sorted input file</description>
     <macros>
         <import>macros.xml</import>
     </macros>
+    <expand macro="creator"/>
     <expand macro="requirements">
-        <requirement type="package" version="4.4">sed</requirement>
+        <requirement type="package" version="4.8">sed</requirement>
     </expand>
     <version_command>uniq --version | head -n 1</version_command>
     <command>
@@ -23,14 +24,14 @@
                 $grouping.uniqueonly
             #end if
 
-            "$infile"
+            '$infile'
 
             #if $grouping.grouping_select == 'no' and $grouping.count:
                 ## count will print the count with spaces in front of the line and
                 ## with a space (not a tab) after the number, we need to cahnge that
                 | sed -e 's/ *//' -e 's/ /\t/'
             #end if
-            > "$outfile"
+            > '$outfile'
 ]]>
     </command>
     <inputs>
@@ -99,7 +100,6 @@
 
 You can sort your file using either the "Sort" tool in "Filter and Sort", or the "Sort" tool in "Unix Tools".
 
-@REFERENCES@
 ]]>
     </help>
     <expand macro="citations" />
--- a/tac.xml	Sat Oct 08 20:59:15 2022 +0000
+++ b/tac.xml	Fri Aug 16 10:41:17 2024 +0000
@@ -1,8 +1,9 @@
-<tool id="tp_tac" name="tac" version="@BASE_VERSION@.0">
+<tool id="tp_tac" name="tac" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
     <description>reverse a file (reverse cat)</description>
     <macros>
         <import>macros.xml</import>
     </macros>
+    <expand macro="creator"/>
     <expand macro="requirements" />
     <version_command>tac --version | head -n 1</version_command>
     <command>
@@ -15,8 +16,8 @@
                     "$separator.separator_string"
                 #end if
             #end if
-            "$infile"
-        > "$outfile"
+            '$infile'
+        > '$outfile'
 ]]>
     </command>
     <inputs>
@@ -85,7 +86,6 @@
 
     5 # 6 7 8 9 0 1 2 3 4
 
-@REFERENCES@
 ]]>
     </help>
     <expand macro="citations" />
--- a/tail.xml	Sat Oct 08 20:59:15 2022 +0000
+++ b/tail.xml	Fri Aug 16 10:41:17 2024 +0000
@@ -1,8 +1,9 @@
-<tool id="tp_tail_tool" name="Select last" version="@BASE_VERSION@.0">
+<tool id="tp_tail_tool" name="Select last" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
     <description>lines from a dataset (tail)</description>
     <macros>
         <import>macros.xml</import>
     </macros>
+    <expand macro="creator"/>
     <expand macro="requirements" />
     <version_command>tail --version | head -n 1</version_command>
     <command>
@@ -61,7 +62,6 @@
     chr7    57341   57361   D17003_CTCF_R7  375     +
     chr7    57457   57477   D17003_CTCF_R3  188     +
 
-@REFERENCES@
 ]]>
     </help>
     <expand macro="citations" />
--- a/test-data/grep_results2.html	Sat Oct 08 20:59:15 2022 +0000
+++ b/test-data/grep_results2.html	Fri Aug 16 10:41:17 2024 +0000
@@ -290,11 +290,17 @@
 <body class="f9 b9">
 <pre>
 GCTATAG<span class="bold"><span class="f4">AAATGT</span></span>TAACATCGAATGTACATTATAAC
+<span class="f6">--</span>
 CAGCTAACAATC<span class="bold"><span class="f4">AAGCGT</span></span>TACAGATTAGCCCCCCCC
+<span class="f6">--</span>
 GAACTTGCGTAACGTACAAAAATGCAAGCA<span class="bold"><span class="f4">AAAAGT</span></span>
+<span class="f6">--</span>
 GCTCTGTTAATCTAGA<span class="bold"><span class="f4">AAATGT</span></span>GTCTCCCCCCCCCC
+<span class="f6">--</span>
 <span class="bold"><span class="f4">AATCGT</span></span>ATAGCTCGGGCCGGATACTAGTACACCCCC
+<span class="f6">--</span>
 GATATAGTGGATAACTAATGCTCCCCCAG<span class="bold"><span class="f4">AACTGT</span></span>T
+<span class="f6">--</span>
 GAACGGACTATAGCCGGTATCCAAACAT<span class="bold"><span class="f4">AAATGT</span></span>TC
 </pre>
 </body>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/nl-out-number-format.txt	Fri Aug 16 10:41:17 2024 +0000
@@ -0,0 +1,4 @@
+1	fruit	color	weight	price
+2	apple	red	1.4	0.4
+3	orange	orange	1.1	0.2
+4	banana	yellow	0.9	0.35
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/nl-out.txt	Fri Aug 16 10:41:17 2024 +0000
@@ -0,0 +1,4 @@
+     1	fruit	color	weight	price
+     2	apple	red	1.4	0.4
+     3	orange	orange	1.1	0.2
+     4	banana	yellow	0.9	0.35
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/nl-start-incr.txt	Fri Aug 16 10:41:17 2024 +0000
@@ -0,0 +1,4 @@
+    10	fruit	color	weight	price
+    12	apple	red	1.4	0.4
+    14	orange	orange	1.1	0.2
+    16	banana	yellow	0.9	0.35
--- a/unfold_column.xml	Sat Oct 08 20:59:15 2022 +0000
+++ b/unfold_column.xml	Fri Aug 16 10:41:17 2024 +0000
@@ -1,10 +1,11 @@
-<tool id="tp_unfold_column_tool" name="Unfold" version="@BASE_VERSION@.1">
+<tool id="tp_unfold_column_tool" name="Unfold" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
     <description>columns from a table</description>
     <macros>
         <import>macros.xml</import>
     </macros>
+    <expand macro="creator"/>
     <requirements>
-        <requirement type="package" version="2.7.13">python</requirement>
+        <requirement type="package" version="3.12">python</requirement>
     </requirements>
     <command>
 <![CDATA[
@@ -60,7 +61,6 @@
     a	b	4	c
     a	b	5	c
 
-@REFERENCES@
 ]]>
   </help>
   <expand macro="citations" />
--- a/unsorted_uniq.xml	Sat Oct 08 20:59:15 2022 +0000
+++ b/unsorted_uniq.xml	Fri Aug 16 10:41:17 2024 +0000
@@ -1,8 +1,9 @@
-<tool id="tp_sorted_uniq" name="Unique" version="@BASE_VERSION@.0">
+<tool id="tp_sorted_uniq" name="Unique" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
   <description>occurrences of each record</description>
     <macros>
         <import>macros.xml</import>
     </macros>
+    <expand macro="creator"/>
     <expand macro="requirements" />
     <version_command>sort --version | head -n 1</version_command>
     <command>
@@ -14,8 +15,8 @@
         #if $adv_opts.adv_opts_selector == "advanced":
             -k$adv_opts.column_start,$adv_opts.column_end
         #end if
-        -o "$outfile"
-        "$infile"
+        -o '$outfile'
+        '$infile'
 ]]>
     </command>
     <inputs>
@@ -87,7 +88,6 @@
        chr2 1000 1900  gene5
        chr3   15 1656  gene6
 
-@REFERENCES@
 ]]>
 </help>
 <expand macro="citations" />