comparison prinseq.xml @ 0:65f03479b3ba draft

planemo upload for repository https://github.com/ASaiM/galaxytools/tree/master/tools/prinseq/ commit 60b4516b1882c91adf8041a586c0a17738f38dbc-dirty
author bebatut
date Tue, 27 Oct 2015 12:43:37 -0400
parents
children 6912790a4287
comparison
equal deleted inserted replaced
-1:000000000000 0:65f03479b3ba
1 <tool id="prinseq" name="PRINSEQ" version="0.1.0">
2 <description>to process quality of sequences</description>
3
4 <requirements>
5 <requirement type="package" version="0.20.4">prinseq</requirement>
6 </requirements>
7
8 <stdio>
9 <exit_code range="1:" level="fatal" description="" />
10 <regex match="ERROR"
11 source="stderr"
12 level="fatal"
13 description="" />
14 <regex match="WARNING"
15 source="stderr"
16 level="warning"
17 description="" />
18 </stdio>
19
20 <command><![CDATA[
21 perl prinseq-lite.pl
22 -fastq $input_sequence_file
23 -out_good stdout
24 -out_bad null
25
26 #if $filter_treatments.apply_filter_treatments :
27 #set length_filter_treatments=$filter_treatments.length_filter_treatments
28 #if $length_filter_treatments.apply_length_filter_treatments :
29 #set min_length_filter_treatments=$length_filter_treatments.min_length_filter_treatments
30 #if $min_length_filter_treatments.apply_min_length_filter_treatments :
31 -min_len $min_length_filter_treatments.value
32 #end if
33 #set max_length_filter_treatments=$length_filter_treatments.max_length_filter_treatments
34 #if $max_length_filter_treatments.apply_max_length_filter_treatments :
35 -max_len $min_length_filter_treatments.value
36 #end if
37 #end if
38
39 #set quality_filter_treatments=$filter_treatments.quality_filter_treatments
40 #if $quality_filter_treatments.apply_quality_filter_treatments:
41 #set min_quality_filter_treatments=$quality_filter_treatments.min_quality_filter_treatments
42 #if $min_quality_filter_treatments.apply_min_quality_filter_treatments :
43 -min_qual_score $min_quality_filter_treatments.value
44 #end if
45 #set max_quality_filter_treatments=$quality_filter_treatments.max_quality_filter_treatments
46 #if $max_quality_filter_treatments.apply_max_quality_filter_treatments :
47 -max_qual_score $max_quality_filter_treatments.value
48 #end if
49 #set mean_quality_filter_treatments=$quality_filter_treatments.mean_quality_filter_treatments
50 #if $mean_quality_filter_treatments.apply_mean_quality_filter_treatments:
51 #set min_mean_quality_filter_treatments=$mean_quality_filter_treatments.min_mean_quality_filter_treatments
52 #if $min_mean_quality_filter_treatments.apply_min_mean_quality_filter_treatments:
53 -min_qual_mean $min_mean_quality_filter_treatments.value
54 #end if
55 #set max_mean_quality_filter_treatments=$mean_quality_filter_treatments.max_mean_quality_filter_treatments
56 #if $max_mean_quality_filter_treatments.apply_max_mean_quality_filter_treatments:
57 -max_qual_mean $max_mean_quality_filter_treatments.value
58 #end if
59 #end if
60 #end if
61
62 #set base_content_filter_treatments=$filter_treatments.base_content_filter_treatments
63 #if $base_content_filter_treatments.apply_base_content_filter_treatments :
64 #set GC_perc_content_filter_treatments=$base_content_filter_treatments.GC_perc_content_filter_treatments
65 #if $GC_perc_content_filter_treatments.apply_GC_perc_content_filter_treatments :
66 #set min_GC_perc_content_filter_treatments=$GC_perc_content_filter_treatments.min_GC_perc_content_filter_treatments
67 #if $min_GC_perc_content_filter_treatments.apply_min_GC_perc_content_filter_treatments :
68 -min_gc $min_GC_perc_content_filter_treatments.value
69 #end if
70 set max_GC_perc_content_filter_treatments=$GC_perc_content_filter_treatments.max_GC_perc_content_filter_treatments
71 #if $max_GC_perc_content_filter_treatments.apply_max_GC_perc_content_filter_treatments :
72 -max_gc $max_GC_perc_content_filter_treatments.value
73 #end if
74 #end if
75 #set N_number_content_filter_treatments=$base_content_filter_treatments.N_number_content_filter_treatments
76 #if $N_number_content_filter_treatments.apply_N_number_content_filter_treatments :
77 -ns_max_n $N_number_content_filter_treatments.value
78 #end if
79 #set N_percentage_content_filter_treatments=$base_content_filter_treatments.N_percentage_content_filter_treatments
80 #if $N_percentage_content_filter_treatments.apply_N_percentage_content_filter_treatments :
81 -ns_max_p $N_percentage_content_filter_treatments.value
82 #end if
83 #if $base_content_filter_treatments.apply_other_base_content_filter_treatments :
84 -noniupac
85 #end if
86 #end if
87
88 #set complexity_filter_treatments=$filter_treatments.complexity_filter_treatments
89 #if $complexity_filter_treatments.apply_complexity_filter_treatments :
90 -lc_method $complexity_filter_treatments.method_complexity_filter_treatments
91 -lc_threshold $complexity_filter_treatments.threshold_complexity_filter_treatments
92 #end if
93
94 #end if
95
96 #if $trimming_treatments.apply_trimming_treatments :
97 #set length_trimming_treatments=$trimming_treatments.length_trimming_treatments
98 #if $length_trimming_treatments.apply_length_trimming_treatments :
99 -trim_to_len $length_trimming_treatments.value
100 #end if
101
102 #set position_trimming_treatments=$trimming_treatments.position_trimming_treatments
103 #if $position_trimming_treatments.apply_position_trimming_treatments :
104 #set nb_position_trimming_treatments=$position_trimming_treatments.nb_position_trimming_treatments
105 #if $nb_position_trimming_treatments.apply_nb_position_trimming_treatments :
106 #set left_position_trimming_treatments=$nb_position_trimming_treatments.left_position_trimming_treatments
107 #if $left_position_trimming_treatments.apply_left_position_trimming_treatments :
108 -trim_left $left_position_trimming_treatments.value
109 #end if
110 #set right_position_trimming_treatments=$nb_position_trimming_treatments.right_position_trimming_treatments
111 #if $right_position_trimming_treatments.apply_right_position_trimming_treatments :
112 -trim_right $right_position_trimming_treatments.value
113 #end if
114 #end if
115 #set percentage_position_trimming_treatments=$position_trimming_treatments.percentage_position_trimming_treatments
116 #if $percentage_position_trimming_treatments.apply_percentage_position_trimming_treatments :
117 #set left_percentage_position_trimming_treatments=$percentage_position_trimming_treatments.left_percentage_position_trimming_treatments
118 #if $left_percentage_position_trimming_treatments.apply_left_percentage_position_trimming_treatments :
119 -trim_left_p $left_percentage_position_trimming_treatments.value
120 #end if
121 #set right_percentage_position_trimming_treatments=$percentage_position_trimming_treatments.right_percentage_position_trimming_treatments
122 #if $right_percentage_position_trimming_treatments.apply_right_percentage_position_trimming_treatments :
123 -trim_right_p $right_percentage_position_trimming_treatments.value
124 #end if
125 #end if
126 #end if
127
128 #set tail_trimming_treatments=$trimming_treatments.tail_trimming_treatments
129 #if $tail_trimming_treatments.apply_tail_trimming_treatments :
130 #set a_t_tail_trimming_treatments=$tail_trimming_treatments.a_t_tail_trimming_treatments
131 #if $a_t_tail_trimming_treatments.apply_a_t_tail_trimming_treatments :
132 #set left_a_t_tail_trimming_treatments=$a_t_tail_trimming_treatments.left_a_t_tail_trimming_treatments
133 #if $left_a_t_tail_trimming_treatments.apply_left_a_t_tail_trimming_treatments :
134 -trim_tail_left $left_a_t_tail_trimming_treatments.value
135 #end if
136 #set right_a_t_tail_trimming_treatments=$a_t_tail_trimming_treatments.right_a_t_tail_trimming_treatments
137 #if right_a_t_tail_trimming_treatments.apply_right_a_t_tail_trimming_treatments :
138 -trim_tail_right $right_a_t_tail_trimming_treatments.value
139 #end if
140 #end if
141 #set ns_tail_trimming_treatments=$tail_trimming_treatments.ns_tail_trimming_treatments
142 #if $ns_tail_trimming_treatments.apply_ns_tail_trimming_treatments :
143 #set left_ns_tail_trimming_treatments=$ns_tail_trimming_treatments.left_ns_tail_trimming_treatments
144 #if $left_ns_tail_trimming_treatments.apply_left_ns_tail_trimming_treatments :
145 -trim_ns_left $left_ns_tail_trimming_treatments.value
146 #end if
147 #set right_ns_tail_trimming_treatments=$ns_tail_trimming_treatments.right_ns_tail_trimming_treatments
148 #if $right_ns_tail_trimming_treatments.apply_right_ns_tail_trimming_treatments :
149 -trim_ns_right $right_ns_tail_trimming_treatments.value
150 #end if
151 #end if
152 #end if
153
154 #set quality_trimming_treatments=$trimming_treatments.quality_trimming_treatments
155 #if $quality_trimming_treatments.apply_quality_trimming_treatments :
156 #set left_quality_trimming_treatments=$quality_trimming_treatments.left_quality_trimming_treatments
157 #if $left_quality_trimming_treatments.apply_left_quality_trimming_treatments :
158 -trim_qual_left $left_quality_trimming_treatments.value
159 #end if
160 #set right_quality_trimming_treatments=$quality_trimming_treatments.right_quality_trimming_treatments
161 #if $right_quality_trimming_treatments.apply_right_quality_trimming_treatments :
162 -trim_qual_right $right_quality_trimming_treatments.value
163 #end if
164 -trim_qual_type $quality_trimming_treatments.type_quality_trimming_treatments
165 -trim_qual_rule $quality_trimming_treatments.rule_quality_trimming_treatments
166 -trim_qual_window $quality_trimming_treatments.window_quality_trimming_treatments
167 -trim_qual_step $quality_trimming_treatments.step_quality_trimming_treatments
168 #end if
169
170 #end if
171
172 >> $good_sequence_file
173 ]]>
174 </command>
175
176 <inputs>
177 <param name="input_sequence_file" type="data" format="fastq" label="Input sequence file" help="The file must be in fastq format for quality scores"/>
178
179 <conditional name="filter_treatments">
180 <param name='apply_filter_treatments' type='boolean' checked="true" truevalue='yes' falsevalue='no' label="Apply filter treatments?" help=""/>
181 <when value="yes">
182 <conditional name="length_filter_treatments">
183 <param name='apply_length_filter_treatments' type='boolean' checked="true" truevalue='yes' falsevalue='no' label="Filter sequence based on their length?" help="By default, sequences smaller than 60 bp are removed. No top threshold is defined"/>
184 <when value="yes">
185 <conditional name="min_length_filter_treatments">
186 <param name='apply_min_length_filter_treatments' type='boolean' checked="true" truevalue='yes' falsevalue='no' label="Filter too small sequences?" help="By default, sequences smaller than 60 bp are removed."/>
187 <when value="yes">
188 <param name="value" type="integer" min="0" max="3000" value="60" label="Minimum length threshold to conserve sequences" help=""/>
189 </when>
190 </conditional>
191 <conditional name="max_length_filter_treatments">
192 <param name='apply_max_length_filter_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Filter too big sequences?" help="By default, no treatment based on a maximal length is made"/>
193 <when value="yes">
194 <param name="value" type="integer" min="0" max="3000" value="1000" label="Maximal length threshold to conserve sequences" help=""/>
195 </when>
196 </conditional>
197 </when>
198 </conditional>
199 <conditional name="quality_filter_treatments">
200 <param name='apply_quality_filter_treatments' type='boolean' checked="true" truevalue='yes' falsevalue='no' label="Filter sequences based on quality score?" help="By default, sequences with a mean score below 15 are removed."/>
201 <when value="yes">
202 <conditional name="min_quality_filter_treatments">
203 <param name='apply_min_quality_filter_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Filter sequences based on their minimum score?" help="By default, no treatment based on a minimum score is made"/>
204 <when value="yes">
205 <param name="value" type="integer" min="0" max="40" value="2" label="Minimum score threshold to conserve sequences" help=""/>
206 </when>
207 </conditional>
208 <conditional name="max_quality_filter_treatments">
209 <param name='apply_max_quality_filter_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Filter sequences based on their maximum score?" help="By default, no treatment based on a maximum score is made"/>
210 <when value="yes">
211 <param name="value" type="integer" min="0" max="40" value="38" label="Maximum score threshold to conserve sequences" help=""/>
212 </when>
213 </conditional>
214 <conditional name="mean_quality_filter_treatments">
215 <param name='apply_mean_quality_filter_treatments' type='boolean' checked="true" truevalue='yes' falsevalue='no' label="Filter sequences based on their mean score?" help="By default, sequences with a mean score below 15 are removed."/>
216 <when value="yes">
217 <conditional name="min_mean_quality_filter_treatments">
218 <param name='apply_min_mean_quality_filter_treatments' type='boolean' checked="true" truevalue='yes' falsevalue='no' label="Filter sequences with too small mean score?" help="By default, sequences with a mean score below 15 are removed."/>
219 <when value="yes">
220 <param name="value" type="integer" min="0" max="40" value="15" label="Minimum mean score threshold to conserve sequences" help=""/>
221 </when>
222 </conditional>
223 <conditional name="max_mean_quality_filter_treatments">
224 <param name='apply_max_mean_quality_filter_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Filter sequences with too high mean score?" help="By default, no treatment based on a maximum mean score is made"/>
225 <when value="yes">
226 <param name="value" type="integer" min="0" max="40" value="40" label="Maximum mean score threshold to conserve sequences" help=""/>
227 </when>
228 </conditional>
229 </when>
230 </conditional>
231 </when>
232 </conditional>
233 <conditional name="base_content_filter_treatments">
234 <param name='apply_base_content_filter_treatments' type='boolean' checked="true" truevalue='yes' falsevalue='no' label="Filter sequences based on their base content?" help="By default, sequences with more than 2% of N bases are removed."/>
235 <when value="yes">
236 <conditional name="GC_perc_content_filter_treatments">
237 <param name='apply_GC_perc_content_filter_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Filter sequences based on their GC percentage?" help="By default, no treatment based on GC percentage is made."/>
238 <when value="yes">
239 <conditional name="min_GC_perc_content_filter_treatments">
240 <param name='apply_min_GC_perc_content_filter_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Filter sequences with too small GC percentage?" help="By default, no treatment based on GC percentage is made."/>
241 <when value="yes">
242 <param name="value" type="integer" min="0" max="100" value="10" label="Minimal GC percentage threshold to conserve sequences" help=""/>
243 </when>
244 </conditional>
245 <conditional name="max_GC_perc_content_filter_treatments">
246 <param name='apply_max_GC_perc_content_filter_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Filter sequences with too high GC percentage?" help="By default, no treatment based on GC percentage is made."/>
247 <when value="yes">
248 <param name="value" type="integer" min="0" max="100" value="90" label="Maximal GC percentage threshold to conserve sequences" help=""/>
249 </when>
250 </conditional>
251 </when>
252 </conditional>
253 <conditional name="N_number_content_filter_treatments">
254 <param name='apply_N_number_content_filter_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Filter sequences based on their number of N bases?" help="By default, no treatment based on N number is made."/>
255 <when value="yes">
256 <param name="value" type="integer" min="0" max="3000" value="10" label="Maximal N number threshold to conserve sequences" help=""/>
257 </when>
258 </conditional>
259 <conditional name="N_percentage_content_filter_treatments">
260 <param name='apply_N_percentage_content_filter_treatments' type='boolean' checked="true" truevalue='yes' falsevalue='no' label="Filter sequences based on their percentage of N bases?" help="By default, sequences with more than 2% of N bases are removed."/>
261 <when value="yes">
262 <param name="value" type="integer" min="0" max="100" value="2" label="Maximal N percentage threshold to conserve sequences" help=""/>
263 </when>
264 </conditional>
265 <param name='apply_other_base_content_filter_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Filter sequences with characters other than A, T, C, G and N?" help="By default, this treatment is not made."/>
266 </when>
267 </conditional>
268 <conditional name="complexity_filter_treatments">
269 <param name='apply_complexity_filter_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Filter sequences based on their complexity?" help="By default, no complexity filter is applied"/>
270 <when value="yes">
271 <param name="method_complexity_filter_treatments" type="select" display="radio" label="Method to filter low complexity sequences" help="">
272 <option value="dust">Dust</option>
273 <option value="entropy" >Entropy</option>
274 </param>
275 <param name="threshold_complexity_filter_treatments" type="integer" min="0" max="100" value="2" label="Threshold value used to filter sequences by sequence complexity" help="The dust method uses the threshold as maximum allowed score and the entropy method as minimum allowed value."/>
276 </when>
277 </conditional>
278 </when>
279 </conditional>
280
281 <conditional name="trimming_treatments">
282 <param name='apply_trimming_treatments' type='boolean' checked="true" truevalue='yes' falsevalue='no' label="Apply trimming treatments?" help=""/>
283 <when value="yes">
284 <conditional name="length_trimming_treatments">
285 <param name='apply_length_trimming_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Trim all sequences from the 3'-end to a length?" help="By default, no length trimming is made"/>
286 <when value="yes">
287 <param name="value" type="integer" min="0" max="3000" value="100" label="Length of sequences after trimming" help=""/>
288 </when>
289 </conditional>
290 <conditional name="position_trimming_treatments">
291 <param name='apply_position_trimming_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Trim all sequences from the ends?" help="By default, no position trimming is made"/>
292 <when value="yes">
293 <conditional name="nb_position_trimming_treatments">
294 <param name='apply_nb_position_trimming_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Trim sequences by a defined number of positions?" help="By default, no position trimming is made"/>
295 <when value="yes">
296 <conditional name="left_position_trimming_treatments">
297 <param name='apply_left_position_trimming_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Trim sequences at the 5'-end by a defined number of positions?" help="By default, no position trimming is made"/>
298 <when value="yes">
299 <param name="value" type="integer" min="0" max="3000" value="100" label="Number of positions to trim on 5'-end" help=""/>
300 </when>
301 </conditional>
302 <conditional name="right_position_trimming_treatments">
303 <param name='apply_right_position_trimming_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Trim sequences at the 3'-end by a defined number of positions?" help="By default, no position trimming is made"/>
304 <when value="yes">
305 <param name="value" type="integer" min="0" max="3000" value="100" label="Number of positions to trim on 3'-end" help=""/>
306 </when>
307 </conditional>
308 </when>
309 </conditional>
310 <conditional name="percentage_position_trimming_treatments">
311 <param name='apply_percentage_position_trimming_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Trim sequences by a defined percentage of read length?" help="By default, no position trimming is made. The trim length is rounded towards the lower integer"/>
312 <when value="yes">
313 <conditional name="left_percentage_position_trimming_treatments">
314 <param name='apply_left_percentage_position_trimming_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Trim sequences at the 5'-end by a defined percentage of read length?" help="By default, no position trimming is made. The trim length is rounded towards the lower integer"/>
315 <when value="yes">
316 <param name="value" type="integer" min="0" max="100" value="2" label="Percentage of positions to trim on 5'-end" help=""/>
317 </when>
318 </conditional>
319 <conditional name="right_percentage_position_trimming_treatments">
320 <param name='apply_right_percentage_position_trimming_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Trim sequences at the 3'-end by a defined percentage of read length?" help="By default, no position trimming is made. The trim length is rounded towards the lower integer"/>
321 <when value="yes">
322 <param name="value" type="integer" min="0" max="100" value="2" label="Percentage of positions to trim on 3'-end" help=""/>
323 </when>
324 </conditional>
325 </when>
326 </conditional>
327 </when>
328 </conditional>
329 <conditional name="tail_trimming_treatments">
330 <param name='apply_tail_trimming_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Trim tails?" help="By default, no tail trimming is made"/>
331 <when value="yes">
332 <conditional name="a_t_tail_trimming_treatments">
333 <param name='apply_a_t_tail_trimming_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Trim poly-A/T tail?" help="By default, no poly-A/T tail trimming is made"/>
334 <when value="yes">
335 <conditional name="left_a_t_tail_trimming_treatments">
336 <param name='apply_left_a_t_tail_trimming_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Trim poly-A/T tail at the 5'-end?" help="By default, no 5'-end poly-A/T tail trimming is made"/>
337 <when value="yes">
338 <param name="value" type="integer" min="0" max="3000" value="100" label="Minimum length of poly-A/T to trim at the 5'-end" help=""/>
339 </when>
340 </conditional>
341 <conditional name="right_a_t_tail_trimming_treatments">
342 <param name='apply_right_a_t_tail_trimming_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Trim poly-A/T tail at the 5'-end?" help="By default, no 3'-end poly-A/T tail trimming is made"/>
343 <when value="yes">
344 <param name="value" type="integer" min="0" max="3000" value="100" label="Minimum length of poly-A/T to trim at the 5'-end" help=""/>
345 </when>
346 </conditional>
347 </when>
348 </conditional>
349 <conditional name="ns_tail_trimming_treatments">
350 <param name='apply_ns_tail_trimming_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Trim poly-N tail?" help="By default, no poly-N tail trimming is made"/>
351 <when value="yes">
352 <conditional name="left_ns_tail_trimming_treatments">
353 <param name='apply_left_ns_tail_trimming_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Trim poly-N tail at the 5'-end?" help="By default, no 5'-end poly-N tail trimming is made"/>
354 <when value="yes">
355 <param name="value" type="integer" min="0" max="3000" value="100" label="Minimum length of poly-N to trim at the 5'-end" help=""/>
356 </when>
357 </conditional>
358 <conditional name="right_ns_tail_trimming_treatments">
359 <param name='apply_right_ns_tail_trimming_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Trim poly-N tail at the 5'-end?" help="By default, no 3'-end poly-N tail trimming is made"/>
360 <when value="yes">
361 <param name="value" type="integer" min="0" max="3000" value="100" label="Minimum length of poly-N to trim at the 5'-end" help=""/>
362 </when>
363 </conditional>
364 </when>
365 </conditional>
366 </when>
367 </conditional>
368 <conditional name="quality_trimming_treatments">
369 <param name='apply_quality_trimming_treatments' type='boolean' checked="true" truevalue='yes' falsevalue='no' label="Trim sequence by quality score?" help="By default, a 3'-end trimming is made to remove ends with a minimum quality score over 5 bp below 20"/>
370 <when value="yes">
371 <conditional name="left_quality_trimming_treatments">
372 <param name='apply_left_quality_trimming_treatments' type='boolean' checked="false" truevalue='yes' falsevalue='no' label="Trim sequence by quality score from the 5'-end?" help="By default, no 5'-end quality trimming is made"/>
373 <when value="yes">
374 <param name="value" type="integer" min="0" max="40" value="20" label="Quality score threshold to trim positions" help=""/>
375 </when>
376 </conditional>
377 <conditional name="right_quality_trimming_treatments">
378 <param name='apply_right_quality_trimming_treatments' type='boolean' checked="true" truevalue='yes' falsevalue='no' label="Trim sequence by quality score from the 3'-end?" help="By default, 3'-end trimming is made based on a score of 20"/>
379 <when value="yes">
380 <param name="value" type="integer" min="0" max="40" value="20" label="Quality score threshold to trim positions" help=""/>
381 </when>
382 </conditional>
383 <param name="type_quality_trimming_treatments" type="select" display="radio" label="Type of quality score calculation to use" help="By default, min is used">
384 <option value="min" selected="true">Mininum</option>
385 <option value="mean" >Mean</option>
386 <option value="max" >Max</option>
387 <option value="sum" >Sum</option>
388 </param>
389 <param name="rule_quality_trimming_treatments" type="select" display="radio" label="Rule tu use to compare quality score to calculated value" help="By default, 'less than' is used">
390 <option value="lt" selected="true">Less than</option>
391 <option value="gt" >Greater than</option>
392 <option value="et" >Equal to</option>
393 </param>
394 <param name="window_quality_trimming_treatments" type="integer" min="0" max="300" value="1" label="Size of the sliding window used to calculated quality score by type" help="To stop at the first base that fails the rule defined, use a window size of 1 (default value)"/>
395 <param name="step_quality_trimming_treatments" type="integer" min="0" max="300" value="1" label="Step size used to move the sliding window" help="To move the window over all quality scores without missing any, the step size sould be less or equal to the window size. The default value is 1."/>
396 </when>
397 </conditional>
398 </when>
399 </conditional>
400 </inputs>
401
402 <outputs>
403 <data format="fastq" name="good_sequence_file" metadata_source="input_sequence_file"/>
404 </outputs>
405
406 <tests>
407 <test>
408 <param name="input_sequence_file" value="input_sequences.fastq"/>
409 <output name="good_sequence_file" file="output_sequences.fastq"/>
410 </test>
411 </tests>
412
413 <help><![CDATA[
414
415 **What it does**
416
417 PRINSEQ is a tool for easy and rapid quality control and data processing of metagenomic and metatranscriptomic datasets.
418 This tool allow to process the sequences with filtering and trimming.
419 More information on `PRINSEQ manual <http://prinseq.sourceforge.net/manual.html>`_.
420
421 -----
422
423 **Input**
424
425 The input file is sequence file in fastq format (sequences and quality)::
426
427 @HWI-M00234:263:000000000-ADM55:1:1101:7508:4067 1:N:0:ATCACG
428 GGTGCACTAGGATCGTAGTTGGCTACTTTCCCGTTTTCAATGTATACGCAAGGTACACGGTCAGCGGT
429 +
430 CCCCCGFGED8DDCAFDAEE9DFGGGG9CFAFFCC@@CFGFGGCGFGG>GGGFFGDGEFFEFG8>4GF
431
432 -----
433
434 **Parameters**
435
436 The parameters are numerous in PRINSEQ
437
438 - Filtering parameters to eliminate sequences
439 - Filters based on sequence length
440 - Filters based on quality score
441 - Filters based on base content
442 - Trimming parameters to eliminate sequence parts
443 - Trim of ends
444 - Trim of tails
445 - Trim based quality score
446
447 -----
448
449 **Output**
450
451 The output file is a sequence file with sequences and quality from input file
452 which have undergone filter and trimming.
453
454 ]]>
455 </help>
456
457 <citations>
458 <citation type="doi">10.1093/bioinformatics/btr026</citation>
459 </citations>
460 </tool>