annotate awk.xml @ 15:74aae7d6cb09 draft

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit 3103ebed1a420c7d3415b67ef532ea579edf9faa
author bgruening
date Wed, 12 Jul 2017 14:06:47 -0400
parents 7725ab6dab67
children 1e974b82380d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
56e80527c482 Uploaded
bgruening
parents: 3
diff changeset
1 <tool id="tp_awk_tool" name="Text reformatting" version="@BASE_VERSION@.0">
2
fc862d5bccaf Uploaded
bgruening
parents: 1
diff changeset
2 <description>with awk</description>
4
56e80527c482 Uploaded
bgruening
parents: 3
diff changeset
3 <macros>
56e80527c482 Uploaded
bgruening
parents: 3
diff changeset
4 <import>macros.xml</import>
56e80527c482 Uploaded
bgruening
parents: 3
diff changeset
5 </macros>
13
3c685c4106b3 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit b9d202134c3c6d0e5c398c3ae75e410067fcfc52
bgruening
parents: 12
diff changeset
6 <requirements>
12
062ed2bb4f2e planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit f8896018f5b980a456c4ceaffe0ed457dc80b5a8
bgruening
parents: 7
diff changeset
7 <requirement type="package" version="4.1.3">gawk</requirement>
13
3c685c4106b3 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit b9d202134c3c6d0e5c398c3ae75e410067fcfc52
bgruening
parents: 12
diff changeset
8 </requirements>
4
56e80527c482 Uploaded
bgruening
parents: 3
diff changeset
9 <version_command>awk --version | head -n 1</version_command>
0
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
10 <command>
4
56e80527c482 Uploaded
bgruening
parents: 3
diff changeset
11 <![CDATA[
56e80527c482 Uploaded
bgruening
parents: 3
diff changeset
12 awk
56e80527c482 Uploaded
bgruening
parents: 3
diff changeset
13 --sandbox
6
8928e6d1e7ba Uploaded
bgruening
parents: 4
diff changeset
14 -v FS=' '
8928e6d1e7ba Uploaded
bgruening
parents: 4
diff changeset
15 -v OFS=' '
4
56e80527c482 Uploaded
bgruening
parents: 3
diff changeset
16 --re-interval
6
8928e6d1e7ba Uploaded
bgruening
parents: 4
diff changeset
17 -f "$awk_script"
8928e6d1e7ba Uploaded
bgruening
parents: 4
diff changeset
18 "$infile"
8928e6d1e7ba Uploaded
bgruening
parents: 4
diff changeset
19 > "$outfile"
4
56e80527c482 Uploaded
bgruening
parents: 3
diff changeset
20 ]]>
0
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
21 </command>
13
3c685c4106b3 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit b9d202134c3c6d0e5c398c3ae75e410067fcfc52
bgruening
parents: 12
diff changeset
22 <configfiles>
3c685c4106b3 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit b9d202134c3c6d0e5c398c3ae75e410067fcfc52
bgruening
parents: 12
diff changeset
23 <configfile name="awk_script">$code</configfile>
3c685c4106b3 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit b9d202134c3c6d0e5c398c3ae75e410067fcfc52
bgruening
parents: 12
diff changeset
24 </configfiles>
0
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
25 <inputs>
6
8928e6d1e7ba Uploaded
bgruening
parents: 4
diff changeset
26 <param name="infile" format="txt" type="data" label="File to process" />
8928e6d1e7ba Uploaded
bgruening
parents: 4
diff changeset
27 <param name="code" type="text" area="true" size="5x35" label="AWK Program" help="">
0
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
28 <sanitizer>
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
29 <valid initial="string.printable">
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
30 <remove value="&apos;"/>
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
31 </valid>
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
32 </sanitizer>
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
33 </param>
4
56e80527c482 Uploaded
bgruening
parents: 3
diff changeset
34 </inputs>
56e80527c482 Uploaded
bgruening
parents: 3
diff changeset
35 <outputs>
6
8928e6d1e7ba Uploaded
bgruening
parents: 4
diff changeset
36 <data name="outfile" format_source="infile" metadata_source="infile"/>
4
56e80527c482 Uploaded
bgruening
parents: 3
diff changeset
37 </outputs>
56e80527c482 Uploaded
bgruening
parents: 3
diff changeset
38 <tests>
6
8928e6d1e7ba Uploaded
bgruening
parents: 4
diff changeset
39 <test>
8928e6d1e7ba Uploaded
bgruening
parents: 4
diff changeset
40 <param name="infile" value="awk1.txt" />
8928e6d1e7ba Uploaded
bgruening
parents: 4
diff changeset
41 <!-- commas are not allowed in a value field. Values with comma will be splitted -->
8928e6d1e7ba Uploaded
bgruening
parents: 4
diff changeset
42 <param name="code" value='$2>0.5 { print $2*9"\t"$1 }' />
8928e6d1e7ba Uploaded
bgruening
parents: 4
diff changeset
43 <output name="outfile" file="awk_results1.txt" />
8928e6d1e7ba Uploaded
bgruening
parents: 4
diff changeset
44 </test>
4
56e80527c482 Uploaded
bgruening
parents: 3
diff changeset
45 </tests>
56e80527c482 Uploaded
bgruening
parents: 3
diff changeset
46 <help>
56e80527c482 Uploaded
bgruening
parents: 3
diff changeset
47 <![CDATA[
0
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
48 **What it does**
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
49
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
50 This tool runs the unix **awk** command on the selected data file.
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
51
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
52 .. class:: infomark
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
53
7
d64eace4f9f3 Uploaded
bgruening
parents: 6
diff changeset
54 **TIP:**
1
a4ad586d1403 Uploaded
bgruening
parents: 0
diff changeset
55
7
d64eace4f9f3 Uploaded
bgruening
parents: 6
diff changeset
56 This tool uses the **extended regular** expression syntax (not the perl syntax).
1
a4ad586d1403 Uploaded
bgruening
parents: 0
diff changeset
57 **\\d**, **\\w**, **\\s** etc. are **not** supported.
0
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
58
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
59
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
60 **Further reading**
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
61
14
7725ab6dab67 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit b'e6ee273f75fff61d1e419283fa8088528cf59470\n'
bgruening
parents: 13
diff changeset
62 - Awk by Example (http://www.ibm.com/developerworks/linux/library/l-awk1/index.html)
0
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
63 - Long AWK tutorial (http://www.grymoire.com/Unix/Awk.html)
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
64
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
65 -----
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
66
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
67 **AWK programs**
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
68
ec66f9d90ef0 initial uploaded
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).
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
70
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
71 The basic form of AWK program is::
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
72
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
73 pattern { action 1; action 2; action 3; }
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
74
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
75
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
76 **Pattern Examples**
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
77
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
78 - **$2 == "chr3"** will match lines whose second column is the string 'chr3'
ec66f9d90ef0 initial uploaded
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.
ec66f9d90ef0 initial uploaded
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.)
ec66f9d90ef0 initial uploaded
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.)
6
8928e6d1e7ba Uploaded
bgruening
parents: 4
diff changeset
82 - **10000 < $4 && $4 < 20000** will match lines whose fourth column value is larger than 10,000 but smaller than 20,000
15
74aae7d6cb09 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit 3103ebed1a420c7d3415b67ef532ea579edf9faa
bgruening
parents: 14
diff changeset
83 - **BEGIN** will be executed once only, before the first input record is read.
0
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
84 - If no pattern is specified, all lines match (meaning the **action** part will be executed on all lines).
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
85
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
86
15
74aae7d6cb09 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit 3103ebed1a420c7d3415b67ef532ea579edf9faa
bgruening
parents: 14
diff changeset
87
0
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
88 **Action Examples**
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
89
ec66f9d90ef0 initial uploaded
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'.
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
91 - **{ print $1, $4, $5 }** will print only the first, fourth and fifth fields of the input line.
ec66f9d90ef0 initial uploaded
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).
15
74aae7d6cb09 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit 3103ebed1a420c7d3415b67ef532ea579edf9faa
bgruening
parents: 14
diff changeset
93 - **{ FS = "," }** can be used to change the field separator (delimeter) for parsing the input file.
0
ec66f9d90ef0 initial uploaded
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.
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
95
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
96
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
97 **AWK's Regular Expression Syntax**
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
98
7
d64eace4f9f3 Uploaded
bgruening
parents: 6
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.
0
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
100
ec66f9d90ef0 initial uploaded
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.
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
102 - **^** matches the beginning of a string(but not an internal line).
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
103 - **(** .. **)** groups a particular pattern.
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
104 - **{** n or n, or n,m **}** specifies an expected number of repetitions of the preceding pattern.
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
105
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
106 - **{n}** The preceding item is matched exactly n times.
7
d64eace4f9f3 Uploaded
bgruening
parents: 6
diff changeset
107 - **{n,}** The preceding item ismatched n or more times.
d64eace4f9f3 Uploaded
bgruening
parents: 6
diff changeset
108 - **{n,m}** The preceding item is matched at least n times but not more than m times.
0
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
109
ec66f9d90ef0 initial uploaded
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**.
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
111 - **.** Matches any single character except a newline.
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
112 - ***** The preceding item will be matched zero or more times.
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
113 - **?** The preceding item is optional and matched at most once.
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
114 - **+** The preceding item will be matched one or more times.
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
115 - **^** has two meaning:
7
d64eace4f9f3 Uploaded
bgruening
parents: 6
diff changeset
116 - matches the beginning of a line or string.
0
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
117 - indicates negation in a character class. For example, [^...] matches every character except the ones inside brackets.
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
118 - **$** matches the end of a line or string.
7
d64eace4f9f3 Uploaded
bgruening
parents: 6
diff changeset
119 - **\|** Separates alternate possibilities.
0
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
120
4
56e80527c482 Uploaded
bgruening
parents: 3
diff changeset
121 @REFERENCES@
56e80527c482 Uploaded
bgruening
parents: 3
diff changeset
122 ]]>
1
a4ad586d1403 Uploaded
bgruening
parents: 0
diff changeset
123 </help>
14
7725ab6dab67 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit b'e6ee273f75fff61d1e419283fa8088528cf59470\n'
bgruening
parents: 13
diff changeset
124 <expand macro="citations" />
0
ec66f9d90ef0 initial uploaded
bgruening
parents:
diff changeset
125 </tool>