0
|
1 <tool id="pileup_interval" name="Pileup-to-Interval" version="1.0.0">
|
|
2 <description>condenses pileup format into ranges of bases</description>
|
|
3 <requirements>
|
|
4 <requirement type="package" version="0.1.18">samtools</requirement>
|
|
5 </requirements>
|
|
6 <command interpreter="python">
|
|
7 pileup_interval.py
|
|
8 --input=$input
|
|
9 --output=$output
|
|
10 --coverage=$coverage
|
|
11 --format=$format_type.format
|
|
12 #if $format_type.format == "ten":
|
|
13 --base=$format_type.which_base
|
|
14 --seq_column="None"
|
|
15 --loc_column="None"
|
|
16 --base_column="None"
|
|
17 --cvrg_column="None"
|
|
18 #elif $format_type.format == "manual":
|
|
19 --base="None"
|
|
20 --seq_column=$format_type.seq_column
|
|
21 --loc_column=$format_type.loc_column
|
|
22 --base_column=$format_type.base_column
|
|
23 --cvrg_column=$format_type.cvrg_column
|
|
24 #else:
|
|
25 --base="None"
|
|
26 --seq_column="None"
|
|
27 --loc_column="None"
|
|
28 --base_column="None"
|
|
29 --cvrg_column="None"
|
|
30 #end if
|
|
31 </command>
|
|
32 <inputs>
|
|
33 <param name="input" type="data" format="tabular" label="Choose a pileup file to condense:" />
|
|
34 <conditional name="format_type">
|
|
35 <param name="format" type="select" label="which contains:" help="See "Types of pileup datasets" below for examples">
|
|
36 <option value="six" selected="true">Pileup with six columns (simple)</option>
|
|
37 <option value="ten">Pileup with ten columns (with consensus)</option>
|
|
38 <option value="manual">Set columns manually</option>
|
|
39 </param>
|
|
40 <when value="six" />
|
|
41 <when value="ten">
|
|
42 <param name="which_base" type="select" label="Which base do you want to concatenate">
|
|
43 <option value="first" selected="true">Reference base (first)</option>
|
|
44 <option value="second">Consensus base (second)</option>
|
|
45 </param>
|
|
46 </when>
|
|
47 <when value="manual">
|
|
48 <param name="seq_column" label="Select column with sequence name" type="data_column" numerical="false" data_ref="input" />
|
|
49 <param name="loc_column" label="Select column with base location" type="data_column" numerical="false" data_ref="input" />
|
|
50 <param name="base_column" label="Select column with base to concatenate" type="data_column" numerical="false" data_ref="input" />
|
|
51 <param name="cvrg_column" label="Select column with coverage" type="data_column" numerical="true" data_ref="input" />
|
|
52 </when>
|
|
53 </conditional>
|
|
54 <param name="coverage" type="integer" value="3" label="Do not report bases with coverage less than:" />
|
|
55 </inputs>
|
|
56 <outputs>
|
|
57 <data format="tabular" name="output" />
|
|
58 </outputs>
|
|
59 <tests>
|
|
60 <test>
|
|
61 <param name="input" value="pileup_interval_in1.tabular" />
|
|
62 <param name="format" value="six" />
|
|
63 <param name="coverage" value="3" />
|
|
64 <output name="output" file="pileup_interval_out1.tabular" />
|
|
65 </test>
|
|
66 <test>
|
|
67 <param name="input" value="pileup_interval_in2.tabular" />
|
|
68 <param name="format" value="ten" />
|
|
69 <param name="which_base" value="first" />
|
|
70 <param name="coverage" value="3" />
|
|
71 <output name="output" file="pileup_interval_out2.tabular" />
|
|
72 </test>
|
|
73 <test>
|
|
74 <param name="input" value="pileup_interval_in2.tabular" />
|
|
75 <param name="format" value="manual" />
|
|
76 <param name="seq_column" value="1" />
|
|
77 <param name="loc_column" value="2" />
|
|
78 <param name="base_column" value="3" />
|
|
79 <param name="cvrg_column" value="8" />
|
|
80 <param name="coverage" value="3" />
|
|
81 <output name="output" file="pileup_interval_out2.tabular" />
|
|
82 </test>
|
|
83 </tests>
|
|
84 <help>
|
|
85
|
|
86 **What is does**
|
|
87
|
|
88 Reduces the size of a results set by taking a pileup file and producing a condensed version showing consecutive sequences of bases meeting coverage criteria. The tool works on six and ten column pileup formats produced with *samtools pileup* command. You also can specify columns for the input file manually. The tool assumes that the pileup dataset was produced by *samtools pileup* command (although you can override this by setting column assignments manually).
|
|
89
|
|
90 --------
|
|
91
|
|
92 **Types of pileup datasets**
|
|
93
|
|
94 The description of pileup format below is largely based on information that can be found on SAMTools_ documentation page. The 6- and 10-column variants are described below.
|
|
95
|
|
96 .. _SAMTools: http://samtools.sourceforge.net/pileup.shtml
|
|
97
|
|
98 **Six column pileup**::
|
|
99
|
|
100 1 2 3 4 5 6
|
|
101 ---------------------------------
|
|
102 chrM 412 A 2 ., II
|
|
103 chrM 413 G 4 ..t, IIIH
|
|
104 chrM 414 C 4 ...a III2
|
|
105 chrM 415 C 4 TTTt III7
|
|
106
|
|
107 where::
|
|
108
|
|
109 Column Definition
|
|
110 ------ ----------------------------
|
|
111 1 Chromosome
|
|
112 2 Position (1-based)
|
|
113 3 Reference base at that position
|
|
114 4 Coverage (# reads aligning over that position)
|
|
115 5 Bases within reads where (see Galaxy wiki for more info)
|
|
116 6 Quality values (phred33 scale, see Galaxy wiki for more)
|
|
117
|
|
118 **Ten column pileup**
|
|
119
|
|
120 The `ten-column`__ pileup incorporates additional consensus information generated with *-c* option of *samtools pileup* command::
|
|
121
|
|
122
|
|
123 1 2 3 4 5 6 7 8 9 10
|
|
124 ------------------------------------------------
|
|
125 chrM 412 A A 75 0 25 2 ., II
|
|
126 chrM 413 G G 72 0 25 4 ..t, IIIH
|
|
127 chrM 414 C C 75 0 25 4 ...a III2
|
|
128 chrM 415 C T 75 75 25 4 TTTt III7
|
|
129
|
|
130 where::
|
|
131
|
|
132 Column Definition
|
|
133 ------- ----------------------------
|
|
134 1 Chromosome
|
|
135 2 Position (1-based)
|
|
136 3 Reference base at that position
|
|
137 4 Consensus bases
|
|
138 5 Consensus quality
|
|
139 6 SNP quality
|
|
140 7 Maximum mapping quality
|
|
141 8 Coverage (# reads aligning over that position)
|
|
142 9 Bases within reads where (see Galaxy wiki for more info)
|
|
143 10 Quality values (phred33 scale, see Galaxy wiki for more)
|
|
144
|
|
145
|
|
146 .. __: http://samtools.sourceforge.net/cns0.shtml
|
|
147
|
|
148 ------
|
|
149
|
|
150 **The output format**
|
|
151
|
|
152 The output file condenses the information in the pileup file so that consecutive bases are listed together as sequences. The starting and ending points of the sequence range are listed, with the starting value converted to a 0-based value.
|
|
153
|
|
154 Given the following input with minimum coverage set to 3::
|
|
155
|
|
156 1 2 3 4 5 6
|
|
157 ---------------------------------
|
|
158 chr1 112 G 3 ..Ta III6
|
|
159 chr1 113 T 2 aT.. III5
|
|
160 chr1 114 A 5 ,,.. IIH2
|
|
161 chr1 115 C 4 ,., III
|
|
162 chrM 412 A 2 ., II
|
|
163 chrM 413 G 4 ..t, IIIH
|
|
164 chrM 414 C 4 ...a III2
|
|
165 chrM 415 C 4 TTTt III7
|
|
166 chrM 490 T 3 a I
|
|
167
|
|
168 the following would be the output::
|
|
169
|
|
170 1 2 3 4
|
|
171 -------------------
|
|
172 chr1 111 112 G
|
|
173 chr1 113 115 AC
|
|
174 chrM 412 415 GCC
|
|
175 chrM 489 490 T
|
|
176
|
|
177 where::
|
|
178
|
|
179 Column Definition
|
|
180 ------- ----------------------------
|
|
181 1 Chromosome
|
|
182 2 Starting position (0-based)
|
|
183 3 Ending position (1-based)
|
|
184 4 Sequence of bases
|
|
185
|
|
186 </help>
|
|
187 </tool>
|
|
188
|
|
189
|