diff replace_text_in_column.xml @ 12:a6f147a050a2 draft

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit f47799941f9e11c313b38758bfdaab0ce83844f8
author bgruening
date Tue, 08 Jan 2019 02:50:23 -0500
parents 74a8bef53a00
children 12615d397df7
line wrap: on
line diff
--- a/replace_text_in_column.xml	Tue Feb 27 17:15:37 2018 -0500
+++ b/replace_text_in_column.xml	Tue Jan 08 02:50:23 2019 -0500
@@ -1,4 +1,4 @@
-<tool id="tp_replace_in_column" name="Replace Text" version="@BASE_VERSION@.2">
+<tool id="tp_replace_in_column" name="Replace Text" version="@BASE_VERSION@.3">
     <description>in a specific column</description>
     <macros>
         <import>macros.xml</import>
@@ -13,41 +13,62 @@
             -v OFS="\t"
             -v FS="\t"
             --re-interval
-            --sandbox '{ \$$column = gensub( /$find_pattern/, "$replace_pattern", "g", \$$column ) ; print \$0 ; }'
+            --sandbox 
+            '{ 
+            #for $replacement in $replacements:
+                \$$replacement.column = gensub( /$replacement.find_pattern/, "$replacement.replace_pattern", "g", \$$replacement.column ) ;
+            #end for
+            print \$0 ; }'
             "$infile"
         > "$outfile"
 ]]>
     </command>
     <inputs>
         <param format="tabular" name="infile" type="data" label="File to process" />
-        <param name="column" label="in column" type="data_column" data_ref="infile" accept_default="true" />
+        <repeat name="replacements" title="Replacement" min="1">
+            <param name="column" label="in column" type="data_column" data_ref="infile" accept_default="true" />
 
-        <param name="find_pattern" type="text" label="Find pattern" help="Use simple text, or a valid regular expression (without backslashes // ) " >
-            <sanitizer>
-                <valid initial="string.printable">
-                    <remove value="&apos;"/>
-                </valid>
-            </sanitizer>
-        </param>
-        <param name="replace_pattern" type="text" label="Replace with" help="Use simple text, or &amp; (ampersand) and \\1 \\2 \\3 to refer to matched text. See examples below." >
-            <sanitizer>
-                <valid initial="string.printable">
-                    <remove value="&apos;"/>
-                </valid>
-            </sanitizer>
-        </param>
+            <param name="find_pattern" type="text" label="Find pattern" help="Use simple text, or a valid regular expression (without backslashes // ) " >
+                <sanitizer>
+                    <valid initial="string.printable">
+                        <remove value="&apos;"/>
+                    </valid>
+                </sanitizer>
+            </param>
+            <param name="replace_pattern" type="text" label="Replace with" help="Use simple text, or &amp; (ampersand) and \\1 \\2 \\3 to refer to matched text. See examples below." >
+                <sanitizer>
+                    <valid initial="string.printable">
+                        <remove value="&apos;"/>
+                    </valid>
+                </sanitizer>
+            </param>
+        </repeat>
     </inputs>
     <outputs>
         <data name="outfile" format_source="infile" metadata_source="infile" />
     </outputs>
     <tests>
-          <test>
+        <test>
               <param name="infile" value="replace_text_in_column1.txt" ftype="tabular" />
               <param name="column" value="4" />
               <param name="find_pattern" value=".+_(R.)" />
               <param name="replace_pattern" value="\\1" />
               <output name="outfile" file="replace_text_in_column_results1.txt" />
         </test>
+        <test>
+              <param name="infile" value="replace_text_in_column1.txt" ftype="tabular" />
+              <repeat name="replacements">
+                <param name="column" value="1" />
+                <param name="find_pattern" value="[a-z]{2}([a-z])" />
+                <param name="replace_pattern" value="\\1" />
+              </repeat>
+              <repeat name="replacements">
+                <param name="column" value="4" />
+                <param name="find_pattern" value=".+_(R.)" />
+                <param name="replace_pattern" value="\\1" />
+              </repeat>
+              <output name="outfile" file="replace_text_in_column_results2.txt" />
+        </test>
     </tests>
     <help>
 <![CDATA[