Mercurial > repos > iuc > fastp
comparison fastp.xml @ 16:10678d49d39e draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/fastp commit 81e2b45f5357c7ba235f219828a6998f146012c4
author | iuc |
---|---|
date | Sat, 08 Feb 2025 15:15:16 +0000 |
parents | a626e8c0e1ba |
children |
comparison
equal
deleted
inserted
replaced
15:a626e8c0e1ba | 16:10678d49d39e |
---|---|
1 <tool id="fastp" name="fastp" version="@TOOL_VERSION@+galaxy3" profile="23.1"> | 1 <tool id="fastp" name="fastp" version="@TOOL_VERSION@+galaxy4" profile="23.1"> |
2 <description>fast all-in-one preprocessing for FASTQ files</description> | 2 <description>fast all-in-one preprocessing for FASTQ files</description> |
3 <macros> | 3 <macros> |
4 <import>macros.xml</import> | 4 <import>macros.xml</import> |
5 </macros> | 5 </macros> |
6 <expand macro="biotools" /> | 6 <expand macro="biotools" /> |
21 #end if | 21 #end if |
22 #set $in1 = $single_paired.paired_input.forward | 22 #set $in1 = $single_paired.paired_input.forward |
23 #set $in2 = $single_paired.paired_input.reverse | 23 #set $in2 = $single_paired.paired_input.reverse |
24 #set $in1_name = re.sub('[^\w\-\s]', '_', str($single_paired.paired_input.name)) + $ext | 24 #set $in1_name = re.sub('[^\w\-\s]', '_', str($single_paired.paired_input.name)) + $ext |
25 #set $in2_name = re.sub('[^\w\-\s]', '_', str("%s_%s" % ($single_paired.paired_input.name, "R2"))) + $ext | 25 #set $in2_name = re.sub('[^\w\-\s]', '_', str("%s_%s" % ($single_paired.paired_input.name, "R2"))) + $ext |
26 #set out1 = $output_paired_coll.forward | |
27 #set out2 = $output_paired_coll.reverse | |
28 ln -sf '$in1' '$in1_name' && | 26 ln -sf '$in1' '$in1_name' && |
29 ln -sf '$in2' '$in2_name' && | 27 ln -sf '$in2' '$in2_name' && |
30 #else | 28 #else |
31 #if $in1.is_of_type('fastqsanger.gz') | 29 #if $in1.is_of_type('fastqsanger.gz') |
32 #set ext = '.fastqsanger.gz' | 30 #set ext = '.fastqsanger.gz' |
33 #end if | 31 #end if |
34 | 32 |
35 #set $in1_name = re.sub('[^\w\-\s]', '_', str($in1.element_identifier)) + $ext | 33 #set $in1_name = re.sub('[^\w\-\s]', '_', str($in1.element_identifier)) + $ext |
36 ln -sf '$in1' '$in1_name' && | 34 ln -sf '$in1' '$in1_name' && |
37 | |
38 #if str($single_paired.single_paired_selector) == 'paired': | |
39 #set $in2_name = re.sub('[^\w\-\s]', '_', str("%s_R2" % $in2.element_identifier)) + $ext | |
40 ln -sf '$in2' '$in2_name' && | |
41 #end if | |
42 #end if | 35 #end if |
43 | 36 |
44 ## Run fastp | 37 ## Run fastp |
45 | 38 |
46 fastp | 39 fastp |
54 | 47 |
55 #if str($single_paired.single_paired_selector).startswith('paired') | 48 #if str($single_paired.single_paired_selector).startswith('paired') |
56 -I '$in2_name' | 49 -I '$in2_name' |
57 #if $single_paired.merge_reads.merge | 50 #if $single_paired.merge_reads.merge |
58 $single_paired.merge_reads.merge | 51 $single_paired.merge_reads.merge |
59 --merged_out '$merged_reads' | 52 --merged_out merged${ext} |
60 #if $single_paired.merge_reads.include_unmerged | 53 #if $single_paired.merge_reads.include_unmerged |
61 $single_paired.merge_reads.include_unmerged | 54 $single_paired.merge_reads.include_unmerged |
62 #else | 55 #else |
63 --out1 '$unmerged_out1' | 56 --out1 'unmerged_R1${ext}' |
64 --out2 '$unmerged_out2' | 57 --out2 'unmerged_R2${ext}' |
65 --unpaired1 '$unpaired1' | 58 --unpaired1 'unpaired_R1${ext}' |
66 --unpaired2 '$unpaired2' | 59 --unpaired2 'unpaired_R2${ext}' |
67 #end if | 60 #end if |
68 #else | 61 #else |
69 -o first${ext} | 62 -o first${ext} |
70 -O second${ext} | 63 -O second${ext} |
71 #end if | 64 #end if |
209 | 202 |
210 ## Base correction by overlap analysis options | 203 ## Base correction by overlap analysis options |
211 | 204 |
212 $read_mod_options.base_correction_options.correction | 205 $read_mod_options.base_correction_options.correction |
213 | 206 |
214 #if str($single_paired.single_paired_selector).startswith('single') | 207 #if str($single_paired.single_paired_selector) == 'paired_collection' |
215 && | 208 #if $single_paired.merge_reads.merge |
216 mv first${ext} '${out1}' | 209 && mv merged${ext} '$merged_reads' |
217 #elif str($single_paired.single_paired_selector).startswith('paired') and not $single_paired.merge_reads.merge: | 210 #if not $single_paired.merge_reads.include_unmerged |
218 && | 211 && mv 'unmerged_R1${ext}' '$unmerged_out_coll.forward' |
219 mv first${ext} '${out1}' | 212 && mv 'unmerged_R2${ext}' '$unmerged_out_coll.reverse' |
220 && | 213 && mv 'unpaired_R1${ext}' '$unpaired_out_coll.forward' |
221 mv second${ext} '${out2}' | 214 && mv 'unpaired_R2${ext}' '$unpaired_out_coll.reverse' |
222 #end if | 215 #end if |
216 #else | |
217 && mv first${ext} '$output_paired_coll.forward' | |
218 && mv second${ext} '$output_paired_coll.reverse' | |
219 #end if | |
220 #else | |
221 && mv first${ext} '${out1}' | |
222 #end if | |
223 | |
223 ]]></command> | 224 ]]></command> |
224 <inputs> | 225 <inputs> |
225 <conditional name="single_paired"> | 226 <conditional name="single_paired"> |
226 <param name="single_paired_selector" type="select" label="Single-end or paired reads"> | 227 <param name="single_paired_selector" type="select" label="Single-end or paired reads"> |
227 <option value="single" selected="true">Single-end</option> | 228 <option value="single" selected="true">Single-end</option> |
228 <option value="paired">Paired</option> | |
229 <option value="paired_collection">Paired Collection</option> | 229 <option value="paired_collection">Paired Collection</option> |
230 </param> | 230 </param> |
231 <when value="single"> | 231 <when value="single"> |
232 <expand macro="in" /> | 232 <expand macro="in" /> |
233 <expand macro="adapter_trimming_options" /> | 233 <expand macro="adapter_trimming_options" /> |
234 <expand macro="global_trimming_options" /> | 234 <expand macro="global_trimming_options" /> |
235 </when> | |
236 <when value="paired"> | |
237 <expand macro="in" read_number="1" argument="-i"/> | |
238 <expand macro="in" read_number="2" argument="-I"/> | |
239 <expand macro="merge_reads" /> | |
240 <expand macro="adapter_trimming_options"> | |
241 <expand macro="adapter_sequence" read_number="2"/> | |
242 <expand macro="detect_adapter_for_pe" /> | |
243 </expand> | |
244 <expand macro="global_trimming_options_paired" /> | |
245 </when> | 235 </when> |
246 <when value="paired_collection"> | 236 <when value="paired_collection"> |
247 <param name="paired_input" type="data_collection" format="fastqsanger,fastqsanger.gz" label="Select paired collection(s)" collection_type="paired"/> | 237 <param name="paired_input" type="data_collection" format="fastqsanger,fastqsanger.gz" label="Select paired collection(s)" collection_type="paired"/> |
248 <expand macro="merge_reads" /> | 238 <expand macro="merge_reads" /> |
249 <expand macro="adapter_trimming_options"> | 239 <expand macro="adapter_trimming_options"> |
279 <param name="complexity_threshold" argument="-Y" type="integer" optional="true" label="Complexity threshold" help="Threshold for low complexity filter (0~100). Default is 30, which means 30% complexity is required."/> | 269 <param name="complexity_threshold" argument="-Y" type="integer" optional="true" label="Complexity threshold" help="Threshold for low complexity filter (0~100). Default is 30, which means 30% complexity is required."/> |
280 </section> | 270 </section> |
281 </section> | 271 </section> |
282 | 272 |
283 <!-- Read Modification Options --> | 273 <!-- Read Modification Options --> |
284 <section name="read_mod_options" title="Read Modification Options"> | 274 <section name="read_mod_options" title="Read Modification Options"> |
285 <conditional name="polyg_tail_trimming"> | 275 <conditional name="polyg_tail_trimming"> |
286 <param name="trimming_select" type="select" label="PolyG tail trimming" help="This feature is enabled for NextSeq/NovaSeq data by default. NextSeq/NovaSeq data is detected by the machine ID in the FASTQ records."> | 276 <param name="trimming_select" type="select" label="PolyG tail trimming" help="This feature is enabled for NextSeq/NovaSeq data by default. NextSeq/NovaSeq data is detected by the machine ID in the FASTQ records."> |
287 <option value="" selected="true">Automatic trimming for Illumina NextSeq/NovaSeq data</option> | 277 <option value="" selected="true">Automatic trimming for Illumina NextSeq/NovaSeq data</option> |
288 <option value="-g">Force polyG tail trimming</option> | 278 <option value="-g">Force polyG tail trimming</option> |
289 <option value="-G">Disable polyG tail trimming</option> | 279 <option value="-G">Disable polyG tail trimming</option> |
333 <param name="report_json" type="boolean" truevalue="True" falsevalue="False" checked="True" label="Output JSON report" help="The JSON report contains all the data visualized in the HTML report. The format of the JSON report is manually optimized to be easily readable by humans and is compatible with MultiQC"/> | 323 <param name="report_json" type="boolean" truevalue="True" falsevalue="False" checked="True" label="Output JSON report" help="The JSON report contains all the data visualized in the HTML report. The format of the JSON report is manually optimized to be easily readable by humans and is compatible with MultiQC"/> |
334 </section> | 324 </section> |
335 </inputs> | 325 </inputs> |
336 | 326 |
337 <outputs> | 327 <outputs> |
338 <data name="out1" format_source="in1" label="${tool.name} on ${on_string}: Read 1 output"> | 328 <data name="out1" format_source="single_paired|in1" label="${tool.name} on ${on_string}: Read 1 output"> |
339 <filter>single_paired['single_paired_selector'] in ["single", "paired"] and not single_paired['merge_reads']['merge']</filter> | 329 <filter>single_paired['single_paired_selector'] == "single"</filter> |
340 </data> | 330 </data> |
341 <data name="out2" format_source="in2" label="${tool.name} on ${on_string}: Read 2 output"> | 331 <collection name="output_paired_coll" type="paired" format_source="single_paired|paired_input['forward']" label="${tool.name} on ${on_string}: Paired-end output"> |
342 <filter>single_paired['single_paired_selector'] == "paired" and not single_paired['merge_reads']['merge']</filter> | |
343 </data> | |
344 <collection name="output_paired_coll" type="paired" format_source="paired_input['forward']" label="${tool.name} on ${on_string}: Paired-end output"> | |
345 <filter>single_paired['single_paired_selector'] == "paired_collection" and not single_paired['merge_reads']['merge']</filter> | 332 <filter>single_paired['single_paired_selector'] == "paired_collection" and not single_paired['merge_reads']['merge']</filter> |
346 </collection> | 333 </collection> |
334 | |
347 <data name="report_html" format="html" from_work_dir="fastp.html" label="${tool.name} on ${on_string}: HTML report"> | 335 <data name="report_html" format="html" from_work_dir="fastp.html" label="${tool.name} on ${on_string}: HTML report"> |
348 <filter>output_options['report_html'] is True</filter> | 336 <filter>output_options['report_html'] is True</filter> |
349 </data> | 337 </data> |
350 <data name="report_json" format="json" from_work_dir="fastp.json" label="${tool.name} on ${on_string}: JSON report"> | 338 <data name="report_json" format="json" from_work_dir="fastp.json" label="${tool.name} on ${on_string}: JSON report"> |
351 <filter>output_options['report_json'] is True</filter> | 339 <filter>output_options['report_json'] is True</filter> |
352 </data> | 340 </data> |
353 <data name="merged_reads" format_source="in1" label="${tool.name} on ${on_string}: Merged reads"> | 341 <data name="merged_reads" format_source="single_paired|paired_input['forward']" label="${tool.name} on ${on_string}: Merged reads"> |
354 <filter>single_paired['single_paired_selector'] in ["paired", "paired_collection"] and single_paired['merge_reads']['merge']</filter> | 342 <filter>single_paired['single_paired_selector'] == "paired_collection" and single_paired['merge_reads']['merge']</filter> |
355 <expand macro="format_actions" read_number="1" forward_reverse="forward" /> | |
356 </data> | 343 </data> |
357 <data name="unmerged_out1" format_source="in1" label="${tool.name} on ${on_string}: Unmerged filtered reads1"> | 344 <collection name="unmerged_out_coll" type="paired" format_source="single_paired|paired_input['forward']" label="${tool.name} on ${on_string}: Unmerged filtered"> |
358 <filter>single_paired['single_paired_selector'] in ["paired", "paired_collection"] and single_paired['merge_reads']['merge'] and not single_paired['merge_reads']['include_unmerged']</filter> | 345 <filter>single_paired['single_paired_selector'] == "paired_collection" and single_paired['merge_reads']['merge'] and not single_paired['merge_reads']['include_unmerged']</filter> |
359 <expand macro="format_actions" read_number="1" forward_reverse="forward" /> | 346 </collection> |
360 </data> | 347 <collection name="unpaired_out_coll" type="paired" format_source="single_paired|paired_input['forward']" label="${tool.name} on ${on_string}: Unmerged unfiltered"> |
361 <data name="unmerged_out2" format_source="in2" label="${tool.name} on ${on_string}: Unmerged filtered reads2"> | 348 <filter>single_paired['single_paired_selector'] == "paired_collection" and single_paired['merge_reads']['merge'] and not single_paired['merge_reads']['include_unmerged']</filter> |
362 <filter>single_paired['single_paired_selector'] in ["paired", "paired_collection"] and single_paired['merge_reads']['merge'] and not single_paired['merge_reads']['include_unmerged']</filter> | 349 </collection> |
363 <expand macro="format_actions" read_number="2" forward_reverse="reverse" /> | |
364 </data> | |
365 <data name="unpaired1" format_source="in1" label="${tool.name} on ${on_string}: Unmerged unfiltered reads1"> | |
366 <filter>single_paired['single_paired_selector'] in ["paired", "paired_collection"] and single_paired['merge_reads']['merge'] and not single_paired['merge_reads']['include_unmerged']</filter> | |
367 <expand macro="format_actions" read_number="1" forward_reverse="forward" /> | |
368 </data> | |
369 <data name="unpaired2" format_source="in2" label="${tool.name} on ${on_string}: Unmerged unfiltered reads2"> | |
370 <filter>single_paired['single_paired_selector'] in ["paired", "paired_collection"] and single_paired['merge_reads']['merge'] and not single_paired['merge_reads']['include_unmerged']</filter> | |
371 <expand macro="format_actions" read_number="2" forward_reverse="reverse" /> | |
372 </data> | |
373 </outputs> | 350 </outputs> |
374 | 351 |
375 <tests> | 352 <tests> |
376 <!-- 1. Ensure default output works --> | 353 <!-- 1. Ensure default output works --> |
377 <test expect_num_outputs="3"> | 354 <test expect_num_outputs="3"> |
378 <param name="in1" ftype="fastqsanger" value="R1.fq"/> | 355 <conditional name="single_paired"> |
379 <param name="single_paired_selector" value="single"/> | 356 <param name="single_paired_selector" value="single"/> |
357 <param name="in1" ftype="fastqsanger" value="R1.fq"/> | |
358 </conditional> | |
380 <output name="out1" ftype="fastqsanger" file="out1.fq"/> | 359 <output name="out1" ftype="fastqsanger" file="out1.fq"/> |
381 <output name="report_html"> | 360 <output name="report_html"> |
382 <assert_contents> | 361 <assert_contents> |
383 <has_text text="fastp report"/> | 362 <has_text text="fastp report"/> |
384 </assert_contents> | 363 </assert_contents> |
389 </assert_contents> | 368 </assert_contents> |
390 </output> | 369 </output> |
391 </test> | 370 </test> |
392 <!-- 2. Ensure paired collection works --> | 371 <!-- 2. Ensure paired collection works --> |
393 <test expect_num_outputs="4"> | 372 <test expect_num_outputs="4"> |
394 <param name="single_paired_selector" value="paired_collection"/> | 373 <conditional name="single_paired"> |
395 <param name="paired_input"> | 374 <param name="single_paired_selector" value="paired_collection"/> |
396 <collection type="paired"> | 375 <param name="paired_input"> |
397 <element name="forward" value="bwa-mem-fastq1.fq" ftype="fastqsanger" /> | 376 <collection type="paired"> |
398 <element name="reverse" value="bwa-mem-fastq2.fq" ftype="fastqsanger" /> | 377 <element name="forward" value="bwa-mem-fastq1.fq" ftype="fastqsanger" /> |
399 </collection> | 378 <element name="reverse" value="bwa-mem-fastq2.fq" ftype="fastqsanger" /> |
400 </param> | 379 </collection> |
401 <param name="report_json" value="False" /> | 380 </param> |
381 </conditional> | |
382 <section name="output_options"> | |
383 <param name="report_json" value="False" /> | |
384 </section> | |
402 <output name="report_html"> | 385 <output name="report_html"> |
403 <assert_contents> | 386 <assert_contents> |
404 <has_text text="fastp report"/> | 387 <has_text text="fastp report"/> |
405 </assert_contents> | 388 </assert_contents> |
406 </output> | 389 </output> |
409 <element name="reverse" value="out_bwa2.fq" ftype="fastqsanger"/> | 392 <element name="reverse" value="out_bwa2.fq" ftype="fastqsanger"/> |
410 </output_collection> | 393 </output_collection> |
411 </test> | 394 </test> |
412 <!-- 3. Ensure custom adapter works --> | 395 <!-- 3. Ensure custom adapter works --> |
413 <test expect_num_outputs="2"> | 396 <test expect_num_outputs="2"> |
414 <param name="in1" ftype="fastqsanger" value="R1.fq"/> | 397 <conditional name="single_paired"> |
415 <param name="single_paired_selector" value="single"/> | 398 <param name="single_paired_selector" value="single"/> |
416 <param name="adapter_sequence1" value="ATCG"/> | 399 <param name="in1" ftype="fastqsanger" value="R1.fq"/> |
417 <param name="report_json" value="False" /> | 400 <section name="adapter_trimming_options"> |
401 <param name="adapter_sequence1" value="ATCG"/> | |
402 </section> | |
403 </conditional> | |
404 <section name="output_options"> | |
405 <param name="report_json" value="False" /> | |
406 </section> | |
418 <output name="out1" ftype="fastqsanger" file="out_a.fq"/> | 407 <output name="out1" ftype="fastqsanger" file="out_a.fq"/> |
419 </test> | 408 </test> |
420 <!-- 4. Ensure UMI processing works --> | 409 <!-- 4. Ensure UMI processing works --> |
421 <test expect_num_outputs="2"> | 410 <test expect_num_outputs="2"> |
422 <param name="in1" ftype="fastqsanger" value="R1.fq"/> | 411 <conditional name="single_paired"> |
423 <param name="single_paired_selector" value="single"/> | 412 <param name="in1" ftype="fastqsanger" value="R1.fq"/> |
424 <section name="umi_processing"> | 413 <param name="single_paired_selector" value="single"/> |
425 <param name="umi" value="true"/> | 414 </conditional> |
426 <param name="umi_loc" value="read1"/> | 415 <section name="read_mod_options"> |
427 <param name="umi_len" value="8"/> | 416 <section name="umi_processing"> |
428 </section> | 417 <param name="umi" value="true"/> |
429 <param name="report_json" value="False" /> | 418 <param name="umi_loc" value="read1"/> |
419 <param name="umi_len" value="8"/> | |
420 </section> | |
421 </section> | |
422 <section name="output_options"> | |
423 <param name="report_json" value="False" /> | |
424 </section> | |
430 <output name="out1" ftype="fastqsanger" file="out2.fq"/> | 425 <output name="out1" ftype="fastqsanger" file="out2.fq"/> |
431 </test> | 426 </test> |
432 <!-- 5. Ensure UMI processing with different lengths works --> | 427 <!-- 5. Ensure UMI processing with different lengths works --> |
433 <test expect_num_outputs="2"> | 428 <test expect_num_outputs="2"> |
434 <param name="in1" ftype="fastqsanger" value="R1.fq"/> | 429 <conditional name="single_paired"> |
435 <param name="single_paired_selector" value="single"/> | 430 <param name="in1" ftype="fastqsanger" value="R1.fq"/> |
436 <section name="umi_processing"> | 431 <param name="single_paired_selector" value="single"/> |
437 <param name="umi" value="true"/> | 432 </conditional> |
438 <param name="umi_loc" value="read1"/> | 433 <section name="read_mod_options"> |
439 <param name="umi_len" value="12"/> | 434 <section name="umi_processing"> |
440 </section> | 435 <param name="umi" value="true"/> |
441 <param name="report_json" value="False" /> | 436 <param name="umi_loc" value="read1"/> |
437 <param name="umi_len" value="12"/> | |
438 </section> | |
439 </section> | |
440 <section name="output_options"> | |
441 <param name="report_json" value="False" /> | |
442 </section> | |
442 <output name="out1" ftype="fastqsanger" file="out3.fq"/> | 443 <output name="out1" ftype="fastqsanger" file="out3.fq"/> |
443 </test> | 444 </test> |
444 <!-- 6. Ensure paired-end fastqsanger works --> | 445 <!-- 6. Ensure paired-end UMI processing of Read 1 works --> |
445 <test expect_num_outputs="3"> | |
446 <param name="in1" ftype="fastqsanger" value="bwa-mem-fastq1.fq"/> | |
447 <param name="in2" ftype="fastqsanger" value="bwa-mem-fastq2.fq"/> | |
448 <param name="single_paired_selector" value="paired"/> | |
449 <param name="report_json" value="False" /> | |
450 <output name="out1" ftype="fastqsanger" file="out_bwa1.fq"/> | |
451 <output name="out2" ftype="fastqsanger" file="out_bwa2.fq"/> | |
452 </test> | |
453 <!-- 7. Ensure paired-end UMI processing of Read 1 works --> | |
454 <test expect_num_outputs="3"> | |
455 <param name="in1" ftype="fastqsanger" value="bwa-mem-fastq1.fq"/> | |
456 <param name="in2" ftype="fastqsanger" value="bwa-mem-fastq2.fq"/> | |
457 <param name="single_paired_selector" value="paired"/> | |
458 <section name="umi_processing"> | |
459 <param name="umi" value="true"/> | |
460 <param name="umi_loc" value="read1"/> | |
461 <param name="umi_len" value="8"/> | |
462 </section> | |
463 <param name="report_json" value="False" /> | |
464 <output name="out1" ftype="fastqsanger" file="out_bwa_umi_read1_1.fq"/> | |
465 <output name="out2" ftype="fastqsanger" file="out_bwa_umi_read1_2.fq"/> | |
466 </test> | |
467 <!-- 8. Ensure paired-end UMI processing of Read 2 works --> | |
468 <test expect_num_outputs="4"> | 446 <test expect_num_outputs="4"> |
469 <param name="in1" ftype="fastqsanger" value="bwa-mem-fastq1.fq"/> | 447 <conditional name="single_paired"> |
470 <param name="in2" ftype="fastqsanger" value="bwa-mem-fastq2.fq"/> | 448 <param name="single_paired_selector" value="paired_collection"/> |
471 <param name="single_paired_selector" value="paired"/> | 449 <param name="paired_input"> |
472 <section name="umi_processing"> | 450 <collection type="paired"> |
473 <param name="umi" value="true"/> | 451 <element name="forward" value="bwa-mem-fastq1.fq" ftype="fastqsanger" /> |
474 <param name="umi_loc" value="read2"/> | 452 <element name="reverse" value="bwa-mem-fastq2.fq" ftype="fastqsanger" /> |
475 <param name="umi_len" value="8"/> | 453 </collection> |
476 </section> | 454 </param> |
477 <output name="out1" ftype="fastqsanger" file="out_bwa_umi_read2_1.fq"/> | 455 </conditional> |
478 <output name="out2" ftype="fastqsanger" file="out_bwa_umi_read2_2.fq"/> | 456 <section name="read_mod_options"> |
457 <section name="umi_processing"> | |
458 <param name="umi" value="true"/> | |
459 <param name="umi_loc" value="read1"/> | |
460 <param name="umi_len" value="8"/> | |
461 </section> | |
462 </section> | |
463 <section name="output_options"> | |
464 <param name="report_json" value="False" /> | |
465 </section> | |
466 <output_collection name="output_paired_coll" type="paired"> | |
467 <element name="forward" value="out_bwa_umi_read1_1.fq" ftype="fastqsanger"/> | |
468 <element name="reverse" value="out_bwa_umi_read1_2.fq" ftype="fastqsanger"/> | |
469 </output_collection> | |
470 </test> | |
471 <!-- 7. Ensure paired-end UMI processing of Read 2 works --> | |
472 <test expect_num_outputs="5"> | |
473 <conditional name="single_paired"> | |
474 <param name="single_paired_selector" value="paired_collection"/> | |
475 <param name="paired_input"> | |
476 <collection type="paired"> | |
477 <element name="forward" value="bwa-mem-fastq1.fq" ftype="fastqsanger" /> | |
478 <element name="reverse" value="bwa-mem-fastq2.fq" ftype="fastqsanger" /> | |
479 </collection> | |
480 </param> | |
481 </conditional> | |
482 <section name="read_mod_options"> | |
483 <section name="umi_processing"> | |
484 <param name="umi" value="true"/> | |
485 <param name="umi_loc" value="read2"/> | |
486 <param name="umi_len" value="8"/> | |
487 </section> | |
488 </section> | |
489 <output_collection name="output_paired_coll" type="paired"> | |
490 <element name="forward" value="out_bwa_umi_read2_1.fq" ftype="fastqsanger"/> | |
491 <element name="reverse" value="out_bwa_umi_read2_2.fq" ftype="fastqsanger"/> | |
492 </output_collection> | |
479 <output name="report_json"> | 493 <output name="report_json"> |
480 <assert_contents> | 494 <assert_contents> |
481 <has_text text="fastp report"/> | 495 <has_text text="fastp report"/> |
482 </assert_contents> | 496 </assert_contents> |
483 </output> | 497 </output> |
484 </test> | 498 </test> |
485 <!-- 9. Ensure JSON report output works --> | 499 <!-- 8. Ensure JSON report output works --> |
486 <test expect_num_outputs="2"> | 500 <test expect_num_outputs="2"> |
487 <param name="in1" ftype="fastqsanger" value="R1.fq"/> | 501 <conditional name="single_paired"> |
488 <param name="single_paired_selector" value="single"/> | 502 <param name="single_paired_selector" value="single"/> |
489 <param name="report_html" value="False"/> | 503 <param name="in1" ftype="fastqsanger" value="R1.fq"/> |
504 </conditional> | |
505 <section name="output_options"> | |
506 <param name="report_html" value="False"/> | |
507 </section> | |
490 <output name="out1" ftype="fastqsanger" file="out1.fq"/> | 508 <output name="out1" ftype="fastqsanger" file="out1.fq"/> |
491 <output name="report_json"> | 509 <output name="report_json"> |
492 <assert_contents> | 510 <assert_contents> |
493 <has_text text="fastp report"/> | 511 <has_text text="fastp report"/> |
494 </assert_contents> | 512 </assert_contents> |
495 </output> | 513 </output> |
496 </test> | 514 </test> |
497 <!-- 10. Ensure polyG trimming works --> | 515 <!-- 9. Ensure polyG trimming works --> |
498 <test expect_num_outputs="3"> | 516 <test expect_num_outputs="3"> |
499 <param name="in1" ftype="fastqsanger.gz" value="R1.fq.gz"/> | 517 <conditional name="single_paired"> |
500 <param name="single_paired_selector" value="single"/> | 518 <param name="single_paired_selector" value="single"/> |
501 <param name="trimming_select" value="-g"/> | 519 <param name="in1" ftype="fastqsanger.gz" value="R1.fq.gz"/> |
502 <param name="poly_g_min_len" value="10"/> | 520 </conditional> |
503 <output name="out1" ftype="fastqsanger.gz" decompress="True" file="out1.fq.gz"/> | 521 <section name="read_mod_options"> |
522 <conditional name="polyg_tail_trimming"> | |
523 <param name="trimming_select" value="-g"/> | |
524 <param name="poly_g_min_len" value="10"/> | |
525 </conditional> | |
526 </section> | |
527 <output name="out1" ftype="fastqsanger.gz" decompress="true" file="out1.fq.gz"/> | |
504 <output name="report_json"> | 528 <output name="report_json"> |
505 <assert_contents> | 529 <assert_contents> |
506 <has_text text="fastp report"/> | 530 <has_text text="fastp report"/> |
507 </assert_contents> | 531 </assert_contents> |
508 </output> | 532 </output> |
509 </test> | 533 </test> |
510 <!-- 11. Ensure polyX trimming works --> | 534 <!-- 10. Ensure polyX trimming works --> |
511 <test expect_num_outputs="3"> | 535 <test expect_num_outputs="3"> |
512 <param name="in1" ftype="fastqsanger.gz" value="R1.fq.gz"/> | 536 <conditional name="single_paired"> |
513 <param name="single_paired_selector" value="single"/> | 537 <param name="single_paired_selector" value="single"/> |
514 <param name="trimming_select" value="-G"/> | 538 <param name="in1" ftype="fastqsanger.gz" value="R1.fq.gz"/> |
515 <param name="polyx_trimming_select" value="-x"/> | 539 </conditional> |
516 <param name="poly_x_min_len" value="10"/> | 540 <section name="read_mod_options"> |
517 <output name="out1" ftype="fastqsanger.gz" decompress="True" file="out1.fq.gz"/> | 541 <conditional name="polyg_tail_trimming"> |
542 <param name="trimming_select" value="-G"/> | |
543 </conditional> | |
544 <conditional name="polyx_tail_trimming"> | |
545 <param name="polyx_trimming_select" value="-x"/> | |
546 <param name="poly_x_min_len" value="10"/> | |
547 </conditional> | |
548 </section> | |
549 <output name="out1" ftype="fastqsanger.gz" decompress="true" file="out1.fq.gz"/> | |
518 <output name="report_json"> | 550 <output name="report_json"> |
519 <assert_contents> | 551 <assert_contents> |
520 <has_text text="fastp report"/> | 552 <has_text text="fastp report"/> |
521 </assert_contents> | 553 </assert_contents> |
522 </output> | 554 </output> |
523 </test> | 555 </test> |
524 <!-- 12. Test fastqsanger files with different length --> | 556 <!-- 11. Test fastqsanger files with different length --> |
525 <test expect_exit_code="255" expect_failure="true"> | 557 <test expect_exit_code="255" expect_failure="true"> |
526 <param name="single_paired_selector" value="paired_collection"/> | 558 <conditional name="single_paired"> |
527 <param name="paired_input"> | 559 <param name="single_paired_selector" value="paired_collection"/> |
528 <collection type="paired"> | 560 <param name="paired_input"> |
529 <element name="forward" value="bwa-mem-fastq1.fq" ftype="fastqsanger" /> | 561 <collection type="paired"> |
530 <element name="reverse" value="bwa-mem-fastq2_too_long.fq" ftype="fastqsanger" /> | 562 <element name="forward" value="bwa-mem-fastq1.fq" ftype="fastqsanger" /> |
531 </collection> | 563 <element name="reverse" value="bwa-mem-fastq2_too_long.fq" ftype="fastqsanger" /> |
532 </param> | 564 </collection> |
533 </test> | 565 </param> |
534 <!-- 13. Test merge reads in combination with paired --> | 566 </conditional> |
535 <test expect_num_outputs="5"> | 567 </test> |
536 <param name="in1" ftype="fastqsanger" value="bwa-mem-fastq1.fq"/> | 568 <!-- 12. Test merge reads in combination with paired --> |
537 <param name="in2" ftype="fastqsanger" value="bwa-mem-fastq2.fq"/> | 569 <test expect_num_outputs="7"> |
538 <param name="single_paired_selector" value="paired"/> | 570 <conditional name="single_paired"> |
539 <param name="merge" value="--merge" /> | 571 <param name="single_paired_selector" value="paired_collection"/> |
540 <param name="report_html" value="False" /> | 572 <param name="paired_input"> |
541 <param name="report_json" value="False" /> | 573 <collection type="paired"> |
574 <element name="forward" value="bwa-mem-fastq1.fq" ftype="fastqsanger" /> | |
575 <element name="reverse" value="bwa-mem-fastq2.fq" ftype="fastqsanger" /> | |
576 </collection> | |
577 </param> | |
578 <conditional name="merge_reads"> | |
579 <param name="merge" value="--merge" /> | |
580 </conditional> | |
581 </conditional> | |
582 <section name="output_options"> | |
583 <param name="report_json" value="False" /> | |
584 <param name="report_html" value="False" /> | |
585 </section> | |
542 <output name="merged_reads" ftype="fastqsanger" file="bwa-mem-merged-reads.fastqsanger" /> | 586 <output name="merged_reads" ftype="fastqsanger" file="bwa-mem-merged-reads.fastqsanger" /> |
543 <output name="unmerged_out1" ftype="fastqsanger" file="bwa-mem-unmerged-filtered-reads1.fastqsanger" /> | 587 <output_collection name="unmerged_out_coll" type="paired"> |
544 <output name="unmerged_out2" ftype="fastqsanger" file="bwa-mem-unmerged-filtered-reads2.fastqsanger" /> | 588 <element name="forward" value="bwa-mem-unmerged-filtered-reads1.fastqsanger" ftype="fastqsanger"/> |
545 <output name="unpaired1" ftype="fastqsanger" file="bwa-mem-unmerged-unfiltered-reads1.fastqsanger" /> | 589 <element name="reverse" value="bwa-mem-unmerged-filtered-reads2.fastqsanger" ftype="fastqsanger"/> |
546 <output name="unpaired2" ftype="fastqsanger"> | 590 </output_collection> |
547 <assert_contents> | 591 <output_collection name="unpaired_out_coll" type="paired"> |
548 <has_size size="0" /> | 592 <element name="forward" value="bwa-mem-unmerged-unfiltered-reads1.fastqsanger" ftype="fastqsanger"/> |
549 </assert_contents> | 593 <element name="reverse" ftype="fastqsanger"> |
550 </output> | 594 <assert_contents> |
551 </test> | 595 <has_size size="0" /> |
552 <!-- 14. Test merge and include_unmerged in combination with paired collection --> | 596 </assert_contents> |
597 </element> | |
598 </output_collection> | |
599 </test> | |
600 <!-- 13. Test merge and include_unmerged in combination with paired collection --> | |
553 <test expect_num_outputs="2"> | 601 <test expect_num_outputs="2"> |
554 <param name="single_paired_selector" value="paired_collection"/> | 602 <conditional name="single_paired"> |
555 <param name="paired_input"> | 603 <param name="single_paired_selector" value="paired_collection"/> |
556 <collection type="paired"> | 604 <param name="paired_input"> |
557 <element name="forward" value="bwa-mem-fastq1.fq" ftype="fastqsanger" /> | 605 <collection type="paired"> |
558 <element name="reverse" value="bwa-mem-fastq2.fq" ftype="fastqsanger" /> | 606 <element name="forward" value="bwa-mem-fastq1.fq" ftype="fastqsanger" /> |
559 </collection> | 607 <element name="reverse" value="bwa-mem-fastq2.fq" ftype="fastqsanger" /> |
560 </param> | 608 </collection> |
561 <param name="merge" value="--merge" /> | 609 </param> |
562 <param name="include_unmerged" value="--include_unmerged" /> | 610 <conditional name="merge_reads"> |
563 <param name="report_html" value="False" /> | 611 <param name="merge" value="--merge" /> |
612 <param name="include_unmerged" value="true" /> | |
613 </conditional> | |
614 </conditional> | |
615 <section name="output_options"> | |
616 <param name="report_html" value="False" /> | |
617 </section> | |
564 <output name="merged_reads" ftype="fastqsanger" file="bwa-mem-merged-read-include-unmerged.fastqsanger" /> | 618 <output name="merged_reads" ftype="fastqsanger" file="bwa-mem-merged-read-include-unmerged.fastqsanger" /> |
565 <output name="report_json"> | 619 <output name="report_json"> |
566 <assert_contents> | 620 <assert_contents> |
567 <has_text text="fastp report"/> | 621 <has_text text="fastp report"/> |
568 </assert_contents> | 622 </assert_contents> |
569 </output> | 623 </output> |
570 </test> | 624 </test> |
571 <!--15. Test paired collection in combination with compressed input--> | 625 <!-- 14. Test merge reads in combination with paired --> |
626 <test expect_num_outputs="7"> | |
627 <conditional name="single_paired"> | |
628 <param name="single_paired_selector" value="paired_collection"/> | |
629 <param name="paired_input"> | |
630 <collection type="paired"> | |
631 <element name="forward" value="bwa-mem-fastq1.fq.gz" ftype="fastqsanger.gz" /> | |
632 <element name="reverse" value="bwa-mem-fastq2.fq.gz" ftype="fastqsanger.gz" /> | |
633 </collection> | |
634 </param> | |
635 <conditional name="merge_reads"> | |
636 <param name="merge" value="--merge" /> | |
637 </conditional> | |
638 </conditional> | |
639 <section name="output_options"> | |
640 <param name="report_html" value="False" /> | |
641 <param name="report_json" value="False" /> | |
642 </section> | |
643 <output name="merged_reads" ftype="fastqsanger.gz" decompress="true" file="bwa-mem-merged-reads.fastqsanger.gz" /> | |
644 <output_collection name="unmerged_out_coll" type="paired"> | |
645 <element name="forward" value="bwa-mem-unmerged-filtered-reads1.fastqsanger.gz" decompress="true" ftype="fastqsanger.gz"/> | |
646 <element name="reverse" value="bwa-mem-unmerged-filtered-reads2.fastqsanger.gz" decompress="true" ftype="fastqsanger.gz"/> | |
647 </output_collection> | |
648 <output_collection name="unpaired_out_coll" type="paired"> | |
649 <element name="forward" value="bwa-mem-unmerged-unfiltered-reads1.fastqsanger.gz" decompress="true" ftype="fastqsanger.gz"/> | |
650 <element name="reverse" ftype="fastqsanger.gz"> | |
651 <assert_contents> | |
652 <has_size size="0" /> | |
653 </assert_contents> | |
654 </element> | |
655 </output_collection> | |
656 </test> | |
657 <!-- 15. Test merge and include_unmerged in combination with paired collection --> | |
658 <test expect_num_outputs="2"> | |
659 <conditional name="single_paired"> | |
660 <param name="single_paired_selector" value="paired_collection"/> | |
661 <param name="paired_input"> | |
662 <collection type="paired"> | |
663 <element name="forward" value="bwa-mem-fastq1.fq.gz" ftype="fastqsanger.gz" /> | |
664 <element name="reverse" value="bwa-mem-fastq2.fq.gz" ftype="fastqsanger.gz" /> | |
665 </collection> | |
666 </param> | |
667 <conditional name="merge_reads"> | |
668 <param name="merge" value="--merge" /> | |
669 <param name="include_unmerged" value="true" /> | |
670 </conditional> | |
671 </conditional> | |
672 <section name="output_options"> | |
673 <param name="report_html" value="False" /> | |
674 </section> | |
675 <output name="merged_reads" ftype="fastqsanger.gz" decompress="true" file="bwa-mem-merged-read-include-unmerged.fastqsanger.gz" /> | |
676 <output name="report_json"> | |
677 <assert_contents> | |
678 <has_text text="fastp report"/> | |
679 </assert_contents> | |
680 </output> | |
681 </test> | |
682 <!--16. Test paired collection in combination with compressed input--> | |
572 <test expect_num_outputs="4"> | 683 <test expect_num_outputs="4"> |
573 <param name="single_paired_selector" value="paired_collection"/> | 684 <conditional name="single_paired"> |
574 <param name="paired_input"> | 685 <param name="single_paired_selector" value="paired_collection"/> |
575 <collection type="paired"> | 686 <param name="paired_input"> |
576 <element name="forward" value="bwa-mem-fastq-paired-collection/input_forward.fastqsanger.gz" ftype="fastqsanger.gz" /> | 687 <collection type="paired"> |
577 <element name="reverse" value="bwa-mem-fastq-paired-collection/input_reverse.fastqsanger.gz" ftype="fastqsanger.gz" /> | 688 <element name="forward" value="bwa-mem-fastq-paired-collection/input_forward.fastqsanger.gz" ftype="fastqsanger.gz" /> |
578 </collection> | 689 <element name="reverse" value="bwa-mem-fastq-paired-collection/input_reverse.fastqsanger.gz" ftype="fastqsanger.gz" /> |
579 </param> | 690 </collection> |
580 <param name="report_json" value="False" /> | 691 </param> |
692 </conditional> | |
693 <section name="output_options"> | |
694 <param name="report_json" value="False" /> | |
695 </section> | |
581 <output name="report_html"> | 696 <output name="report_html"> |
582 <assert_contents> | 697 <assert_contents> |
583 <has_text text="fastp report"/> | 698 <has_text text="fastp report"/> |
584 </assert_contents> | 699 </assert_contents> |
585 </output> | 700 </output> |
586 <output_collection name="output_paired_coll" type="paired"> | 701 <output_collection name="output_paired_coll" type="paired"> |
587 <element name="forward" value="bwa-mem-fastq-paired-collection/output_forward.fastqsanger.gz" decompress="True" ftype="fastqsanger.gz"/> | 702 <element name="forward" value="bwa-mem-fastq-paired-collection/output_forward.fastqsanger.gz" decompress="true" ftype="fastqsanger.gz"/> |
588 <element name="reverse" value="bwa-mem-fastq-paired-collection/output_reverse.fastqsanger.gz" decompress="True" ftype="fastqsanger.gz"/> | 703 <element name="reverse" value="bwa-mem-fastq-paired-collection/output_reverse.fastqsanger.gz" decompress="true" ftype="fastqsanger.gz"/> |
589 </output_collection> | 704 </output_collection> |
590 </test> | 705 </test> |
591 </tests> | 706 </tests> |
592 <help><![CDATA[ | 707 <help><![CDATA[ |
593 .. class:: infomark | 708 .. class:: infomark |
631 | 746 |
632 **Outputs** | 747 **Outputs** |
633 | 748 |
634 * Processed reads | 749 * Processed reads |
635 * Merged reads | 750 * Merged reads |
636 * Unmerged filtered reads1, reads that cannot be merged successfully, but both pass all the filters. | 751 * Unmerged filtered reads, reads that cannot be merged successfully, but both pass all the filters. |
637 * Unmerged filtered reads2, reads that cannot be merged successfully, but both pass all the filters. | 752 * Unmerged unfiltered reads, reads that cannot be merged, i.e. **forward** passes filters but **reverse** doesn't. |
638 * Unmerged unfiltered reads1, reads that cannot be merged, **read1** passes filters but **read2** doesn't. | |
639 * Unmerged unfiltered reads2, reads that cannot be merged, **read2** passes filters but **read1** doesn't. | |
640 | 753 |
641 Optionally, under **Output Options** you can choose to output | 754 Optionally, under **Output Options** you can choose to output |
642 | 755 |
643 * HTML report (default is Yes) | 756 * HTML report (default is Yes) |
644 * JSON report (compatible with MultiQC) | 757 * JSON report (compatible with MultiQC) |