annotate awk.xml @ 6:60edf2f8c28f draft

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit b'e6ee273f75fff61d1e419283fa8088528cf59470\n'
author bgruening
date Sat, 06 May 2017 13:09:05 -0400
parents 20344ce0c811
children 4c752559b236
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
1 <tool id="tp_awk_tool" name="Text reformatting" version="@BASE_VERSION@.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>
20344ce0c811 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit b9d202134c3c6d0e5c398c3ae75e410067fcfc52
bgruening
parents: 0
diff changeset
7 <requirement type="package" version="4.1.3">gawk</requirement>
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
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
83 - 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
84
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
85
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
86 **Action Examples**
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
87
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
88 - **{ 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
89 - **{ 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
90 - **{ 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).
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
91 - 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
92
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
93
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
94 **AWK's Regular Expression Syntax**
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
95
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
96 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
97
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
98 - **( ) { } [ ] . * ? + \ ^ $** 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
99 - **^** matches the beginning of a string(but not an internal line).
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
100 - **(** .. **)** groups a particular pattern.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
101 - **{** 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
102
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
103 - **{n}** The preceding item is matched exactly n times.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
104 - **{n,}** The preceding item ismatched n or more times.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
105 - **{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
106
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
107 - **[** ... **]** 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
108 - **.** Matches any single character except a newline.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
109 - ***** The preceding item will be matched zero or more times.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
110 - **?** The preceding item is optional and matched at most once.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
111 - **+** The preceding item will be matched one or more times.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
112 - **^** has two meaning:
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
113 - matches the beginning of a line or string.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
114 - 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
115 - **$** matches the end of a line or string.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
116 - **\|** Separates alternate possibilities.
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
117
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
118 @REFERENCES@
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
119 ]]>
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
120 </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
121 <expand macro="citations" />
0
5314e5d6f040 Imported from capsule None
bgruening
parents:
diff changeset
122 </tool>