Mercurial > repos > bgruening > text_processing
comparison find_and_replace.xml @ 25:cd83b5644eab draft
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit 378e99cde623698fb44ee7ac9873f455fb51fdbc"
| author | bgruening |
|---|---|
| date | Sat, 08 Oct 2022 20:59:15 +0000 |
| parents | 0e3b611245f7 |
| children | f22a309187a3 |
comparison
equal
deleted
inserted
replaced
| 24:5fef6d08de83 | 25:cd83b5644eab |
|---|---|
| 1 <tool id="tp_find_and_replace" name="Replace" version="@BASE_VERSION@.3"> | 1 <tool id="tp_find_and_replace" name="Replace" version="@BASE_VERSION@.4"> |
| 2 <description>parts of text</description> | 2 <description>parts of text</description> |
| 3 <macros> | 3 <macros> |
| 4 <import>macros.xml</import> | 4 <import>macros.xml</import> |
| 5 </macros> | 5 </macros> |
| 6 <requirements> | 6 <requirements> |
| 7 <requirement type="package" version="5.22.0.1">perl</requirement> | 7 <requirement type="package" version="5.22.0.1">perl</requirement> |
| 8 </requirements> | 8 </requirements> |
| 9 <command> | 9 <command> |
| 10 <![CDATA[ | 10 <![CDATA[ |
| 11 perl '$__tool_directory__/find_and_replace' | 11 #for $i, $el in enumerate($find_and_replace) |
| 12 #if $searchwhere.searchwhere_select == "column": | 12 #if $i == (len($find_and_replace) - 1) |
| 13 -c $searchwhere.column | 13 #set $join = "" |
| 14 #else | |
| 15 #set $join = "|" | |
| 14 #end if | 16 #end if |
| 15 -o $outfile | 17 perl '$__tool_directory__/find_and_replace' |
| 16 $global | 18 #if $el.searchwhere.searchwhere_select == "column": |
| 17 $caseinsensitive | 19 -c $el.searchwhere.column |
| 18 $wholewords | 20 #end if |
| 19 $skip_first_line | 21 #if $i == (len($find_and_replace) - 1) |
| 20 $is_regex | 22 -o '$outfile' |
| 21 '$find_pattern' | 23 #end if |
| 22 '$replace_pattern' | 24 $el.global |
| 23 '$infile' | 25 $el.caseinsensitive |
| 26 $el.wholewords | |
| 27 $el.skip_first_line | |
| 28 $el.is_regex | |
| 29 '$el.find_pattern' | |
| 30 '$el.replace_pattern' | |
| 31 #if $i == 0 | |
| 32 '$infile' | |
| 33 #end if | |
| 34 $join | |
| 35 #end for | |
| 24 ]]> | 36 ]]> |
| 25 </command> | 37 </command> |
| 26 <inputs> | 38 <inputs> |
| 27 <param name="infile" format="txt" type="data" label="File to process" /> | 39 <param name="infile" format="txt" type="data" label="File to process" /> |
| 28 <param name="find_pattern" type="text" label="Find pattern" help="Use simple text, or a valid regular expression (without backslashes // ) " > | 40 <repeat name="find_and_replace" title="Find and Replace" min="1"> |
| 29 <sanitizer> | 41 <param name="find_pattern" type="text" label="Find pattern" help="Use simple text, or a valid regular expression (without backslashes // ) " > |
| 30 <valid initial="string.printable"> | 42 <sanitizer> |
| 31 <remove value="'"/> | 43 <valid initial="string.printable"> |
| 32 </valid> | 44 <remove value="'"/> |
| 33 </sanitizer> | 45 </valid> |
| 34 </param> | 46 </sanitizer> |
| 35 <param name="replace_pattern" type="text" label="Replace with" | |
| 36 help="Use simple text, or $& (dollar-ampersand) and $1 $2 $3 to refer to matched text. See examples below." > | |
| 37 <sanitizer> | |
| 38 <valid initial="string.printable"> | |
| 39 <remove value="'"/> | |
| 40 </valid> | |
| 41 </sanitizer> | |
| 42 </param> | |
| 43 <param name="is_regex" type="boolean" checked="false" truevalue="-r" falsevalue="" | |
| 44 label="Find-Pattern is a regular expression" help="see help section for details." /> | |
| 45 | |
| 46 <param name="global" type="boolean" checked="false" truevalue="-g" falsevalue="" | |
| 47 label="Replace all occurences of the pattern" /> | |
| 48 | |
| 49 <param name="caseinsensitive" type="boolean" checked="false" truevalue="-i" falsevalue="" | |
| 50 label="Case-Insensitive search" help="" /> | |
| 51 | |
| 52 <param name="wholewords" type="boolean" checked="false" truevalue="-w" falsevalue="" | |
| 53 label="Find whole-words" help="ignore partial matches (e.g. 'apple' will not match 'snapple')" /> | |
| 54 | |
| 55 <param name="skip_first_line" type="boolean" checked="false" truevalue="-s" falsevalue="" | |
| 56 label="Ignore first line" help="Select this option if the first line contains column headers. Text in the line will not be replaced. " /> | |
| 57 | |
| 58 <conditional name="searchwhere"> | |
| 59 <param name="searchwhere_select" type="select" label="Find and Replace text in"> | |
| 60 <option value="line" selected="true">entire line</option> | |
| 61 <option value="column">specific column</option> | |
| 62 </param> | 47 </param> |
| 63 <when value="line" /> | 48 <param name="replace_pattern" type="text" label="Replace with" |
| 64 <when value="column"> | 49 help="Use simple text, or $& (dollar-ampersand) and $1 $2 $3 to refer to matched text. See examples below." > |
| 65 <param name="column" label="in column" type="data_column" data_ref="infile" accept_default="true" /> | 50 <sanitizer> |
| 66 </when> | 51 <valid initial="string.printable"> |
| 67 </conditional> | 52 <remove value="'"/> |
| 53 </valid> | |
| 54 </sanitizer> | |
| 55 </param> | |
| 56 <param name="is_regex" type="boolean" checked="false" truevalue="-r" falsevalue="" | |
| 57 label="Find-Pattern is a regular expression" help="see help section for details." /> | |
| 58 | |
| 59 <param name="global" type="boolean" checked="false" truevalue="-g" falsevalue="" | |
| 60 label="Replace all occurences of the pattern" /> | |
| 61 | |
| 62 <param name="caseinsensitive" type="boolean" checked="false" truevalue="-i" falsevalue="" | |
| 63 label="Case-Insensitive search" help="" /> | |
| 64 | |
| 65 <param name="wholewords" type="boolean" checked="false" truevalue="-w" falsevalue="" | |
| 66 label="Find whole-words" help="ignore partial matches (e.g. 'apple' will not match 'snapple')" /> | |
| 67 | |
| 68 <param name="skip_first_line" type="boolean" checked="false" truevalue="-s" falsevalue="" | |
| 69 label="Ignore first line" help="Select this option if the first line contains column headers. Text in the line will not be replaced. " /> | |
| 70 | |
| 71 <conditional name="searchwhere"> | |
| 72 <param name="searchwhere_select" type="select" label="Find and Replace text in"> | |
| 73 <option value="line" selected="true">entire line</option> | |
| 74 <option value="column">specific column</option> | |
| 75 </param> | |
| 76 <when value="line" /> | |
| 77 <when value="column"> | |
| 78 <param name="column" label="in column" type="data_column" data_ref="infile" accept_default="true" /> | |
| 79 </when> | |
| 80 </conditional> | |
| 81 </repeat> | |
| 68 </inputs> | 82 </inputs> |
| 69 <outputs> | 83 <outputs> |
| 70 <data format_source="infile" name="outfile" metadata_source="infile" /> | 84 <data format_source="infile" name="outfile" metadata_source="infile" /> |
| 71 </outputs> | 85 </outputs> |
| 72 <tests> | 86 <tests> |
| 73 <test> | 87 <test expect_num_outputs="1"> |
| 74 <param name="infile" value="find_and_replace1.txt" /> | 88 <param name="infile" value="find_and_replace1.txt" /> |
| 75 <param name="find_pattern" value="day" /> | 89 <repeat name="find_and_replace"> |
| 76 <param name="replace_pattern" value="great day" /> | 90 <param name="find_pattern" value="day" /> |
| 77 <param name="is_regex" value="False" /> | 91 <param name="replace_pattern" value="great day" /> |
| 78 <param name="global" value="true" /> | 92 <param name="is_regex" value="False" /> |
| 79 <param name="caseinsensitive" value="False" /> | 93 <param name="global" value="true" /> |
| 80 <param name="wholewords" value="True" /> | 94 <param name="caseinsensitive" value="False" /> |
| 81 <output name="outfile" file="find_and_replace_results1.txt" /> | 95 <param name="wholewords" value="True" /> |
| 96 </repeat> | |
| 97 <output name="outfile" file="find_and_replace_results1.txt" /> | |
| 82 </test> | 98 </test> |
| 83 <!-- test that columns are split by tab not space. input has no tab loads of spaces | 99 <!-- test that columns are split by tab not space. input has no tab loads of spaces |
| 84 .. therefore the ftype needs to be set. | 100 .. therefore the ftype needs to be set. |
| 85 result should be the same as in test 1 which works on whole line --> | 101 result should be the same as in test 1 which works on whole line --> |
| 86 <test> | 102 <test expect_num_outputs="1"> |
| 87 <param name="infile" value="find_and_replace1.txt" ftype="tabular" /> | 103 <param name="infile" value="find_and_replace1.txt" ftype="tabular" /> |
| 88 <param name="find_pattern" value="day" /> | 104 <repeat name="find_and_replace"> |
| 89 <param name="replace_pattern" value="great day" /> | 105 <param name="find_pattern" value="day" /> |
| 90 <param name="is_regex" value="False" /> | 106 <param name="replace_pattern" value="great day" /> |
| 91 <param name="global" value="true" /> | 107 <param name="is_regex" value="False" /> |
| 92 <param name="caseinsensitive" value="False" /> | 108 <param name="global" value="true" /> |
| 93 <param name="wholewords" value="True" /> | 109 <param name="caseinsensitive" value="False" /> |
| 94 <conditional name="searchwhere"> | 110 <param name="wholewords" value="True" /> |
| 95 <param name="searchwhere_select" value="column"/> | 111 <conditional name="searchwhere"> |
| 96 <param name="column" value="1" /> | 112 <param name="searchwhere_select" value="column"/> |
| 97 </conditional> | 113 <param name="column" value="1" /> |
| 114 </conditional> | |
| 115 </repeat> | |
| 98 <output name="outfile" file="find_and_replace_results1.txt" /> | 116 <output name="outfile" file="find_and_replace_results1.txt" /> |
| 99 </test> | 117 </test> |
| 100 <test> | 118 <test expect_num_outputs="1"> |
| 101 <param name="infile" value="find_and_replace2.txt" /> | 119 <param name="infile" value="find_and_replace2.txt" /> |
| 102 <param name="find_pattern" value="^chr" /> | 120 <repeat name="find_and_replace"> |
| 103 <param name="replace_pattern" value="" /> | 121 <param name="find_pattern" value="^chr" /> |
| 104 <param name="is_regex" value="True" /> | 122 <param name="replace_pattern" value="" /> |
| 105 <param name="caseinsensitive" value="False" /> | 123 <param name="is_regex" value="True" /> |
| 106 <param name="wholewords" value="False" /> | 124 <param name="caseinsensitive" value="False" /> |
| 107 <param name="searchwhere_select" value="column" /> | 125 <param name="wholewords" value="False" /> |
| 108 <param name="column" value="3" /> | 126 <conditional name="searchwhere"> |
| 127 <param name="searchwhere_select" value="column" /> | |
| 128 <param name="column" value="3" /> | |
| 129 </conditional> | |
| 130 </repeat> | |
| 109 <output name="outfile" file="find_and_replace_results2.txt" /> | 131 <output name="outfile" file="find_and_replace_results2.txt" /> |
| 132 </test> | |
| 133 <test expect_num_outputs="1"> | |
| 134 <param name="infile" value="find_and_replace1.txt" /> | |
| 135 <repeat name="find_and_replace"> | |
| 136 <param name="find_pattern" value="day" /> | |
| 137 <param name="replace_pattern" value="great day" /> | |
| 138 <param name="is_regex" value="False" /> | |
| 139 <param name="global" value="true" /> | |
| 140 <param name="caseinsensitive" value="False" /> | |
| 141 <param name="wholewords" value="True" /> | |
| 142 </repeat> | |
| 143 <param name="infile" value="find_and_replace1.txt" /> | |
| 144 <repeat name="find_and_replace"> | |
| 145 <param name="find_pattern" value="great" /> | |
| 146 <param name="replace_pattern" value="best" /> | |
| 147 <param name="is_regex" value="False" /> | |
| 148 <param name="global" value="False" /> | |
| 149 <param name="caseinsensitive" value="False" /> | |
| 150 <param name="wholewords" value="True" /> | |
| 151 </repeat> | |
| 152 <output name="outfile" file="find_and_replace_results3.txt" /> | |
| 110 </test> | 153 </test> |
| 111 </tests> | 154 </tests> |
| 112 <help> | 155 <help> |
| 113 <