comparison bowtie2_wrapper.xml @ 33:f76cbb84d67f draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bowtie2 commit 4508a3878ac8d12306a7521aa55fa286710d947a
author iuc
date Wed, 24 Sep 2025 13:37:14 +0000
parents d5ceb9f3c25b
children
comparison
equal deleted inserted replaced
32:d5ceb9f3c25b 33:f76cbb84d67f
1 <tool id="bowtie2" name="Bowtie2" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="22.05"> 1 <tool id="bowtie2" name="Bowtie2" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
2 <description>- map reads against reference genome</description> 2 <description>- map reads against reference genome</description>
3 <macros> 3 <macros>
4 <import>bowtie2_macros.xml</import> 4 <import>bowtie2_macros.xml</import>
5 </macros> 5 </macros>
6 <xrefs> 6 <xrefs>
7 <xref type="bio.tools">bowtie2</xref> 7 <xref type="bio.tools">bowtie2</xref>
8 </xrefs> 8 </xrefs>
9 <requirements> 9 <requirements>
10 <requirement type="package" version="@TOOL_VERSION@">bowtie2</requirement> 10 <requirement type="package" version="@TOOL_VERSION@">bowtie2</requirement>
11 <requirement type="package" version="1.19.2">samtools</requirement> 11 <requirement type="package" version="1.22.1">samtools</requirement>
12 </requirements> 12 </requirements>
13 <version_command>bowtie2 --version</version_command> 13 <version_command>bowtie2 --version</version_command>
14 <command detect_errors="exit_code"><![CDATA[ 14 <command detect_errors="exit_code"><![CDATA[
15 ## Use pipefail if available to quit with first non-zero exit code 15 ## Use pipefail if available to quit with first non-zero exit code
16 set -o | grep -q pipefail && set -o pipefail; 16 set -o | grep -q pipefail && set -o pipefail;
26 26
27 ## Link in the input files, so bowtie2 can tell their type 27 ## Link in the input files, so bowtie2 can tell their type
28 28
29 #set compressed="False" 29 #set compressed="False"
30 #set reads_are_fastq = True 30 #set reads_are_fastq = True
31 #if str($library.type) == 'paired': 31 #if str($library.type) == 'paired_collection':
32 #if $library.input_1.is_of_type("fastq.gz", "fastqsanger.gz"):
33 #set read1 = "input_f.fastq.gz"
34 #set compressed = "GZ"
35 #else if $library.input_1.is_of_type("fastq.bz2", "fastqsanger.bz2"):
36 #set read1 = "input_f.fastq.bz2"
37 #set compressed = "BZ2"
38 #else if $library.input_1.is_of_type('fasta'):
39 #set reads_are_fastq = False
40 #set read1 = "input_f.fasta"
41 #else:
42 #set read1 = "input_f.fastq"
43 #end if
44 ln -f -s '${library.input_1}' ${read1} &&
45
46 #if $library.input_2.is_of_type("fastq.gz", "fastqsanger.gz"):
47 #set read2 = "input_r.fastq.gz"
48 #set compressed = "GZ"
49 #else if $library.input_2.is_of_type("fastq.bz2", "fastqsanger.bz2"):
50 #set read2 = "input_r.fastq.bz2"
51 #set compressed = "BZ2"
52 #else if $library.input_2.is_of_type('fasta'):
53 #set read2 = "input_r.fasta"
54 #else:
55 #set read2 = "input_r.fastq"
56 #end if
57 ln -f -s '${library.input_2}' ${read2} &&
58 #else if str($library.type) == 'paired_collection':
59 #if $library.input_1.forward.is_of_type("fastq.gz", "fastqsanger.gz"): 32 #if $library.input_1.forward.is_of_type("fastq.gz", "fastqsanger.gz"):
60 #set read1 = "input_f.fastq.gz" 33 #set read1 = "input_f.fastq.gz"
61 #set compressed = "GZ" 34 #set compressed = "GZ"
62 #else if $library.input_1.forward.is_of_type("fastq.bz2", "fastqsanger.bz2"): 35 #else if $library.input_1.forward.is_of_type("fastq.bz2", "fastqsanger.bz2"):
63 #set read1 = "input_f.fastq.bz2" 36 #set read1 = "input_f.fastq.bz2"
80 #set read2 = "input_r.fasta" 53 #set read2 = "input_r.fasta"
81 #else: 54 #else:
82 #set read2 = "input_r.fastq" 55 #set read2 = "input_r.fastq"
83 #end if 56 #end if
84 ln -f -s '${library.input_1.reverse}' ${read2} && 57 ln -f -s '${library.input_1.reverse}' ${read2} &&
85
86 #else if str($library.type) == 'paired_interleaved':
87 #if $library.input_1.is_of_type("fastq.gz", "fastqsanger.gz"):
88 #set read1 = "input_il.fastq.gz"
89 #set compressed = "GZ"
90 #else if $library.input_1.is_of_type("fastq.bz2", "fastqsanger.bz2"):
91 #set read1 = "input_il.fastq.bz2"
92 #set compressed = "BZ2"
93 #else if $library.input_1.is_of_type("fasta"):
94 #set reads_are_fastq = False
95 #set read1 = "input_il.fasta"
96 #else:
97 #set read1 = "input_il.fastq"
98 #end if
99 ln -f -s '${library.input_1}' ${read1} &&
100 #else: 58 #else:
101 #if $library.input_1.is_of_type("fastq.gz", "fastqsanger.gz"): 59 #if $library.input_1.is_of_type("fastq.gz", "fastqsanger.gz"):
102 #set read1 = "input_f.fastq.gz" 60 #set read1 = "input_f.fastq.gz"
103 #set compressed = "GZ" 61 #set compressed = "GZ"
104 #else if $library.input_1.is_of_type("fastq.bz2", "fastqsanger.bz2"): 62 #else if $library.input_1.is_of_type("fastq.bz2", "fastqsanger.bz2"):
141 ## Input reads 99 ## Input reads
142 #if str( $library.type ) == "single": 100 #if str( $library.type ) == "single":
143 -U '${read1}' 101 -U '${read1}'
144 #if str( $library.unaligned_file ) == "true": 102 #if str( $library.unaligned_file ) == "true":
145 #if $compressed == "GZ": 103 #if $compressed == "GZ":
146 --un-gz '${output_unaligned_reads_l}' 104 --un-gz 'unaligned_reads'
147 #else if $compressed == "BZ2": 105 #else if $compressed == "BZ2":
148 --un-bz2 '${output_unaligned_reads_l}' 106 --un-bz2 'unaligned_reads'
149 #else: 107 #else:
150 --un '${output_unaligned_reads_l}' 108 --un 'unaligned_reads'
151 #end if 109 #end if
152 #end if 110 #end if
153 #if str( $library.aligned_file ) == "true": 111 #if str( $library.aligned_file ) == "true":
154 #if $compressed == "GZ": 112 #if $compressed == "GZ":
155 --al-gz '${output_aligned_reads_l}' 113 --al-gz 'aligned_reads'
156 #else if $compressed == "BZ2": 114 #else if $compressed == "BZ2":
157 --al-bz2 '${output_aligned_reads_l}' 115 --al-bz2 'aligned_reads'
158 #else: 116 #else:
159 --al '${output_aligned_reads_l}' 117 --al 'aligned_reads'
160 #end if 118 #end if
161 #end if 119 #end if
162 120
163 #elif str( $library.type ) == "paired_interleaved":
164 --interleaved '${read1}'
165 #if str( $library.unaligned_file ) == "true":
166 #if $compressed == "GZ":
167 --un-gz '${output_unaligned_reads_l}'
168 #else if $compressed == "BZ2":
169 --un-bz2 '${output_unaligned_reads_l}'
170 #else:
171 --un '${output_unaligned_reads_l}'
172 #end if
173 #end if
174 #if str( $library.aligned_file ) == "true":
175 #if $compressed == "GZ":
176 --al-gz '${output_aligned_reads_l}'
177 #else if $compressed == "BZ2":
178 --al-bz2 '${output_aligned_reads_l}'
179 #else:
180 --al '${output_aligned_reads_l}'
181 #end if
182 #end if
183 #else: 121 #else:
184 -1 '${read1}' 122 -1 '${read1}'
185 -2 '${read2}' 123 -2 '${read2}'
186 #if str( $library.unaligned_file ) == "true": 124 #if str( $library.unaligned_file ) == "true":
187 #if $compressed == "GZ": 125 #if $compressed == "GZ":
188 --un-conc-gz '${output_unaligned_reads_l}' 126 --un-conc-gz 'unaligned_reads'
189 #else if $compressed == "BZ2": 127 #else if $compressed == "BZ2":
190 --un-conc-bz2 '${output_unaligned_reads_l}' 128 --un-conc-bz2 'unaligned_reads'
191 #else: 129 #else:
192 --un-conc '${output_unaligned_reads_l}' 130 --un-conc 'unaligned_reads'
193 #end if 131 #end if
194 #end if 132 #end if
195 #if str( $library.aligned_file ) == "true": 133 #if str( $library.aligned_file ) == "true":
196 #if $compressed == "GZ": 134 #if $compressed == "GZ":
197 --al-conc-gz '${output_aligned_reads_l}' 135 --al-conc-gz 'aligned_reads'
198 #else if $compressed == "BZ2": 136 #else if $compressed == "BZ2":
199 --al-conc-bz2 '${output_aligned_reads_l}' 137 --al-conc-bz2 'aligned_reads'
200 #else: 138 #else:
201 --al-conc '${output_aligned_reads_l}' 139 --al-conc 'aligned_reads'
202 #end if 140 #end if
203 #end if 141 #end if
204 #if str( $library.paired_options.paired_options_selector ) == "yes": 142 #if str( $library.paired_options.paired_options_selector ) == "yes":
205 -I ${library.paired_options.I} 143 -I ${library.paired_options.I}
206 -X ${library.paired_options.X} 144 -X ${library.paired_options.X}
215 153
216 ## Read group information. 154 ## Read group information.
217 @define_read_group_helpers@ 155 @define_read_group_helpers@
218 #if str( $library.type ) == "single": 156 #if str( $library.type ) == "single":
219 #set $rg_auto_name = $read_group_name_default($library.input_1) 157 #set $rg_auto_name = $read_group_name_default($library.input_1)
220 #elif str( $library.type ) == "paired":
221 #set $rg_auto_name = $read_group_name_default($library.input_1, $library.input_2)
222 #else 158 #else
223 #set $rg_auto_name = $read_group_name_default($library.input_1) 159 #set $rg_auto_name = $read_group_name_default($library.input_1)
224 #end if 160 #end if
225 @set_use_rg_var@ 161 @set_use_rg_var@
226 @set_read_group_vars@ 162 @set_read_group_vars@
331 #else if $sam_options.reorder: 267 #else if $sam_options.reorder:
332 | samtools view --no-PG -b -o '$output' 268 | samtools view --no-PG -b -o '$output'
333 #else: 269 #else:
334 > '$output' 270 > '$output'
335 #end if 271 #end if
336
337 ## rename unaligned sequence files
338 #if ($library.type == "paired" or $library.type == "paired_collection") and $output_unaligned_reads_l and $output_unaligned_reads_r:
339 #from os.path import splitext
340 #set _unaligned_root, _unaligned_ext = splitext( str( $output_unaligned_reads_l ) )
341 && mv '${ _unaligned_root }.1${_unaligned_ext}' '$output_unaligned_reads_l'
342 && mv '${ _unaligned_root }.2${_unaligned_ext}' '$output_unaligned_reads_r'
343 #end if
344 #if ($library.type == "paired" or $library.type == "paired_collection") and $output_aligned_reads_l and $output_aligned_reads_r:
345 #from os.path import splitext
346 #set _aligned_root, _aligned_ext = splitext( str( $output_aligned_reads_l ) )
347 && mv '${ _aligned_root }.1${_aligned_ext}' '$output_aligned_reads_l'
348 && mv '${ _aligned_root }.2${_aligned_ext}' '$output_aligned_reads_r'
349 #end if
350
351 ]]></command> 272 ]]></command>
352 <inputs> 273 <inputs>
353 <!-- single/paired --> 274 <!-- single/paired -->
354 <conditional name="library"> 275 <conditional name="library">
355 <param name="type" type="select" label="Is this single or paired library"> 276 <param name="type" type="select" label="Is this single or paired library">
356 <option value="single">Single-end</option> 277 <option value="single">Single-end</option>
357 <option value="paired">Paired-end</option> 278 <option value="paired_collection">Paired-end</option>
358 <option value="paired_collection">Paired-end Dataset Collection</option>
359 <option value="paired_interleaved">Paired-end data from single interleaved dataset</option>
360 </param> 279 </param>
361 <when value="single"> 280 <when value="single">
362 <param name="input_1" format="fastqsanger,fastqsanger.gz,fastqsanger.bz2,fasta" type="data" label="FASTA/Q file" help="Must be of datatype &quot;fastqsanger&quot; or &quot;fasta&quot;" /> 281 <param name="input_1" format="fastqsanger,fastqsanger.gz,fastqsanger.bz2,fasta" type="data" label="FASTA/Q file" help="Must be of datatype &quot;fastqsanger&quot; or &quot;fasta&quot;" />
363 <expand macro="align_unalign" /> 282 <expand macro="align_unalign" />
364 </when> 283 </when>
365 <when value="paired">
366 <param name="input_1" format="fastqsanger,fastqsanger.gz,fastqsanger.bz2,fasta" type="data" label="FASTA/Q file #1" help="Must be of datatype &quot;fastqsanger&quot;or &quot;fasta&quot;" />
367 <param name="input_2" format="fastqsanger,fastqsanger.gz,fastqsanger.bz2,fasta" type="data" label="FASTA/Q file #2" help="Must be of datatype &quot;fastqsanger&quot;or &quot;fasta&quot;" />
368 <expand macro="align_unalign" />
369 <expand macro="paired_end_options" />
370 </when>
371 <when value="paired_collection"> 284 <when value="paired_collection">
372 <param name="input_1" format="fastqsanger,fastqsanger.gz,fastqsanger.bz2,fasta" type="data_collection" collection_type="paired" label="FASTQ Paired Dataset" help="Must be of datatype &quot;fastqsanger&quot; or &quot;fasta&quot;" /> 285 <param name="input_1" format="fastqsanger,fastqsanger.gz,fastqsanger.bz2,fasta" type="data_collection" collection_type="paired" label="FASTQ Paired Dataset" help="Must be of datatype &quot;fastqsanger&quot; or &quot;fasta&quot;" />
373 <expand macro="align_unalign" />
374 <expand macro="paired_end_options" />
375 </when>
376 <when value="paired_interleaved">
377 <param name="input_1" format="fastqsanger,fastqsanger.gz,fastqsanger.bz2,fasta" type="data" label="Interleaved FASTQ file" help="Must be of datatype &quot;fastqsanger&quot; or &quot;fasta&quot;. --interleaved"/>
378 <expand macro="align_unalign" /> 286 <expand macro="align_unalign" />
379 <expand macro="paired_end_options" /> 287 <expand macro="paired_end_options" />
380 </when> 288 </when>
381 </conditional> 289 </conditional>
382 <!-- reference genome --> 290 <!-- reference genome -->
554 </conditional> 462 </conditional>
555 <param name="save_mapping_stats" type="boolean" checked="False" label="Save the bowtie2 mapping statistics to the history" /> 463 <param name="save_mapping_stats" type="boolean" checked="False" label="Save the bowtie2 mapping statistics to the history" />
556 </inputs> 464 </inputs>
557 <!-- define outputs --> 465 <!-- define outputs -->
558 <outputs> 466 <outputs>
559 <data format="fastqsanger" name="output_unaligned_reads_l" label="${tool.name} on ${on_string}: unaligned reads (L)" > 467 <data name="output_unaligned_reads" format_source="library|input_1" from_work_dir="unaligned_reads" label="${tool.name} on ${on_string}: unaligned reads" >
560 <filter>library['unaligned_file'] is True</filter> 468 <filter>library['type'] == 'single' and library['unaligned_file'] is True</filter>
561 <actions> 469 <actions>
562 <conditional name="library.type">
563 <when value="single">
564 <action type="format">
565 <option type="from_param" name="library.input_1" param_attribute="ext" />
566 </action>
567 </when>
568 <when value="paired">
569 <action type="format">
570 <option type="from_param" name="library.input_1" param_attribute="ext" />
571 </action>
572 </when>
573 <when value="paired_collection">
574 <action type="format">
575 <option type="from_param" name="library.input_1" param_attribute="forward.ext" />
576 </action>
577 </when>
578 </conditional>
579 <expand macro="dbKeyActions" /> 470 <expand macro="dbKeyActions" />
580 </actions> 471 </actions>
581 </data> 472 </data>
582 <data format="fastqsanger" name="output_aligned_reads_l" label="${tool.name} on ${on_string}: aligned reads (L)" > 473 <collection name="output_unaligned_read_pairs" type="paired" label="${tool.name} on ${on_string}: unaligned read pairs">
583 <filter>library['aligned_file'] is True</filter> 474 <filter>library['type'] != 'single' and library['unaligned_file'] is True</filter>
475 <data name="forward" from_work_dir="unaligned_reads.1" format_source="library|input_1['forward']">
476 <actions>
477 <expand macro="dbKeyActions" />
478 </actions>
479 </data>
480 <data name="reverse" from_work_dir="unaligned_reads.2" format_source="library|input_1['reverse']">
481 <actions>
482 <expand macro="dbKeyActions" />
483 </actions>
484 </data>
485 </collection>
486
487 <data name="output_aligned_reads" format_source="library|input_1" from_work_dir="aligned_reads" label="${tool.name} on ${on_string}: aligned reads" >
488 <filter>library['type'] == 'single' and library['aligned_file'] is True</filter>
584 <actions> 489 <actions>
585 <conditional name="library.type">
586 <when value="single">
587 <action type="format">
588 <option type="from_param" name="library.input_1" param_attribute="ext" />
589 </action>
590 </when>
591 <when value="paired">
592 <action type="format">
593 <option type="from_param" name="library.input_1" param_attribute="ext" />
594 </action>
595 </when>
596 <when value="paired_collection">
597 <action type="format">
598 <option type="from_param" name="library.input_1" param_attribute="forward.ext" />
599 </action>
600 </when>
601 </conditional>
602 <expand macro="dbKeyActions" /> 490 <expand macro="dbKeyActions" />
603 </actions> 491 </actions>
604 </data> 492 </data>
605 <data format="fastqsanger" name="output_aligned_reads_r" label="${tool.name} on ${on_string}: aligned reads (R)"> 493 <collection name="output_aligned_read_pairs" type="paired" label="${tool.name} on ${on_string}: aligned read pairs">
606 <filter>( library['type'] == "paired" or library['type'] == "paired_collection" ) and library['aligned_file'] is True</filter> 494 <filter>library['type'] != 'single' and library['aligned_file'] is True</filter>
607 <actions> 495 <data name="forward" from_work_dir="aligned_reads.1" format_source="library|input_1['forward']">
608 <conditional name="library.type"> 496 <actions>
609 <when value="paired"> 497 <expand macro="dbKeyActions" />
610 <action type="format"> 498 </actions>
611 <option type="from_param" name="library.input_2" param_attribute="ext" /> 499 </data>
612 </action> 500 <data name="reverse" from_work_dir="aligned_reads.2" format_source="library|input_1['forward']">
613 </when> 501 <actions>
614 <when value="paired_collection"> 502 <expand macro="dbKeyActions" />
615 <action type="format"> 503 </actions>
616 <option type="from_param" name="library.input_1" param_attribute="reverse.ext" /> 504 </data>
617 </action> 505 </collection>
618 </when> 506
619 </conditional> 507 <data name="output" format="bam" label="${tool.name} on ${on_string}: alignments">
620 <expand macro="dbKeyActions" />
621 </actions>
622 </data>
623 <data format="fastqsanger" name="output_unaligned_reads_r" label="${tool.name} on ${on_string}: unaligned reads (R)">
624 <filter>( library['type'] == "paired" or library['type'] == "paired_collection" ) and library['unaligned_file'] is True</filter>
625 <actions>
626 <conditional name="library.type">
627 <when value="paired">
628 <action type="format">
629 <option type="from_param" name="library.input_2" param_attribute="ext" />
630 </action>
631 </when>
632 <when value="paired_collection">
633 <action type="format">
634 <option type="from_param" name="library.input_1" param_attribute="reverse.ext" />
635 </action>
636 </when>
637 </conditional>
638 <expand macro="dbKeyActions" />
639 </actions>
640 </data>
641 <data format="bam" name="output" label="${tool.name} on ${on_string}: alignments">
642 <change_format> 508 <change_format>
643 <when input="sam_options.reorder" value="--reorder" format="qname_input_sorted.bam" /> 509 <when input="sam_options.reorder" value="--reorder" format="qname_input_sorted.bam" />
644 <when input="sam_options.sam_opt" value="true" format="sam" /> 510 <when input="sam_options.sam_opt" value="true" format="sam" />
645 </change_format> 511 </change_format>
646 <actions> 512 <actions>
668 <expand macro="dbKeyActions" /> 534 <expand macro="dbKeyActions" />
669 </actions> 535 </actions>
670 </data> 536 </data>
671 </outputs> 537 </outputs>
672 <tests> 538 <tests>
539 <!-- test on single-end datasets -->
540 <test expect_num_outputs="2">
541 <conditional name="library">
542 <param name="type" value="single"/>
543 <param name="unaligned_file" value="true"/>
544 <param name="input_1" value="bowtie2-fq1.fq" ftype="fastqsanger" />
545 </conditional>
546 <conditional name="reference_genome">
547 <param name="source" value="history" />
548 <param name="own_file" value="bowtie2-ref.fasta" />
549 </conditional>
550 <conditional name="analysis_type">
551 <param name="analysis_type_selector" value="simple"/>
552 </conditional>
553 <output name="output_unaligned_reads" ftype="fastqsanger">
554 <assert_contents>
555 <has_n_lines n="312"/>
556 </assert_contents>
557 </output>
558 <output name="output" file="bowtie2-single.bam" ftype="bam" lines_diff="4" sort="true">
559 <metadata name="sort_order" value="coordinate"/>
560 </output>
561 </test>
562 <!-- test on paired-end datasets -->
673 <test expect_num_outputs="1"> 563 <test expect_num_outputs="1">
674 <!-- test on paired-end datasets --> 564 <conditional name="library">
675 <param name="type" value="paired"/> 565 <param name="type" value="paired_collection"/>
676 <param name="paired_options_selector" value="no"/> 566 <conditional name="paired_options">
677 <param name="unaligned_file" value="false"/> 567 <param name="paired_options_selector" value="no"/>
678 <param name="analysis_type_selector" value="simple"/> 568 </conditional>
679 <param name="source" value="history" /> 569 <param name="unaligned_file" value="false"/>
680 <param name="input_1" value="bowtie2-fq1.fq" ftype="fastqsanger"/> 570 <param name="input_1">
681 <param name="input_2" value="bowtie2-fq2.fq" ftype="fastqsanger"/> 571 <collection type="paired">
682 <param name="own_file" value="bowtie2-ref.fasta" /> 572 <element name="forward" value="bowtie2-fq1.fq" ftype="fastqsanger" />
573 <element name="reverse" value="bowtie2-fq2.fq" ftype="fastqsanger" />
574 </collection>
575 </param>
576 </conditional>
577 <conditional name="reference_genome">
578 <param name="source" value="history" />
579 <param name="own_file" value="bowtie2-ref.fasta" />
580 </conditional>
581 <conditional name="analysis_type">
582 <param name="analysis_type_selector" value="simple"/>
583 </conditional>
683 <output name="output" file="bowtie2-test1.bam" ftype="bam" lines_diff="4" sort="true"> 584 <output name="output" file="bowtie2-test1.bam" ftype="bam" lines_diff="4" sort="true">
684 <metadata name="sort_order" value="coordinate"/> 585 <metadata name="sort_order" value="coordinate"/>
685 </output> 586 </output>
686 </test> 587 </test>
687 <test expect_num_outputs="3"> 588 <!-- test on paired-end datasets + unaligned output -->
688 <!-- test on list paired collection --> 589 <test expect_num_outputs="4">
689 <param name="type" value="paired_collection"/> 590 <conditional name="library">
690 <param name="paired_options_selector" value="no"/> 591 <param name="type" value="paired_collection"/>
691 <param name="unaligned_file" value="true"/> 592 <conditional name="paired_options">
692 <param name="analysis_type_selector" value="simple"/> 593 <param name="paired_options_selector" value="no"/>
693 <param name="source" value="history" /> 594 </conditional>
694 <param name="input_1"> 595 <param name="unaligned_file" value="true"/>
695 <collection type="paired"> 596 <param name="input_1">
696 <element name="forward" value="bowtie2-fq1.fq" ftype="fastqsanger" /> 597 <collection type="paired">
697 <element name="reverse" value="bowtie2-fq2.fq" ftype="fastqsanger" /> 598 <element name="forward" value="bowtie2-fq1.fq" ftype="fastqsanger" />
698 </collection> 599 <element name="reverse" value="bowtie2-fq2.fq" ftype="fastqsanger" />
699 </param> 600 </collection>
700 <param name="own_file" value="bowtie2-ref.fasta" /> 601 </param>
602 </conditional>
603 <conditional name="reference_genome">
604 <param name="source" value="history" />
605 <param name="own_file" value="bowtie2-ref.fasta" />
606 </conditional>
607 <conditional name="analysis_type">
608 <param name="analysis_type_selector" value="simple"/>
609 </conditional>
610 <output_collection name="output_unaligned_read_pairs" type="paired">
611 <element name="forward" ftype="fastqsanger">
612 <assert_contents>
613 <has_n_lines n="388"/>
614 </assert_contents>
615 </element>
616 <element name="reverse" ftype="fastqsanger">
617 <assert_contents>
618 <has_n_lines n="388"/>
619 </assert_contents>
620 </element>
621 </output_collection>
701 <output name="output" file="bowtie2-test1.bam" ftype="bam" lines_diff="4" sort="true"> 622 <output name="output" file="bowtie2-test1.bam" ftype="bam" lines_diff="4" sort="true">
702 <metadata name="sort_order" value="coordinate"/> 623 <metadata name="sort_order" value="coordinate"/>
703 </output> 624 </output>
704 </test> 625 </test>
705 <test expect_num_outputs="1"> 626 <test expect_num_outputs="1">
706 <!-- test on paired-end datasets with read group info --> 627 <!-- test on paired-end datasets with read group info -->
707 <param name="type" value="paired"/> 628 <conditional name="library">
708 <param name="paired_options_selector" value="no"/> 629 <param name="type" value="paired_collection"/>
709 <param name="unaligned_file" value="false"/> 630 <conditional name="paired_options">
710 <param name="analysis_type_selector" value="simple"/> 631 <param name="paired_options_selector" value="no"/>
711 <param name="rg_selector" value="set"/> 632 </conditional>
712 <param name="ID" value="rg1"/> 633 <param name="unaligned_file" value="false"/>
713 <param name="PL" value="CAPILLARY"/> 634 <param name="input_1">
714 <param name="source" value="history" /> 635 <collection type="paired">
715 <param name="input_1" value="bowtie2-fq1.fq" ftype="fastqsanger"/> 636 <element name="forward" value="bowtie2-fq1.fq" ftype="fastqsanger" />
716 <param name="input_2" value="bowtie2-fq2.fq" ftype="fastqsanger"/> 637 <element name="reverse" value="bowtie2-fq2.fq" ftype="fastqsanger" />
717 <param name="own_file" value="bowtie2-ref.fasta" /> 638 </collection>
718 <output name="output" file="bowtie2-test2.bam" ftype="bam" lines_diff="4" sort="true"> 639 </param>
719 <metadata name="sort_order" value="coordinate"/> 640 </conditional>
641 <conditional name="reference_genome">
642 <param name="source" value="history" />
643 <param name="own_file" value="bowtie2-ref.fasta" />
644 </conditional>
645 <conditional name="analysis_type">
646 <param name="analysis_type_selector" value="simple"/>
647 </conditional>
648 <conditional name="sam_options">
649 <param name="sam_options_selector" value="yes" />
650 <param name="sam_opt" value="true" />
651 </conditional>
652 <conditional name="rg">
653 <param name="rg_selector" value="set"/>
654 <conditional name="read_group_id_conditional">
655 <param name="do_auto_name" value="no"/>
656 <param name="ID" value="rg1"/>
657 </conditional>
658 <param name="PL" value="CAPILLARY"/>
659 </conditional>
660 <output name="output" ftype="sam" lines_diff="4" sort="true">
661 <metadata name="sort_order" value="unsorted"/>
662 <assert_contents>
663 <has_line line="@RG&#009;ID:rg1&#009;PL:CAPILLARY"/>
664 <has_text text="RG:Z:rg1" n="200"/>
665 </assert_contents>
720 </output> 666 </output>
721 </test> 667 </test>
668 <!-- test on paired-end datasets with stats output -->
722 <test expect_num_outputs="2"> 669 <test expect_num_outputs="2">
723 <!-- test on paired-end datasets with stats output --> 670 <conditional name="library">
724 <param name="type" value="paired"/> 671 <param name="type" value="paired_collection"/>
725 <param name="paired_options_selector" value="no"/> 672 <conditional name="paired_options">
726 <param name="unaligned_file" value="false"/> 673 <param name="paired_options_selector" value="no"/>
727 <param name="analysis_type_selector" value="simple"/> 674 </conditional>
728 <param name="source" value="history" /> 675 <param name="unaligned_file" value="false"/>
729 <param name="input_1" value="bowtie2-fq1.fq" ftype="fastqsanger"/> 676 <param name="input_1">
730 <param name="input_2" value="bowtie2-fq2.fq" ftype="fastqsanger"/> 677 <collection type="paired">
731 <param name="own_file" value="bowtie2-ref.fasta" /> 678 <element name="forward" value="bowtie2-fq1.fq" ftype="fastqsanger" />
679 <element name="reverse" value="bowtie2-fq2.fq" ftype="fastqsanger" />
680 </collection>
681 </param>
682 </conditional>
683 <conditional name="reference_genome">
684 <param name="source" value="history" />
685 <param name="own_file" value="bowtie2-ref.fasta" />
686 </conditional>
687 <conditional name="analysis_type">
688 <param name="analysis_type_selector" value="simple"/>
689 </conditional>
732 <param name="save_mapping_stats" value="true" /> 690 <param name="save_mapping_stats" value="true" />
733 <output name="output" file="bowtie2-test1.bam" ftype="bam" lines_diff="4" sort="true"> 691 <output name="output" file="bowtie2-test1.bam" ftype="bam" lines_diff="4" sort="true">
734 <metadata name="sort_order" value="coordinate"/> 692 <metadata name="sort_order" value="coordinate"/>
735 </output> 693 </output>
736 <output name="mapping_stats"> 694 <output name="mapping_stats">
737 <assert_contents> 695 <assert_contents>
738 <has_text text="of these" /> 696 <has_text text="of these" />
739 </assert_contents> 697 </assert_contents>
740 </output> 698 </output>
741 </test> 699 </test>
742 <test expect_num_outputs="1"> 700 <!-- test on fastqsanger.gz paired-end datasets plus reference from data table -->
743 <!-- test on interleaved dataset --> 701 <test expect_num_outputs="4">
744 <param name="type" value="paired_interleaved"/> 702 <conditional name="library">
745 <!-- <param name="paired_options_selector" value="no"/> --> 703 <param name="type" value="paired_collection"/>
746 <param name="unaligned_file" value="false"/> 704 <conditional name="paired_options">
747 <param name="analysis_type_selector" value="simple"/> 705 <param name="paired_options_selector" value="no"/>
748 <param name="rg_selector" value="set"/> 706 </conditional>
749 <param name="ID" value="rg1"/> 707 <param name="unaligned_file" value="true"/>
750 <param name="PL" value="CAPILLARY"/> 708 <param name="input_1">
751 <param name="source" value="history" /> 709 <collection type="paired">
752 <param name="input_1" value="bowtie2-fq_il.fq" ftype="fastqsanger"/> 710 <element name="forward" value="bowtie2-fq1.fq.gz" ftype="fastqsanger.gz" />
753 <param name="own_file" value="bowtie2-ref.fasta" /> 711 <element name="reverse" value="bowtie2-fq2.fq.gz" ftype="fastqsanger.gz" />
754 <output name="output" file="bowtie2-test_il.bam" ftype="bam" lines_diff="4" sort="true"> 712 </collection>
755 <metadata name="sort_order" value="coordinate"/> 713 </param>
756 </output> 714 </conditional>
757 </test> 715 <conditional name="analysis_type">
758 <test expect_num_outputs="1"> 716 <param name="analysis_type_selector" value="simple"/>
759 <!-- test on fastqsanger.gz paired-end datasets --> 717 </conditional>
760 <param name="type" value="paired"/> 718 <conditional name="reference_genome">
761 <param name="paired_options_selector" value="no"/> 719 <param name="source" value="indexed" />
762 <param name="unaligned_file" value="false"/> 720 <param name="index" value="test_value" />
763 <param name="analysis_type_selector" value="simple"/> 721 </conditional>
764 <param name="source" value="history" />
765 <param name="input_1" value="bowtie2-fq1.fq.gz" ftype="fastqsanger.gz"/>
766 <param name="input_2" value="bowtie2-fq2.fq.gz" ftype="fastqsanger.gz"/>
767 <param name="own_file" value="bowtie2-ref.fasta" />
768 <output name="output" file="bowtie2-test1.bam" ftype="bam" lines_diff="4" sort="true"> 722 <output name="output" file="bowtie2-test1.bam" ftype="bam" lines_diff="4" sort="true">
769 <metadata name="sort_order" value="coordinate"/> 723 <metadata name="sort_order" value="coordinate"/>
770 </output> 724 </output>
725 <output_collection name="output_unaligned_read_pairs" type="paired">
726 <element name="forward" ftype="fastqsanger.gz" decompress="true">
727 <assert_contents>
728 <has_n_lines n="388"/>
729 </assert_contents>
730 </element>
731 <element name="reverse" ftype="fastqsanger.gz" decompress="true">
732 <assert_contents>
733 <has_n_lines n="388"/>
734 </assert_contents>
735 </element>
736 </output_collection>
771 </test> 737 </test>
772 <test expect_num_outputs="1"> 738 <!-- test on fastqsanger.bz2 paired-end datasets -->
773 <!-- test on fastqsanger.bz2 paired-end datasets --> 739 <test expect_num_outputs="4">
774 <param name="type" value="paired"/> 740 <conditional name="library">
775 <param name="paired_options_selector" value="no"/> 741 <param name="type" value="paired_collection"/>
776 <param name="unaligned_file" value="false"/> 742 <conditional name="paired_options">
777 <param name="analysis_type_selector" value="simple"/> 743 <param name="paired_options_selector" value="no"/>
778 <param name="source" value="history" /> 744 </conditional>
779 <param name="input_1" value="bowtie2-fq1.fq.bz2" ftype="fastqsanger.bz2"/> 745 <param name="aligned_file" value="true"/>
780 <param name="input_2" value="bowtie2-fq2.fq.bz2" ftype="fastqsanger.bz2"/> 746 <param name="input_1">
781 <param name="own_file" value="bowtie2-ref.fasta" /> 747 <collection type="paired">
748 <element name="forward" value="bowtie2-fq1.fq.bz2" ftype="fastqsanger.bz2" />
749 <element name="reverse" value="bowtie2-fq2.fq.bz2" ftype="fastqsanger.bz2" />
750 </collection>
751 </param>
752 </conditional>
753 <conditional name="reference_genome">
754 <param name="source" value="history" />
755 <param name="own_file" value="bowtie2-ref.fasta" />
756 </conditional>
757 <conditional name="analysis_type">
758 <param name="analysis_type_selector" value="simple"/>
759 </conditional>
782 <output name="output" file="bowtie2-test1.bam" ftype="bam" lines_diff="4" sort="true"> 760 <output name="output" file="bowtie2-test1.bam" ftype="bam" lines_diff="4" sort="true">
783 <metadata name="sort_order" value="coordinate"/> 761 <metadata name="sort_order" value="coordinate"/>
784 </output> 762 </output>
763 <output_collection name="output_aligned_read_pairs" type="paired">
764 <element name="forward" ftype="fastqsanger.bz2" decompress="true">
765 <assert_contents>
766 <has_n_lines n="12"/>
767 </assert_contents>
768 </element>
769 <element name="reverse" ftype="fastqsanger.bz2" decompress="true">
770 <assert_contents>
771 <has_n_lines n="12"/>
772 </assert_contents>
773 </element>
774 </output_collection>
785 </test> 775 </test>
786 <test expect_num_outputs="1"> 776 <!-- test on fasta paired-end datasets + aligned + unaligned -->
787 <!-- test on fasta paired-end datasets --> 777 <test expect_num_outputs="7">
788 <param name="type" value="paired"/> 778 <conditional name="library">
789 <param name="paired_options_selector" value="no"/> 779 <param name="type" value="paired_collection"/>
790 <param name="unaligned_file" value="false"/> 780 <conditional name="paired_options">
791 <param name="analysis_type_selector" value="simple"/> 781 <param name="paired_options_selector" value="no"/>
792 <param name="source" value="history" /> 782 </conditional>
793 <param name="input_1" value="bowtie2-fq1.fa" ftype="fasta"/> 783 <param name="unaligned_file" value="true"/>
794 <param name="input_2" value="bowtie2-fq2.fa" ftype="fasta"/> 784 <param name="aligned_file" value="true"/>
795 <param name="own_file" value="bowtie2-ref.fasta" /> 785 <param name="input_1">
786 <collection type="paired">
787 <element name="forward" value="bowtie2-fq1.fa" ftype="fasta" />
788 <element name="reverse" value="bowtie2-fq2.fa" ftype="fasta" />
789 </collection>
790 </param>
791 </conditional>
792 <conditional name="reference_genome">
793 <param name="source" value="history" />
794 <param name="own_file" value="bowtie2-ref.fasta" />
795 </conditional>
796 <conditional name="analysis_type">
797 <param name="analysis_type_selector" value="simple"/>
798 </conditional>
799
800 <output_collection name="output_unaligned_read_pairs" type="paired">
801 <element name="forward" ftype="fasta" decompress="true">
802 <assert_contents>
803 <has_n_lines n="194"/>
804 </assert_contents>
805 </element>
806 <element name="reverse" ftype="fasta" decompress="true">
807 <assert_contents>
808 <has_n_lines n="194"/>
809 </assert_contents>
810 </element>
811 </output_collection>
812 <output_collection name="output_aligned_read_pairs" type="paired">
813 <element name="forward" ftype="fasta" decompress="true">
814 <assert_contents>
815 <has_n_lines n="6"/>
816 </assert_contents>
817 </element>
818 <element name="reverse" ftype="fasta" decompress="true">
819 <assert_contents>
820 <has_n_lines n="6"/>
821 </assert_contents>
822 </element>
823 </output_collection>
824
796 <output name="output" file="bowtie2-test_fasta_in.bam" ftype="bam" lines_diff="4" sort="true"> 825 <output name="output" file="bowtie2-test_fasta_in.bam" ftype="bam" lines_diff="4" sort="true">
797 <metadata name="sort_order" value="coordinate"/> 826 <metadata name="sort_order" value="coordinate"/>
798 </output> 827 </output>
799 </test> 828 </test>
829 <!-- test on fasta paired-end datasets with bam_native as output -->
800 <test expect_num_outputs="1"> 830 <test expect_num_outputs="1">
801 <!-- test on fasta paired-end datasets with bam_native as output --> 831 <conditional name="library">
802 <param name="type" value="paired"/> 832 <param name="type" value="paired_collection"/>
803 <param name="paired_options_selector" value="no"/> 833 <conditional name="paired_options">
804 <param name="unaligned_file" value="false"/> 834 <param name="paired_options_selector" value="no"/>
805 <param name="analysis_type_selector" value="simple"/> 835 </conditional>
806 <param name="source" value="history" /> 836 <param name="unaligned_file" value="false"/>
807 <param name="input_1" value="bowtie2-fq1.fa" ftype="fasta"/> 837 <param name="input_1">
808 <param name="input_2" value="bowtie2-fq2.fa" ftype="fasta"/> 838 <collection type="paired">
809 <param name="own_file" value="bowtie2-ref.fasta" /> 839 <element name="forward" value="bowtie2-fq1.fa" ftype="fasta" />
810 <param name="sam_options_selector" value="yes" /> 840 <element name="reverse" value="bowtie2-fq2.fa" ftype="fasta" />
811 <param name="reorder" value="true" /> 841 </collection>
842 </param>
843 </conditional>
844 <conditional name="analysis_type">
845 <param name="analysis_type_selector" value="simple"/>
846 </conditional>
847 <conditional name="reference_genome">
848 <param name="source" value="history" />
849 <param name="own_file" value="bowtie2-ref.fasta" />
850 </conditional>
851 <conditional name="sam_options">
852 <param name="sam_options_selector" value="yes" />
853 <param name="reorder" value="true" />
854 </conditional>
812 <output name="output" file="bowtie2-test_fasta_in_bam_qname_input_sorted.bam" ftype="qname_input_sorted.bam" lines_diff="4"> 855 <output name="output" file="bowtie2-test_fasta_in_bam_qname_input_sorted.bam" ftype="qname_input_sorted.bam" lines_diff="4">
813 <metadata name="sort_order" value="unsorted"/> 856 <metadata name="sort_order" value="unsorted"/>
814 </output> 857 </output>
815 </test> 858 </test>
859 <!-- test on fasta paired-end datasets with sam as output -->
816 <test expect_num_outputs="1"> 860 <test expect_num_outputs="1">
817 <!-- test on fasta paired-end datasets with sam as output --> 861 <conditional name="library">
818 <param name="type" value="paired"/> 862 <param name="type" value="paired_collection"/>
819 <param name="paired_options_selector" value="no"/> 863 <conditional name="paired_options">
820 <param name="unaligned_file" value="false"/> 864 <param name="paired_options_selector" value="no"/>
821 <param name="analysis_type_selector" value="simple"/> 865 </conditional>
822 <param name="source" value="history" /> 866 <param name="unaligned_file" value="false"/>
823 <param name="input_1" value="bowtie2-fq1.fa" ftype="fasta"/> 867 <param name="input_1">
824 <param name="input_2" value="bowtie2-fq2.fa" ftype="fasta"/> 868 <collection type="paired">
825 <param name="own_file" value="bowtie2-ref.fasta" /> 869 <element name="forward" value="bowtie2-fq1.fa" ftype="fasta" />
826 <param name="sam_options_selector" value="yes" /> 870 <element name="reverse" value="bowtie2-fq2.fa" ftype="fasta" />
827 <param name="sam_options|sam_opt" value="true" /> 871 </collection>
872 </param>
873 </conditional>
874 <conditional name="analysis_type">
875 <param name="analysis_type_selector" value="simple"/>
876 </conditional>
877 <conditional name="reference_genome">
878 <param name="source" value="history" />
879 <param name="own_file" value="bowtie2-ref.fasta" />
880 </conditional>
881 <conditional name="sam_options">
882 <param name="sam_options_selector" value="yes" />
883 <param name="sam_opt" value="true" />
884 </conditional>
828 <output name="output" ftype="sam"> 885 <output name="output" ftype="sam">
829 <metadata name="sort_order" value="unsorted"/> 886 <metadata name="sort_order" value="unsorted"/>
830 <assert_contents> 887 <assert_contents>
831 <has_text text="M01368:8:000000000-A3GHV:1:1101:6911:8255" /> 888 <has_text text="M01368:8:000000000-A3GHV:1:1101:6911:8255" />
832 </assert_contents> 889 </assert_contents>