Mercurial > repos > iuc > fastp
comparison fastp.xml @ 12:6292d4ff1ddd draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/fastp commit 78e6d7efcb74d3baa4e5611a7be4ad82b51bfe0d
| author | iuc |
|---|---|
| date | Tue, 15 Oct 2024 11:45:05 +0000 |
| parents | d5ae828d1c3c |
| children | 2d605e86b5d7 |
comparison
equal
deleted
inserted
replaced
| 11:d5ae828d1c3c | 12:6292d4ff1ddd |
|---|---|
| 1 <tool id="fastp" name="fastp" version="@TOOL_VERSION@+galaxy1" profile="23.1"> | 1 <tool id="fastp" name="fastp" version="@TOOL_VERSION@+galaxy2" 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" /> |
| 11 <command detect_errors="exit_code"><![CDATA[ | 11 <command detect_errors="exit_code"><![CDATA[ |
| 12 #import re | 12 #import re |
| 13 | 13 |
| 14 ## Link input files | 14 ## Link input files |
| 15 | 15 |
| 16 #set ext = '.fastq' | 16 #set ext = '.fastqsanger' |
| 17 | 17 |
| 18 #if $single_paired.single_paired_selector == 'paired_collection': | 18 #if $single_paired.single_paired_selector == 'paired_collection' |
| 19 #if $single_paired.paired_input.forward.is_of_type('fastq.gz'): | 19 #if $single_paired.paired_input.forward.is_of_type('fastqsanger.gz') |
| 20 #set ext = '.fastq.gz' | 20 #set ext = '.fastqsanger.gz' |
| 21 #elif $single_paired.paired_input.forward.is_of_type('fastqillumina.gz') | |
| 22 #set ext = '.fastqillumina.gz' | |
| 21 #end if | 23 #end if |
| 22 #set $in1 = $single_paired.paired_input.forward | 24 #set $in1 = $single_paired.paired_input.forward |
| 23 #set $in2 = $single_paired.paired_input.reverse | 25 #set $in2 = $single_paired.paired_input.reverse |
| 24 #set $in1_name = re.sub('[^\w\-\s]', '_', str($single_paired.paired_input.name)) + $ext | 26 #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 | 27 #set $in2_name = re.sub('[^\w\-\s]', '_', str("%s_%s" % ($single_paired.paired_input.name, "R2"))) + $ext |
| 26 #set out1 = $output_paired_coll.forward | 28 #set out1 = $output_paired_coll.forward |
| 27 #set out2 = $output_paired_coll.reverse | 29 #set out2 = $output_paired_coll.reverse |
| 28 ln -sf '$in1' '$in1_name' && | 30 ln -sf '$in1' '$in1_name' && |
| 29 ln -sf '$in2' '$in2_name' && | 31 ln -sf '$in2' '$in2_name' && |
| 30 #else | 32 #else |
| 31 #if $in1.is_of_type('fastq.gz') | 33 #if $in1.is_of_type('fastqsanger.gz') |
| 32 #set ext = '.fastq.gz' | 34 #set ext = '.fastqsanger.gz' |
| 35 #elif $in1.is_of_type('fastqillumina.gz') | |
| 36 #set ext = '.fastqillumina.gz' | |
| 33 #end if | 37 #end if |
| 34 | 38 |
| 35 #set $in1_name = re.sub('[^\w\-\s]', '_', str($in1.element_identifier)) + $ext | 39 #set $in1_name = re.sub('[^\w\-\s]', '_', str($in1.element_identifier)) + $ext |
| 36 ln -sf '$in1' '$in1_name' && | 40 ln -sf '$in1' '$in1_name' && |
| 37 | 41 |
| 39 #set $in2_name = re.sub('[^\w\-\s]', '_', str("%s_R2" % $in2.element_identifier)) + $ext | 43 #set $in2_name = re.sub('[^\w\-\s]', '_', str("%s_R2" % $in2.element_identifier)) + $ext |
| 40 ln -sf '$in2' '$in2_name' && | 44 ln -sf '$in2' '$in2_name' && |
| 41 #end if | 45 #end if |
| 42 #end if | 46 #end if |
| 43 | 47 |
| 48 cp '$c1' galaxy.json && | |
| 44 | 49 |
| 45 ## Run fastp | 50 ## Run fastp |
| 46 | 51 |
| 47 fastp | 52 fastp |
| 48 | 53 |
| 52 #if $in1.is_of_type('fastqillumina', 'fastqsolexa', 'fastqillumina.gz', 'fastqsolexa.gz'): | 57 #if $in1.is_of_type('fastqillumina', 'fastqsolexa', 'fastqillumina.gz', 'fastqsolexa.gz'): |
| 53 --phred64 | 58 --phred64 |
| 54 #end if | 59 #end if |
| 55 | 60 |
| 56 -i '$in1_name' | 61 -i '$in1_name' |
| 57 -o first${ext} | 62 |
| 58 | 63 ## Merge reads |
| 59 #if str($single_paired.single_paired_selector).startswith('paired'): | 64 |
| 65 #if str($single_paired.single_paired_selector).startswith('paired') | |
| 60 -I '$in2_name' | 66 -I '$in2_name' |
| 61 -O second${ext} | 67 #if $single_paired.merge_reads.merge |
| 62 #end if | 68 $single_paired.merge_reads.merge |
| 63 | 69 --merged_out '$merged_reads' |
| 70 #if $single_paired.merge_reads.include_unmerged | |
| 71 $single_paired.merge_reads.include_unmerged | |
| 72 #else | |
| 73 --out1 '$unmerged_out1' | |
| 74 --out2 '$unmerged_out2' | |
| 75 --unpaired1 '$unpaired1' | |
| 76 --unpaired2 '$unpaired2' | |
| 77 #end if | |
| 78 #else | |
| 79 -o first${ext} | |
| 80 -O second${ext} | |
| 81 #end if | |
| 82 #else | |
| 83 -o first${ext} | |
| 84 #end if | |
| 64 | 85 |
| 65 ## Adapter Trimming Options | 86 ## Adapter Trimming Options |
| 66 | 87 |
| 67 $single_paired.adapter_trimming_options.disable_adapter_trimming | 88 $single_paired.adapter_trimming_options.disable_adapter_trimming |
| 68 | 89 |
| 198 | 219 |
| 199 ## Base correction by overlap analysis options | 220 ## Base correction by overlap analysis options |
| 200 | 221 |
| 201 $read_mod_options.base_correction_options.correction | 222 $read_mod_options.base_correction_options.correction |
| 202 | 223 |
| 203 && | 224 #if str($single_paired.single_paired_selector).startswith('single') |
| 204 | 225 && |
| 205 mv first${ext} '${out1}' | 226 mv first${ext} '${out1}' |
| 206 #if str($single_paired.single_paired_selector).startswith('paired'): | 227 #elif str($single_paired.single_paired_selector).startswith('paired') and not $single_paired.merge_reads.merge: |
| 228 && | |
| 229 mv first${ext} '${out1}' | |
| 207 && | 230 && |
| 208 mv second${ext} '${out2}' | 231 mv second${ext} '${out2}' |
| 209 #end if | 232 #end if |
| 210 ]]></command> | 233 ]]></command> |
| 234 <configfiles> | |
| 235 <configfile name="c1"> | |
| 236 #set $ext1 = "fastqsanger" | |
| 237 #set $ext2 = "fastqsanger" | |
| 238 #if str($single_paired.single_paired_selector) == "single" | |
| 239 #if $in1.ext.endswith("gz") | |
| 240 #set $ext1 = "fastqsanger.gz" | |
| 241 #end if | |
| 242 #elif str($single_paired.single_paired_selector) == "paired" | |
| 243 #if $in1.ext.endswith("gz") | |
| 244 #set $ext1 = "fastqsanger.gz" | |
| 245 #end if | |
| 246 #if $in2.ext.endswith("gz") | |
| 247 #set $ext2 = "fastqsanger.gz" | |
| 248 #end if | |
| 249 #else | |
| 250 #if $paired_input.forward.ext.endswith("gz") | |
| 251 #set $ext1 = "fastqsanger.gz" | |
| 252 #end if | |
| 253 #if $paired_input.reverse.ext.endswith("gz") | |
| 254 #set $ext2 = "fastqsanger.gz" | |
| 255 #end if | |
| 256 #end if | |
| 257 { | |
| 258 "out1": {"ext": "$ext1"}, | |
| 259 "out2": {"ext": "$ext2"}, | |
| 260 "merged_reads": {"ext": "$ext1"}, | |
| 261 "unmerged_out1": {"ext": "$ext1"}, | |
| 262 "unmerged_out2": {"ext": "$ext2"}, | |
| 263 "unpaired1": {"ext": "$ext1"}, | |
| 264 "unpaired2": {"ext": "$ext2"} | |
| 265 } | |
| 266 </configfile> | |
| 267 </configfiles> | |
| 211 <inputs> | 268 <inputs> |
| 212 <conditional name="single_paired"> | 269 <conditional name="single_paired"> |
| 213 <param name="single_paired_selector" type="select" label="Single-end or paired reads"> | 270 <param name="single_paired_selector" type="select" label="Single-end or paired reads"> |
| 214 <option value="single" selected="true">Single-end</option> | 271 <option value="single" selected="true">Single-end</option> |
| 215 <option value="paired">Paired</option> | 272 <option value="paired">Paired</option> |
| 221 <expand macro="global_trimming_options" /> | 278 <expand macro="global_trimming_options" /> |
| 222 </when> | 279 </when> |
| 223 <when value="paired"> | 280 <when value="paired"> |
| 224 <expand macro="in" read_number="1" argument="-i"/> | 281 <expand macro="in" read_number="1" argument="-i"/> |
| 225 <expand macro="in" read_number="2" argument="-I"/> | 282 <expand macro="in" read_number="2" argument="-I"/> |
| 283 <expand macro="merge_reads" /> | |
| 226 <expand macro="adapter_trimming_options"> | 284 <expand macro="adapter_trimming_options"> |
| 227 <expand macro="adapter_sequence" read_number="2"/> | 285 <expand macro="adapter_sequence" read_number="2"/> |
| 228 <expand macro="detect_adapter_for_pe" /> | 286 <expand macro="detect_adapter_for_pe" /> |
| 229 </expand> | 287 </expand> |
| 230 <expand macro="global_trimming_options_paired" /> | 288 <expand macro="global_trimming_options_paired" /> |
| 231 </when> | 289 </when> |
| 232 <when value="paired_collection"> | 290 <when value="paired_collection"> |
| 233 <param name="paired_input" type="data_collection" format="fastq,fastq.gz" label="Select paired collection(s)" collection_type="paired"/> | 291 <param name="paired_input" type="data_collection" format="fastqsanger,fastqsanger.gz,fastqillumina,fastqillumina.gz" label="Select paired collection(s)" collection_type="paired"/> |
| 292 <expand macro="merge_reads" /> | |
| 234 <expand macro="adapter_trimming_options"> | 293 <expand macro="adapter_trimming_options"> |
| 235 <expand macro="adapter_sequence" read_number="2"/> | 294 <expand macro="adapter_sequence" read_number="2"/> |
| 236 <expand macro="detect_adapter_for_pe" /> | 295 <expand macro="detect_adapter_for_pe" /> |
| 237 </expand> | 296 </expand> |
| 238 <expand macro="global_trimming_options_paired" /> | 297 <expand macro="global_trimming_options_paired" /> |
| 313 </section> | 372 </section> |
| 314 </section> | 373 </section> |
| 315 | 374 |
| 316 <section name="output_options" title="Output Options" expanded="False"> | 375 <section name="output_options" title="Output Options" expanded="False"> |
| 317 <param name="report_html" type="boolean" truevalue="True" falsevalue="False" checked="True" label="Output HTML report" help="fastp provides a QC report for the data Before and After filtering within a single HTML page, which enables comparison of the quality statistics changed by the preprocessing step directly"/> | 376 <param name="report_html" type="boolean" truevalue="True" falsevalue="False" checked="True" label="Output HTML report" help="fastp provides a QC report for the data Before and After filtering within a single HTML page, which enables comparison of the quality statistics changed by the preprocessing step directly"/> |
| 318 <param name="report_json" type="boolean" truevalue="True" falsevalue="False" checked="False" 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"/> | 377 <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"/> |
| 319 </section> | 378 </section> |
| 320 </inputs> | 379 </inputs> |
| 321 | 380 |
| 322 <outputs> | 381 <outputs> |
| 323 <data name="out1" format_source="in1" label="${tool.name} on ${on_string}: Read 1 output"> | 382 <data name="out1" format="auto" label="${tool.name} on ${on_string}: Read 1 output"> |
| 324 <filter>single_paired['single_paired_selector'] in ["single", "paired"]</filter> | 383 <filter>single_paired['single_paired_selector'] in ["single", "paired"] and not single_paired['merge_reads']['merge']</filter> |
| 325 </data> | 384 </data> |
| 326 <data name="out2" format_source="in2" label="${tool.name} on ${on_string}: Read 2 output"> | 385 <data name="out2" format="auto" label="${tool.name} on ${on_string}: Read 2 output"> |
| 327 <filter>single_paired['single_paired_selector'] == "paired"</filter> | 386 <filter>single_paired['single_paired_selector'] == "paired" and not single_paired['merge_reads']['merge']</filter> |
| 328 </data> | 387 </data> |
| 329 <collection name="output_paired_coll" type="paired" format_source="paired_input['forward']" label="${tool.name} on ${on_string}: Paired-end output"> | 388 <collection name="output_paired_coll" type="paired" format_source="paired_input['forward']" label="${tool.name} on ${on_string}: Paired-end output"> |
| 330 <filter>single_paired['single_paired_selector'] == "paired_collection"</filter> | 389 <filter>single_paired['single_paired_selector'] == "paired_collection" and not single_paired['merge_reads']['merge']</filter> |
| 331 </collection> | 390 </collection> |
| 332 <data name="report_html" format="html" from_work_dir="fastp.html" label="${tool.name} on ${on_string}: HTML report"> | 391 <data name="report_html" format="html" from_work_dir="fastp.html" label="${tool.name} on ${on_string}: HTML report"> |
| 333 <filter>output_options['report_html'] is True</filter> | 392 <filter>output_options['report_html'] is True</filter> |
| 334 </data> | 393 </data> |
| 335 <data name="report_json" format="json" from_work_dir="fastp.json" label="${tool.name} on ${on_string}: JSON report"> | 394 <data name="report_json" format="json" from_work_dir="fastp.json" label="${tool.name} on ${on_string}: JSON report"> |
| 336 <filter>output_options['report_json'] is True</filter> | 395 <filter>output_options['report_json'] is True</filter> |
| 337 </data> | 396 </data> |
| 397 <data name="merged_reads" format="auto" label="${tool.name} on ${on_string}: Merged reads"> | |
| 398 <filter>single_paired['single_paired_selector'] in ["paired", "paired_collection"] and single_paired['merge_reads']['merge']</filter> | |
| 399 </data> | |
| 400 <data name="unmerged_out1" format="auto" label="${tool.name} on ${on_string}: Unmerged filtered reads1"> | |
| 401 <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> | |
| 402 </data> | |
| 403 <data name="unmerged_out2" format="auto" label="${tool.name} on ${on_string}: Unmerged filtered reads2"> | |
| 404 <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> | |
| 405 </data> | |
| 406 <data name="unpaired1" format="auto" label="${tool.name} on ${on_string}: Unmerged unfiltered reads1"> | |
| 407 <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> | |
| 408 </data> | |
| 409 <data name="unpaired2" format="auto" label="${tool.name} on ${on_string}: Unmerged unfiltered reads2"> | |
| 410 <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> | |
| 411 </data> | |
| 338 </outputs> | 412 </outputs> |
| 339 | 413 |
| 340 <tests> | 414 <tests> |
| 341 <!-- 1. Ensure default output works --> | 415 <!-- 1. Ensure default output works --> |
| 342 <test expect_num_outputs="2"> | 416 <test expect_num_outputs="3"> |
| 343 <param name="in1" ftype="fastqsanger" value="R1.fq"/> | 417 <param name="in1" ftype="fastqsanger" value="R1.fq"/> |
| 344 <param name="single_paired_selector" value="single"/> | 418 <param name="single_paired_selector" value="single"/> |
| 345 <output name="out1" ftype="fastqsanger" file="out1.fq"/> | 419 <output name="out1" ftype="fastqsanger" file="out1.fq"/> |
| 346 <output name="report_html"> | 420 <output name="report_html"> |
| 421 <assert_contents> | |
| 422 <has_text text="fastp report"/> | |
| 423 </assert_contents> | |
| 424 </output> | |
| 425 <output name="report_json"> | |
| 347 <assert_contents> | 426 <assert_contents> |
| 348 <has_text text="fastp report"/> | 427 <has_text text="fastp report"/> |
| 349 </assert_contents> | 428 </assert_contents> |
| 350 </output> | 429 </output> |
| 351 </test> | 430 </test> |
| 356 <collection type="paired"> | 435 <collection type="paired"> |
| 357 <element name="forward" value="bwa-mem-fastq1.fq" ftype="fastqsanger" /> | 436 <element name="forward" value="bwa-mem-fastq1.fq" ftype="fastqsanger" /> |
| 358 <element name="reverse" value="bwa-mem-fastq2.fq" ftype="fastqsanger" /> | 437 <element name="reverse" value="bwa-mem-fastq2.fq" ftype="fastqsanger" /> |
| 359 </collection> | 438 </collection> |
| 360 </param> | 439 </param> |
| 440 <param name="report_json" value="False" /> | |
| 361 <output name="report_html"> | 441 <output name="report_html"> |
| 362 <assert_contents> | 442 <assert_contents> |
| 363 <has_text text="fastp report"/> | 443 <has_text text="fastp report"/> |
| 364 </assert_contents> | 444 </assert_contents> |
| 365 </output> | 445 </output> |
| 368 <element name="reverse" value="out_bwa2.fq" ftype="fastqsanger"/> | 448 <element name="reverse" value="out_bwa2.fq" ftype="fastqsanger"/> |
| 369 </output_collection> | 449 </output_collection> |
| 370 </test> | 450 </test> |
| 371 <!-- 3. Ensure custom adapter works --> | 451 <!-- 3. Ensure custom adapter works --> |
| 372 <test expect_num_outputs="2"> | 452 <test expect_num_outputs="2"> |
| 373 <param name="in1" ftype="fastq" value="R1.fq"/> | 453 <param name="in1" ftype="fastqsanger" value="R1.fq"/> |
| 374 <param name="single_paired_selector" value="single"/> | 454 <param name="single_paired_selector" value="single"/> |
| 375 <param name="adapter_sequence1" value="ATCG"/> | 455 <param name="adapter_sequence1" value="ATCG"/> |
| 376 <output name="out1" ftype="fastq" file="out_a.fq"/> | 456 <param name="report_json" value="False" /> |
| 457 <output name="out1" ftype="fastqsanger" file="out_a.fq"/> | |
| 377 </test> | 458 </test> |
| 378 <!-- 4. Ensure UMI processing works --> | 459 <!-- 4. Ensure UMI processing works --> |
| 379 <test expect_num_outputs="2"> | 460 <test expect_num_outputs="2"> |
| 380 <param name="in1" ftype="fastq" value="R1.fq"/> | 461 <param name="in1" ftype="fastqsanger" value="R1.fq"/> |
| 381 <param name="single_paired_selector" value="single"/> | 462 <param name="single_paired_selector" value="single"/> |
| 382 <section name="umi_processing"> | 463 <section name="umi_processing"> |
| 383 <param name="umi" value="true"/> | 464 <param name="umi" value="true"/> |
| 384 <param name="umi_loc" value="read1"/> | 465 <param name="umi_loc" value="read1"/> |
| 385 <param name="umi_len" value="8"/> | 466 <param name="umi_len" value="8"/> |
| 386 </section> | 467 </section> |
| 387 <output name="out1" ftype="fastq" file="out2.fq"/> | 468 <param name="report_json" value="False" /> |
| 469 <output name="out1" ftype="fastqsanger" file="out2.fq"/> | |
| 388 </test> | 470 </test> |
| 389 <!-- 5. Ensure UMI processing with different lengths works --> | 471 <!-- 5. Ensure UMI processing with different lengths works --> |
| 390 <test expect_num_outputs="2"> | 472 <test expect_num_outputs="2"> |
| 391 <param name="in1" ftype="fastq" value="R1.fq"/> | 473 <param name="in1" ftype="fastqsanger" value="R1.fq"/> |
| 392 <param name="single_paired_selector" value="single"/> | 474 <param name="single_paired_selector" value="single"/> |
| 393 <section name="umi_processing"> | 475 <section name="umi_processing"> |
| 394 <param name="umi" value="true"/> | 476 <param name="umi" value="true"/> |
| 395 <param name="umi_loc" value="read1"/> | 477 <param name="umi_loc" value="read1"/> |
| 396 <param name="umi_len" value="12"/> | 478 <param name="umi_len" value="12"/> |
| 397 </section> | 479 </section> |
| 398 <output name="out1" ftype="fastq" file="out3.fq"/> | 480 <param name="report_json" value="False" /> |
| 399 </test> | 481 <output name="out1" ftype="fastqsanger" file="out3.fq"/> |
| 400 <!-- 6. Ensure paired-end fastq works --> | 482 </test> |
| 483 <!-- 6. Ensure paired-end fastqsanger works --> | |
| 401 <test expect_num_outputs="3"> | 484 <test expect_num_outputs="3"> |
| 402 <param name="in1" ftype="fastq" value="bwa-mem-fastq1.fq"/> | 485 <param name="in1" ftype="fastqsanger" value="bwa-mem-fastq1.fq"/> |
| 403 <param name="in2" ftype="fastq" value="bwa-mem-fastq2.fq"/> | 486 <param name="in2" ftype="fastqsanger" value="bwa-mem-fastq2.fq"/> |
| 404 <param name="single_paired_selector" value="paired"/> | 487 <param name="single_paired_selector" value="paired"/> |
| 405 <output name="out1" ftype="fastq" file="out_bwa1.fq"/> | 488 <param name="report_json" value="False" /> |
| 406 <output name="out2" ftype="fastq" file="out_bwa2.fq"/> | 489 <output name="out1" ftype="fastqsanger" file="out_bwa1.fq"/> |
| 490 <output name="out2" ftype="fastqsanger" file="out_bwa2.fq"/> | |
| 407 </test> | 491 </test> |
| 408 <!-- 7. Ensure paired-end UMI processing of Read 1 works --> | 492 <!-- 7. Ensure paired-end UMI processing of Read 1 works --> |
| 409 <test expect_num_outputs="3"> | 493 <test expect_num_outputs="3"> |
| 410 <param name="in1" ftype="fastq" value="bwa-mem-fastq1.fq"/> | 494 <param name="in1" ftype="fastqsanger" value="bwa-mem-fastq1.fq"/> |
| 411 <param name="in2" ftype="fastq" value="bwa-mem-fastq2.fq"/> | 495 <param name="in2" ftype="fastqsanger" value="bwa-mem-fastq2.fq"/> |
| 412 <param name="single_paired_selector" value="paired"/> | 496 <param name="single_paired_selector" value="paired"/> |
| 413 <section name="umi_processing"> | 497 <section name="umi_processing"> |
| 414 <param name="umi" value="true"/> | 498 <param name="umi" value="true"/> |
| 415 <param name="umi_loc" value="read1"/> | 499 <param name="umi_loc" value="read1"/> |
| 416 <param name="umi_len" value="8"/> | 500 <param name="umi_len" value="8"/> |
| 417 </section> | 501 </section> |
| 418 <output name="out1" ftype="fastq" file="out_bwa_umi_read1_1.fq"/> | 502 <param name="report_json" value="False" /> |
| 419 <output name="out2" ftype="fastq" file="out_bwa_umi_read1_2.fq"/> | 503 <output name="out1" ftype="fastqsanger" file="out_bwa_umi_read1_1.fq"/> |
| 504 <output name="out2" ftype="fastqsanger" file="out_bwa_umi_read1_2.fq"/> | |
| 420 </test> | 505 </test> |
| 421 <!-- 8. Ensure paired-end UMI processing of Read 2 works --> | 506 <!-- 8. Ensure paired-end UMI processing of Read 2 works --> |
| 422 <test expect_num_outputs="3"> | 507 <test expect_num_outputs="4"> |
| 423 <param name="in1" ftype="fastq" value="bwa-mem-fastq1.fq"/> | 508 <param name="in1" ftype="fastqsanger" value="bwa-mem-fastq1.fq"/> |
| 424 <param name="in2" ftype="fastq" value="bwa-mem-fastq2.fq"/> | 509 <param name="in2" ftype="fastqsanger" value="bwa-mem-fastq2.fq"/> |
| 425 <param name="single_paired_selector" value="paired"/> | 510 <param name="single_paired_selector" value="paired"/> |
| 426 <section name="umi_processing"> | 511 <section name="umi_processing"> |
| 427 <param name="umi" value="true"/> | 512 <param name="umi" value="true"/> |
| 428 <param name="umi_loc" value="read2"/> | 513 <param name="umi_loc" value="read2"/> |
| 429 <param name="umi_len" value="8"/> | 514 <param name="umi_len" value="8"/> |
| 430 </section> | 515 </section> |
| 431 <output name="out1" ftype="fastq" file="out_bwa_umi_read2_1.fq"/> | 516 <output name="out1" ftype="fastqsanger" file="out_bwa_umi_read2_1.fq"/> |
| 432 <output name="out2" ftype="fastq" file="out_bwa_umi_read2_2.fq"/> | 517 <output name="out2" ftype="fastqsanger" file="out_bwa_umi_read2_2.fq"/> |
| 518 <output name="report_json"> | |
| 519 <assert_contents> | |
| 520 <has_text text="fastp report"/> | |
| 521 </assert_contents> | |
| 522 </output> | |
| 433 </test> | 523 </test> |
| 434 <!-- 9. Ensure JSON report output works --> | 524 <!-- 9. Ensure JSON report output works --> |
| 435 <test expect_num_outputs="2"> | 525 <test expect_num_outputs="2"> |
| 436 <param name="in1" ftype="fastqsanger" value="R1.fq"/> | 526 <param name="in1" ftype="fastqsanger" value="R1.fq"/> |
| 437 <param name="single_paired_selector" value="single"/> | 527 <param name="single_paired_selector" value="single"/> |
| 438 <param name="report_html" value="False"/> | 528 <param name="report_html" value="False"/> |
| 439 <param name="report_json" value="True"/> | |
| 440 <output name="out1" ftype="fastqsanger" file="out1.fq"/> | 529 <output name="out1" ftype="fastqsanger" file="out1.fq"/> |
| 441 <output name="report_json"> | 530 <output name="report_json"> |
| 442 <assert_contents> | 531 <assert_contents> |
| 443 <has_text text="fastp report"/> | 532 <has_text text="fastp report"/> |
| 444 </assert_contents> | 533 </assert_contents> |
| 445 </output> | 534 </output> |
| 446 </test> | 535 </test> |
| 447 <!-- 10. Ensure polyG trimming works --> | 536 <!-- 10. Ensure polyG trimming works --> |
| 448 <test expect_num_outputs="2"> | 537 <test expect_num_outputs="3"> |
| 449 <param name="in1" ftype="fastq.gz" value="R1.fq.gz"/> | 538 <param name="in1" ftype="fastqsanger.gz" value="R1.fq.gz"/> |
| 450 <param name="single_paired_selector" value="single"/> | 539 <param name="single_paired_selector" value="single"/> |
| 451 <param name="trimming_select" value="-g"/> | 540 <param name="trimming_select" value="-g"/> |
| 452 <param name="poly_g_min_len" value="10"/> | 541 <param name="poly_g_min_len" value="10"/> |
| 453 <output name="out1" ftype="fastq.gz" decompress="True" file="out1.fq.gz"/> | 542 <output name="out1" ftype="fastqsanger.gz" decompress="True" file="out1.fq.gz"/> |
| 543 <output name="report_json"> | |
| 544 <assert_contents> | |
| 545 <has_text text="fastp report"/> | |
| 546 </assert_contents> | |
| 547 </output> | |
| 454 </test> | 548 </test> |
| 455 <!-- 11. Ensure polyX trimming works --> | 549 <!-- 11. Ensure polyX trimming works --> |
| 456 <test expect_num_outputs="2"> | 550 <test expect_num_outputs="3"> |
| 457 <param name="in1" ftype="fastq.gz" value="R1.fq.gz"/> | 551 <param name="in1" ftype="fastqsanger.gz" value="R1.fq.gz"/> |
| 458 <param name="single_paired_selector" value="single"/> | 552 <param name="single_paired_selector" value="single"/> |
| 459 <param name="trimming_select" value="-G"/> | 553 <param name="trimming_select" value="-G"/> |
| 460 <param name="polyx_trimming_select" value="-x"/> | 554 <param name="polyx_trimming_select" value="-x"/> |
| 461 <param name="poly_x_min_len" value="10"/> | 555 <param name="poly_x_min_len" value="10"/> |
| 462 <output name="out1" ftype="fastq.gz" decompress="True" file="out1.fq.gz"/> | 556 <output name="out1" ftype="fastqsanger.gz" decompress="True" file="out1.fq.gz"/> |
| 463 </test> | 557 <output name="report_json"> |
| 464 <!-- 12. Test fastq files with different length --> | 558 <assert_contents> |
| 559 <has_text text="fastp report"/> | |
| 560 </assert_contents> | |
| 561 </output> | |
| 562 </test> | |
| 563 <!-- 12. Test fastqsanger files with different length --> | |
| 465 <test expect_exit_code="255" expect_failure="true"> | 564 <test expect_exit_code="255" expect_failure="true"> |
| 466 <param name="single_paired_selector" value="paired_collection"/> | 565 <param name="single_paired_selector" value="paired_collection"/> |
| 467 <param name="paired_input"> | 566 <param name="paired_input"> |
| 468 <collection type="paired"> | 567 <collection type="paired"> |
| 469 <element name="forward" value="bwa-mem-fastq1.fq" ftype="fastqsanger" /> | 568 <element name="forward" value="bwa-mem-fastq1.fq" ftype="fastqsanger" /> |
| 470 <element name="reverse" value="bwa-mem-fastq2_too_long.fq" ftype="fastqsanger" /> | 569 <element name="reverse" value="bwa-mem-fastq2_too_long.fq" ftype="fastqsanger" /> |
| 471 </collection> | 570 </collection> |
| 472 </param> | 571 </param> |
| 473 </test> | 572 </test> |
| 573 <!-- 13. Test merge reads in combination with paired --> | |
| 574 <test expect_num_outputs="5"> | |
| 575 <param name="in1" ftype="fastqsanger" value="bwa-mem-fastq1.fq"/> | |
| 576 <param name="in2" ftype="fastqsanger" value="bwa-mem-fastq2.fq"/> | |
| 577 <param name="single_paired_selector" value="paired"/> | |
| 578 <param name="merge" value="--merge" /> | |
| 579 <param name="report_html" value="False" /> | |
| 580 <param name="report_json" value="False" /> | |
| 581 <output name="merged_reads" ftype="fastqsanger" file="bwa-mem-merged-reads.fastqsanger" /> | |
| 582 <output name="unmerged_out1" ftype="fastqsanger" file="bwa-mem-unmerged-filtered-reads1.fastqsanger" /> | |
| 583 <output name="unmerged_out2" ftype="fastqsanger" file="bwa-mem-unmerged-filtered-reads2.fastqsanger" /> | |
| 584 <output name="unpaired1" ftype="fastqsanger" file="bwa-mem-unmerged-unfiltered-reads1.fastqsanger" /> | |
| 585 <output name="unpaired2" ftype="fastqsanger"> | |
| 586 <assert_contents> | |
| 587 <has_size size="0" /> | |
| 588 </assert_contents> | |
| 589 </output> | |
| 590 </test> | |
| 591 <!-- 14. Test merge and include_unmerged in combination with paired collection --> | |
| 592 <test expect_num_outputs="2"> | |
| 593 <param name="single_paired_selector" value="paired_collection"/> | |
| 594 <param name="paired_input"> | |
| 595 <collection type="paired"> | |
| 596 <element name="forward" value="bwa-mem-fastq1.fq" ftype="fastqsanger" /> | |
| 597 <element name="reverse" value="bwa-mem-fastq2.fq" ftype="fastqsanger" /> | |
| 598 </collection> | |
| 599 </param> | |
| 600 <param name="merge" value="--merge" /> | |
| 601 <param name="include_unmerged" value="--include_unmerged" /> | |
| 602 <param name="report_html" value="False" /> | |
| 603 <output name="merged_reads" ftype="fastqsanger" file="bwa-mem-merged-read-include-unmerged.fastqsanger" /> | |
| 604 <output name="report_json"> | |
| 605 <assert_contents> | |
| 606 <has_text text="fastp report"/> | |
| 607 </assert_contents> | |
| 608 </output> | |
| 609 </test> | |
| 610 <!--15. Test paired collection in combination with compressed input--> | |
| 611 <test expect_num_outputs="4"> | |
| 612 <param name="single_paired_selector" value="paired_collection"/> | |
| 613 <param name="paired_input"> | |
| 614 <collection type="paired"> | |
| 615 <element name="forward" value="bwa-mem-fastq-paired-collection/input_forward.fastqsanger.gz" ftype="fastqsanger.gz" /> | |
| 616 <element name="reverse" value="bwa-mem-fastq-paired-collection/input_reverse.fastqsanger.gz" ftype="fastqsanger.gz" /> | |
| 617 </collection> | |
| 618 </param> | |
| 619 <param name="report_json" value="False" /> | |
| 620 <output name="report_html"> | |
| 621 <assert_contents> | |
| 622 <has_text text="fastp report"/> | |
| 623 </assert_contents> | |
| 624 </output> | |
| 625 <output_collection name="output_paired_coll" type="paired"> | |
| 626 <element name="forward" value="bwa-mem-fastq-paired-collection/output_forward.fastqsanger.gz" decompress="True" ftype="fastqsanger.gz"/> | |
| 627 <element name="reverse" value="bwa-mem-fastq-paired-collection/output_reverse.fastqsanger.gz" decompress="True" ftype="fastqsanger.gz"/> | |
| 628 </output_collection> | |
| 629 </test> | |
| 474 </tests> | 630 </tests> |
| 475 <help><