annotate awk.xml @ 11:74a8bef53a00 draft

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit 0ba37c1f33eeb1c77b4d9363d681fe522d9f7fe7
author bgruening
date Tue, 27 Feb 2018 17:15:37 -0500
parents 4c752559b236
children 0a8c6b61f0f4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11
74a8bef53a00 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit 0ba37c1f33eeb1c77b4d9363d681fe522d9f7fe7
bgruening
parents: 8
diff changeset
1 <tool id="tp_awk_tool" name="Text reformatting" version="@BASE_VERSION@.1">
0
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
2 <description>with awk</description>
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
3 <macros>
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
4 <import>macros.xml</import>
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
5 </macros>
5
20344ce0c811 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit b9d202134c3c6d0e5c398c3ae75e410067fcfc52
bgruening
parents: 0
diff changeset
6 <requirements>
11
74a8bef53a00 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit 0ba37c1f33eeb1c77b4d9363d681fe522d9f7fe7
bgruening
parents: 8
diff changeset
7 <requirement type="package" version="4.2.0">gawk</requirement>
5
20344ce0c811 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit b9d202134c3c6d0e5c398c3ae75e410067fcfc52
bgruening
parents: 0
diff changeset
8 </requirements>
0
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
9 <version_command>awk --version | head -n 1</version_command>
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
10 <command>
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
11 <![CDATA[
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
12 awk
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
13 --sandbox
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
14 -v FS=' '
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
15 -v OFS=' '
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
16 --re-interval
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
17 -f "$awk_script"
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
18 "$infile"
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
19 > "$outfile"
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
20 ]]>
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
21 </command>
5
20344ce0c811 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit b9d202134c3c6d0e5c398c3ae75e410067fcfc52
bgruening
parents: 0
diff changeset
22 <configfiles>
20344ce0c811 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit b9d202134c3c6d0e5c398c3ae75e410067fcfc52
bgruening
parents: 0
diff changeset
23 <configfile name="awk_script">$code</configfile>
20344ce0c811 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit b9d202134c3c6d0e5c398c3ae75e410067fcfc52
bgruening
parents: 0
diff changeset
24 </configfiles>
0
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
25 <inputs>
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
26 <param name="infile" format="txt" type="data" label="File to process" />
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
27 <param name="code" type="text" area="true" size="5x35" label="AWK Program" help="">
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
28 <sanitizer>
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
29 <valid initial="string.printable">
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
30 <remove value="&apos;"/>
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
31 </valid>
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
32 </sanitizer>
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
33 </param>
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
34 </inputs>
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
35 <outputs>
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
36 <data name="outfile" format_source="infile" metadata_source="infile"/>
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
37 </outputs>
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
38 <tests>
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
39 <test>
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
40 <param name="infile" value="awk1.txt" />
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
41 <!-- commas are not allowed in a value field. Values with comma will be splitted -->
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
42 <param name="code" value='$2>0.5 { print $2*9"\t"$1 }' />
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
43 <output name="outfile" file="awk_results1.txt" />
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
44 </test>
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
45 </tests>
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
46 <help>
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
47 <![CDATA[
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
48 **What it does**
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
49
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
50 This tool runs the unix **awk** command on the selected data file.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
51
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
52 .. class:: infomark
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
53
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
54 **TIP:**
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
55
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
56 This tool uses the **extended regular** expression syntax (not the perl syntax).
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
57 **\\d**, **\\w**, **\\s** etc. are **not** supported.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
58
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
59
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
60 **Further reading**
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
61
6
60edf2f8c28f planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit b'e6ee273f75fff61d1e419283fa8088528cf59470\n'
bgruening
parents: 5
diff changeset
62 - Awk by Example (http://www.ibm.com/developerworks/linux/library/l-awk1/index.html)
0
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
63 - Long AWK tutorial (http://www.grymoire.com/Unix/Awk.html)
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
64
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
65 -----
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
66
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
67 **AWK programs**
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
68
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
69 Most AWK programs consist of **patterns** (i.e. rules that match lines of text) and **actions** (i.e. commands to execute when a pattern matches a line).
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
70
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
71 The basic form of AWK program is::
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
72
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
73 pattern { action 1; action 2; action 3; }
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
74
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
75
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
76 **Pattern Examples**
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
77
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
78 - **$2 == "chr3"** will match lines whose second column is the string 'chr3'
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
79 - **$5-$4>23** will match lines that after subtracting the value of the fourth column from the value of the fifth column, gives value alrger than 23.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
80 - **/AG..AG/** will match lines that contain the regular expression **AG..AG** (meaning the characeters AG followed by any two characeters followed by AG). (This is the way to specify regular expressions on the entire line, similar to GREP.)
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
81 - **$7 ~ /A{4}U/** will match lines whose seventh column contains 4 consecutive A's followed by a U. (This is the way to specify regular expressions on a specific field.)
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
82 - **10000 < $4 && $4 < 20000** will match lines whose fourth column value is larger than 10,000 but smaller than 20,000
11
74a8bef53a00 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit 0ba37c1f33eeb1c77b4d9363d681fe522d9f7fe7
bgruening
parents: 8
diff changeset
83 - **BEGIN** will be executed once only, before the first input record is read.
0
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
84 - If no pattern is specified, all lines match (meaning the **action** part will be executed on all lines).
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
85
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
86
8
4c752559b236 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit 3103ebed1a420c7d3415b67ef532ea579edf9faa
bgruening
parents: 6
diff changeset
87
0
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
88 **Action Examples**
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
89
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
90 - **{ print }** or **{ print $0 }** will print the entire input line (the line that matched in **pattern**). **$0** is a special marker meaning 'the entire line'.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
91 - **{ print $1, $4, $5 }** will print only the first, fourth and fifth fields of the input line.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
92 - **{ print $4, $5-$4 }** will print the fourth column and the difference between the fifth and fourth column. (If the fourth column was start-position in the input file, and the fifth column was end-position - the output file will contain the start-position, and the length).
8
4c752559b236 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit 3103ebed1a420c7d3415b67ef532ea579edf9faa
bgruening
parents: 6
diff changeset
93 - **{ FS = "," }** can be used to change the field separator (delimeter) for parsing the input file.
0
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
94 - If no action part is specified (not even the curly brackets) - the default action is to print the entire line.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
95
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
96
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
97 **AWK's Regular Expression Syntax**
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
98
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
99 The select tool searches the data for lines containing or not containing a match to the given pattern. A Regular Expression is a pattern descibing a certain amount of text.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
100
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
101 - **( ) { } [ ] . * ? + \ ^ $** are all special characters. **\\** can be used to "escape" a special character, allowing that special character to be searched for.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
102 - **^** matches the beginning of a string(but not an internal line).
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
103 - **(** .. **)** groups a particular pattern.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
104 - **{** n or n, or n,m **}** specifies an expected number of repetitions of the preceding pattern.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
105
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
106 - **{n}** The preceding item is matched exactly n times.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
107 - **{n,}** The preceding item ismatched n or more times.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
108 - **{n,m}** The preceding item is matched at least n times but not more than m times.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
109
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
110 - **[** ... **]** creates a character class. Within the brackets, single characters can be placed. A dash (-) may be used to indicate a range such as **a-z**.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
111 - **.** Matches any single character except a newline.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
112 - ***** The preceding item will be matched zero or more times.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
113 - **?** The preceding item is optional and matched at most once.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
114 - **+** The preceding item will be matched one or more times.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
115 - **^** has two meaning:
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
116 - matches the beginning of a line or string.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
117 - indicates negation in a character class. For example, [^...] matches every character except the ones inside brackets.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
118 - **$** matches the end of a line or string.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
119 - **\|** Separates alternate possibilities.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
120
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
121 @REFERENCES@
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
122 ]]>
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
123 </help>
6
60edf2f8c28f planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit b'e6ee273f75fff61d1e419283fa8088528cf59470\n'
bgruening
parents: 5
diff changeset
124 <expand macro="citations" />
0
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
125 </tool>