comparison bowtie2_wrapper.xml @ 33:c3d19e7ee879 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:36:57 +0000
parents 6b4916819621
children
comparison
equal deleted inserted replaced
32:6b4916819621 33:c3d19e7ee879
1 <tool id="bowtie2" name="Bowtie2" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.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.16.1">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"
66 #set reads_are_fastq = False 39 #set reads_are_fastq = False
67 #set read1 = "input_f.fasta" 40 #set read1 = "input_f.fasta"
68 #else: 41 #else:
69 #set read1 = "input_f.fastq" 42 #set read1 = "input_f.fastq"
70 #end if 43 #end if
71 ln -s '${library.input_1.forward}' ${read1} && 44 ln -f -s '${library.input_1.forward}' ${read1} &&
72 45
73 #if $library.input_1.reverse.is_of_type("fastq.gz", "fastqsanger.gz"): 46 #if $library.input_1.reverse.is_of_type("fastq.gz", "fastqsanger.gz"):
74 #set read2 = "input_r.fastq.gz" 47 #set read2 = "input_r.fastq.gz"
75 #set compressed = "GZ" 48 #set compressed = "GZ"
76 #else if $library.input_1.reverse.is_of_type("fastq.bz2", "fastqsanger.bz2"): 49 #else if $library.input_1.reverse.is_of_type("fastq.bz2", "fastqsanger.bz2"):
79 #else if $library.input_1.reverse.is_of_type("fasta"): 52 #else if $library.input_1.reverse.is_of_type("fasta"):
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 -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 -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"):
108 #set reads_are_fastq = False 66 #set reads_are_fastq = False
109 #set read1 = "input_f.fasta" 67 #set read1 = "input_f.fasta"
110 #else: 68 #else:
111 #set read1 = "input_f.fastq" 69 #set read1 = "input_f.fastq"
112 #end if 70 #end if
113 ln -s '${library.input_1}' ${read1} && 71 ln -f -s '${library.input_1}' ${read1} &&
114 #end if 72 #end if
115 73
74
75 ## compute number of threads to be used for bowtie2
76 ## the bowtie parameter -p specifies the number of alignment threads to use (in
77 ## addition to a control thread) # just using GALAXY_SLOTS will lead to
78 ## overcommiting ressources (in particular because there may be a samtools sort or view
79 ## running in parallel).
80 ## for now we use one thread less than GALAXY_SLOTS
81 THREADS=\${GALAXY_SLOTS:-4} &&
82 if [ "\$THREADS" -gt 1 ]; then (( THREADS-- )); fi &&
83
116 ## execute bowtie2 84 ## execute bowtie2
117 85
118 bowtie2 86 bowtie2
119 87
120 ## number of threads 88 ## number of threads
121 -p \${GALAXY_SLOTS:-4} 89 -p "\$THREADS"
122 90
123 ## index file path 91 ## index file path
124 -x '$index_path' 92 -x '$index_path'
125 93
126 ## Input reads are fasta? 94 ## Input reads are fasta?
131 ## Input reads 99 ## Input reads
132 #if str( $library.type ) == "single": 100 #if str( $library.type ) == "single":
133 -U '${read1}' 101 -U '${read1}'
134 #if str( $library.unaligned_file ) == "true": 102 #if str( $library.unaligned_file ) == "true":
135 #if $compressed == "GZ": 103 #if $compressed == "GZ":
136 --un-gz '${output_unaligned_reads_l}' 104 --un-gz 'unaligned_reads'
137 #else if $compressed == "BZ2": 105 #else if $compressed == "BZ2":
138 --un-bz2 '${output_unaligned_reads_l}' 106 --un-bz2 'unaligned_reads'
139 #else: 107 #else:
140 --un '${output_unaligned_reads_l}' 108 --un 'unaligned_reads'
141 #end if 109 #end if
142 #end if 110 #end if
143 #if str( $library.aligned_file ) == "true": 111 #if str( $library.aligned_file ) == "true":
144 #if $compressed == "GZ": 112 #if $compressed == "GZ":
145 --al-gz '${output_aligned_reads_l}' 113 --al-gz 'aligned_reads'
146 #else if $compressed == "BZ2": 114 #else if $compressed == "BZ2":
147 --al-bz2 '${output_aligned_reads_l}' 115 --al-bz2 'aligned_reads'
148 #else: 116 #else:
149 --al '${output_aligned_reads_l}' 117 --al 'aligned_reads'
150 #end if 118 #end if
151 #end if 119 #end if
152 120
153 #elif str( $library.type ) == "paired_interleaved":
154 --interleaved '${read1}'
155 #if str( $library.unaligned_file ) == "true":
156 #if $compressed == "GZ":
157 --un-gz '${output_unaligned_reads_l}'
158 #else if $compressed == "BZ2":
159 --un-bz2 '${output_unaligned_reads_l}'
160 #else:
161 --un '${output_unaligned_reads_l}'
162 #end if
163 #end if
164 #if str( $library.aligned_file ) == "true":
165 #if $compressed == "GZ":
166 --al-gz '${output_aligned_reads_l}'
167 #else if $compressed == "BZ2":
168 --al-bz2 '${output_aligned_reads_l}'
169 #else:
170 --al '${output_aligned_reads_l}'
171 #end if
172 #end if
173 #else: 121 #else:
174 -1 '${read1}' 122 -1 '${read1}'
175 -2 '${read2}' 123 -2 '${read2}'
176 #if str( $library.unaligned_file ) == "true": 124 #if str( $library.unaligned_file ) == "true":
177 #if $compressed == "GZ": 125 #if $compressed == "GZ":
178 --un-conc-gz '${output_unaligned_reads_l}' 126 --un-conc-gz 'unaligned_reads'
179 #else if $compressed == "BZ2": 127 #else if $compressed == "BZ2":
180 --un-conc-bz2 '${output_unaligned_reads_l}' 128 --un-conc-bz2 'unaligned_reads'
181 #else: 129 #else:
182 --un-conc '${output_unaligned_reads_l}' 130 --un-conc 'unaligned_reads'
183 #end if 131 #end if
184 #end if 132 #end if
185 #if str( $library.aligned_file ) == "true": 133 #if str( $library.aligned_file ) == "true":
186 #if $compressed == "GZ": 134 #if $compressed == "GZ":
187 --al-conc-gz '${output_aligned_reads_l}' 135 --al-conc-gz 'aligned_reads'
188 #else if $compressed == "BZ2": 136 #else if $compressed == "BZ2":
189 --al-conc-bz2 '${output_aligned_reads_l}' 137 --al-conc-bz2 'aligned_reads'
190 #else: 138 #else:
191 --al-conc '${output_aligned_reads_l}' 139 --al-conc 'aligned_reads'
192 #end if 140 #end if
193 #end if 141 #end if
194 #if str( $library.paired_options.paired_options_selector ) == "yes": 142 #if str( $library.paired_options.paired_options_selector ) == "yes":
195 -I ${library.paired_options.I} 143 -I ${library.paired_options.I}
196 -X ${library.paired_options.X} 144 -X ${library.paired_options.X}
205 153
206 ## Read group information. 154 ## Read group information.
207 @define_read_group_helpers@ 155 @define_read_group_helpers@
208 #if str( $library.type ) == "single": 156 #if str( $library.type ) == "single":
209 #set $rg_auto_name = $read_group_name_default($library.input_1) 157 #set $rg_auto_name = $read_group_name_default($library.input_1)
210 #elif str( $library.type ) == "paired":
211 #set $rg_auto_name = $read_group_name_default($library.input_1, $library.input_2)
212 #else 158 #else
213 #set $rg_auto_name = $read_group_name_default($library.input_1) 159 #set $rg_auto_name = $read_group_name_default($library.input_1)
214 #end if 160 #end if
215 @set_use_rg_var@ 161 @set_use_rg_var@
216 @set_read_group_vars@ 162 @set_read_group_vars@
301 ${sam_options.reorder} 247 ${sam_options.reorder}
302 #end if 248 #end if
303 249
304 ## mapping stats (i.e. stderr from bowtie2) 250 ## mapping stats (i.e. stderr from bowtie2)
305 #if $save_mapping_stats 251 #if $save_mapping_stats
306 2> '$mapping_stats' 252 2> >(tee '$mapping_stats' >&2)
307 #end if 253 #end if
308 254
309 ## output file 255 ## output file
310 #if str( $sam_options.sam_options_selector ) == "no" or (str( $sam_options.sam_opt ) == "false" and str($sam_options.reorder) == ''): 256 #if str( $sam_options.sam_options_selector ) == "no" or (str( $sam_options.sam_opt ) == "false" and str($sam_options.reorder) == ''):
311 | samtools sort --no-PG -@\${GALAXY_SLOTS:-2} -T "\${TMPDIR:-.}" -O bam -o '$output' 257 ## Convert SAM output to sorted BAM
258 ## using the two pipe stages has the following effect
259 ## - mapping and sorting run in parallel, during this time sort produces
260 ## presorted temporary files but does not produce output (hence
261 ## view does not run)
262 ## - once mapping is finished sort will start to merge the temporary
263 ## files (which should be fast also on a single thread) gives the
264 ## sorted output to view which only compresses the files (now
265 ## using full parallelism again)
266 | samtools sort -l 0 -T "\${TMPDIR:-.}" -O bam | samtools view --no-PG -O bam -@ \${GALAXY_SLOTS:-1} -o '$output'
312 #else if $sam_options.reorder: 267 #else if $sam_options.reorder:
313 | samtools view --no-PG -bS - -o '$output' 268 | samtools view --no-PG -b -o '$output'
314 #else: 269 #else:
315 > '$output' 270 > '$output'
316 #end if 271 #end if
317
318 ## rename unaligned sequence files
319 #if ($library.type == "paired" or $library.type == "paired_collection") and $output_unaligned_reads_l and $output_unaligned_reads_r:
320 #from os.path import splitext
321 #set _unaligned_root, _unaligned_ext = splitext( str( $output_unaligned_reads_l ) )
322 && mv '${ _unaligned_root }.1${_unaligned_ext}' '$output_unaligned_reads_l'
323 && mv '${ _unaligned_root }.2${_unaligned_ext}' '$output_unaligned_reads_r'
324 #end if
325 #if ($library.type == "paired" or $library.type == "paired_collection") and $output_aligned_reads_l and $output_aligned_reads_r:
326 #from os.path import splitext
327 #set _aligned_root, _aligned_ext = splitext( str( $output_aligned_reads_l ) )
328 && mv '${ _aligned_root }.1${_aligned_ext}' '$output_aligned_reads_l'
329 && mv '${ _aligned_root }.2${_aligned_ext}' '$output_aligned_reads_r'
330 #end if
331
332 ]]></command> 272 ]]></command>
333 <inputs> 273 <inputs>
334 <!-- single/paired --> 274 <!-- single/paired -->
335 <conditional name="library"> 275 <conditional name="library">
336 <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">
337 <option value="single">Single-end</option> 277 <option value="single">Single-end</option>
338 <option value="paired">Paired-end</option> 278 <option value="paired_collection">Paired-end</option>
339 <option value="paired_collection">Paired-end Dataset Collection</option>
340 <option value="paired_interleaved">Paired-end data from single interleaved dataset</option>
341 </param> 279 </param>
342
343 <when value="single"> 280 <when value="single">
344 <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;" />
345 <expand macro="align_unalign" /> 282 <expand macro="align_unalign" />
346 </when> 283 </when>
347 <when value="paired">
348 <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;" />
349 <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;" />
350 <expand macro="align_unalign" />
351 <expand macro="paired_end_options" />
352 </when>
353 <when value="paired_collection"> 284 <when value="paired_collection">
354 <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;" />
355 <expand macro="align_unalign" />
356 <expand macro="paired_end_options" />
357 </when>
358 <when value="paired_interleaved">
359 <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"/>
360 <expand macro="align_unalign" /> 286 <expand macro="align_unalign" />
361 <expand macro="paired_end_options" /> 287 <expand macro="paired_end_options" />
362 </when> 288 </when>
363 </conditional> 289 </conditional>
364 <!-- reference genome --> 290 <!-- reference genome -->
521 <option value="yes">Yes</option> 447 <option value="yes">Yes</option>
522 <option value="no" selected="true">No</option> 448 <option value="no" selected="true">No</option>
523 </param> 449 </param>
524 <when value="yes"> 450 <when value="yes">
525 <param name="sam_opt" type="boolean" truevalue="true" falsevalue="false" label="Would you like the output to be a SAM file" help="By default, the output from this Bowtie2 wrapper is a sorted BAM file."/> 451 <param name="sam_opt" type="boolean" truevalue="true" falsevalue="false" label="Would you like the output to be a SAM file" help="By default, the output from this Bowtie2 wrapper is a sorted BAM file."/>
526 <param name="no_unal" type="boolean" truevalue="--no-unal" falsevalue="" label="Suppress SAM records for reads that failed to align" help="--no-unal; Default=False"/> 452 <param argument="--no-unal" type="boolean" truevalue="--no-unal" falsevalue="" label="Suppress SAM records for reads that failed to align" help="--no-unal; Default=False"/>
527 <param name="omit_sec_seq" type="boolean" truevalue="--omit-sec-seq" falsevalue="" label="Suppress SEQ and QUAL strings for secondary alignments" help="--omit-sec-seq; Default=False"/> 453 <param argument="--omit-sec-seq" type="boolean" truevalue="--omit-sec-seq" falsevalue="" label="Suppress SEQ and QUAL strings for secondary alignments" help="--omit-sec-seq; Default=False"/>
528 <param name="sam_no_qname_trunc" argument="--sam-no-qname-trunc" type="boolean" truevalue="--sam-no-qname-trunc" falsevalue="" label="Suppress standard behavior of truncating readname at first whitespace at the expense of generating non-standard SAM"/> 454 <param argument="--sam-no-qname-trunc" type="boolean" truevalue="--sam-no-qname-trunc" falsevalue="" label="Suppress standard behavior of truncating readname at first whitespace at the expense of generating non-standard SAM"/>
529 <param argument="--xeq" type="boolean" truevalue="--xeq" falsevalue="" label="Use '='/'X', instead of 'M,' to specify matches/mismatches in SAM record."/> 455 <param argument="--xeq" type="boolean" truevalue="--xeq" falsevalue="" label="Use '='/'X', instead of 'M,' to specify matches/mismatches in SAM record."/>
530 <param name="soft_clipped_unmapped_tlen" argument="--soft-clipped-unmapped-tlen" type="boolean" truevalue="--soft-clipped-unmapped-tlen" falsevalue="" label=" Exclude soft-clipped bases when reporting TLEN"/> 456 <param argument="--soft-clipped-unmapped-tlen" type="boolean" truevalue="--soft-clipped-unmapped-tlen" falsevalue="" label=" Exclude soft-clipped bases when reporting TLEN"/>
531 <param name="reorder" argument="--reorder" type="boolean" truevalue="--reorder" falsevalue="" 457 <param argument="--reorder" type="boolean" truevalue="--reorder" falsevalue=""
532 label="Reorder output to reflect order of the input file" 458 label="Reorder output to reflect order of the input file"
533 help="Reorder guarantees that output SAM records are printed in an order corresponding to the order of the reads in the original input file, even when -p is set greater than 1." /> 459 help="Reorder guarantees that output SAM records are printed in an order corresponding to the order of the reads in the original input file, even when -p is set greater than 1." />
534 </when> 460 </when>
535 <when value="no"/> 461 <when value="no"/>
536 </conditional> 462 </conditional>
537 <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" />
538 </inputs> 464 </inputs>
539 <!-- define outputs --> 465 <!-- define outputs -->
540 <outputs> 466 <outputs>
541 <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" >
542 <filter>library['unaligned_file'] is True</filter> 468 <filter>library['type'] == 'single' and library['unaligned_file'] is True</filter>
543 <actions> 469 <actions>
544 <conditional name="library.type">
545 <when value="single">
546 <action type="format">
547 <option type="from_param" name="library.input_1" param_attribute="ext" />
548 </action>
549 </when>
550 <when value="paired">
551 <action type="format">
552 <option type="from_param" name="library.input_1" param_attribute="ext" />
553 </action>
554 </when>
555 <when value="paired_collection">
556 <action type="format">
557 <option type="from_param" name="library.input_1" param_attribute="forward.ext" />
558 </action>
559 </when>
560 </conditional>
561 <expand macro="dbKeyActions" /> 470 <expand macro="dbKeyActions" />
562 </actions> 471 </actions>
563 </data> 472 </data>
564 <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">
565 <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>
566 <actions> 489 <actions>
567 <conditional name="library.type">
568 <when value="single">
569 <action type="format">
570 <option type="from_param" name="library.input_1" param_attribute="ext" />
571 </action>
572 </when>
573 <when value="paired">
574 <action type="format">
575 <option type="from_param" name="library.input_1" param_attribute="ext" />
576 </action>
577 </when>
578 <when value="paired_collection">
579 <action type="format">
580 <option type="from_param" name="library.input_1" param_attribute="forward.ext" />
581 </action>
582 </when>
583 </conditional>
584 <expand macro="dbKeyActions" /> 490 <expand macro="dbKeyActions" />
585 </actions> 491 </actions>
586 </data> 492 </data>
587 <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">
588 <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>
589 <actions> 495 <data name="forward" from_work_dir="aligned_reads.1" format_source="library|input_1['forward']">
590 <conditional name="library.type"> 496 <actions>
591 <when value="paired"> 497 <expand macro="dbKeyActions" />
592 <action type="format"> 498 </actions>
593 <option type="from_param" name="library.input_2" param_attribute="ext" /> 499 </data>
594 </action> 500 <data name="reverse" from_work_dir="aligned_reads.2" format_source="library|input_1['forward']">
595 </when> 501 <actions>
596 <when value="paired_collection"> 502 <expand macro="dbKeyActions" />
597 <action type="format"> 503 </actions>
598 <option type="from_param" name="library.input_1" param_attribute="reverse.ext" /> 504 </data>
599 </action> 505 </collection>
600 </when> 506
601 </conditional> 507 <data name="output" format="bam" label="${tool.name} on ${on_string}: alignments">
602 <expand macro="dbKeyActions" />
603 </actions>
604 </data>
605 <data format="fastqsanger" name="output_unaligned_reads_r" label="${tool.name} on ${on_string}: unaligned reads (R)">
606 <filter>( library['type'] == "paired" or library['type'] == "paired_collection" ) and library['unaligned_file'] is True</filter>
607 <actions>
608 <conditional name="library.type">
609 <when value="paired">
610 <action type="format">
611 <option type="from_param" name="library.input_2" param_attribute="ext" />
612 </action>
613 </when>
614 <when value="paired_collection">
615 <action type="format">
616 <option type="from_param" name="library.input_1" param_attribute="reverse.ext" />
617 </action>
618 </when>
619 </conditional>
620 <expand macro="dbKeyActions" />
621 </actions>
622 </data>
623 <data format="bam" name="output" label="${tool.name} on ${on_string}: alignments">
624 <change_format> 508 <change_format>
625 <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" />
626 <when input="sam_options.sam_opt" value="true" format="sam" /> 510 <when input="sam_options.sam_opt" value="true" format="sam" />
627 </change_format> 511 </change_format>
628 <actions> 512 <actions>
650 <expand macro="dbKeyActions" /> 534 <expand macro="dbKeyActions" />
651 </actions> 535 </actions>
652 </data> 536 </data>
653 </outputs> 537 </outputs>
654 <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 -->
655 <test expect_num_outputs="1"> 563 <test expect_num_outputs="1">
656 <!-- test on paired-end datasets --> 564 <conditional name="library">
657 <param name="type" value="paired"/> 565 <param name="type" value="paired_collection"/>
658 <param name="paired_options_selector" value="no"/> 566 <conditional name="paired_options">
659 <param name="unaligned_file" value="false"/> 567 <param name="paired_options_selector" value="no"/>
660 <param name="analysis_type_selector" value="simple"/> 568 </conditional>
661 <param name="source" value="history" /> 569 <param name="unaligned_file" value="false"/>
662 <param name="input_1" value="bowtie2-fq1.fq" ftype="fastqsanger"/> 570 <param name="input_1">
663 <param name="input_2" value="bowtie2-fq2.fq" ftype="fastqsanger"/> 571 <collection type="paired">
664 <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>
665 <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">
666 <metadata name="sort_order" value="coordinate"/> 585 <metadata name="sort_order" value="coordinate"/>
667 </output> 586 </output>
668 </test> 587 </test>
669 <test expect_num_outputs="3"> 588 <!-- test on paired-end datasets + unaligned output -->
670 <!-- test on list paired collection --> 589 <test expect_num_outputs="4">
671 <param name="type" value="paired_collection"/> 590 <conditional name="library">
672 <param name="paired_options_selector" value="no"/> 591 <param name="type" value="paired_collection"/>
673 <param name="unaligned_file" value="true"/> 592 <conditional name="paired_options">
674 <param name="analysis_type_selector" value="simple"/> 593 <param name="paired_options_selector" value="no"/>
675 <param name="source" value="history" /> 594 </conditional>
676 <param name="input_1"> 595 <param name="unaligned_file" value="true"/>
677 <collection type="paired"> 596 <param name="input_1">
678 <element name="forward" value="bowtie2-fq1.fq" ftype="fastqsanger" /> 597 <collection type="paired">
679 <element name="reverse" value="bowtie2-fq2.fq" ftype="fastqsanger" /> 598 <element name="forward" value="bowtie2-fq1.fq" ftype="fastqsanger" />
680 </collection> 599 <element name="reverse" value="bowtie2-fq2.fq" ftype="fastqsanger" />
681 </param> 600 </collection>
682 <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>
683 <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">
684 <metadata name="sort_order" value="coordinate"/> 623 <metadata name="sort_order" value="coordinate"/>
685 </output> 624 </output>
686 </test> 625 </test>
687 <test expect_num_outputs="1"> 626 <test expect_num_outputs="1">
688 <!-- test on paired-end datasets with read group info --> 627 <!-- test on paired-end datasets with read group info -->
689 <param name="type" value="paired"/> 628 <conditional name="library">
690 <param name="paired_options_selector" value="no"/> 629 <param name="type" value="paired_collection"/>
691 <param name="unaligned_file" value="false"/> 630 <conditional name="paired_options">
692 <param name="analysis_type_selector" value="simple"/> 631 <param name="paired_options_selector" value="no"/>
693 <param name="rg_selector" value="set"/> 632 </conditional>
694 <param name="ID" value="rg1"/> 633 <param name="unaligned_file" value="false"/>
695 <param name="PL" value="CAPILLARY"/> 634 <param name="input_1">
696 <param name="source" value="history" /> 635 <collection type="paired">
697 <param name="input_1" value="bowtie2-fq1.fq" ftype="fastqsanger"/> 636 <element name="forward" value="bowtie2-fq1.fq" ftype="fastqsanger" />
698 <param name="input_2" value="bowtie2-fq2.fq" ftype="fastqsanger"/> 637 <element name="reverse" value="bowtie2-fq2.fq" ftype="fastqsanger" />
699 <param name="own_file" value="bowtie2-ref.fasta" /> 638 </collection>
700 <output name="output" file="bowtie2-test2.bam" ftype="bam" lines_diff="4" sort="true"> 639 </param>
701 <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>
702 </output> 666 </output>
703 </test> 667 </test>
668 <!-- test on paired-end datasets with stats output -->
704 <test expect_num_outputs="2"> 669 <test expect_num_outputs="2">
705 <!-- test on paired-end datasets with stats output --> 670 <conditional name="library">
706 <param name="type" value="paired"/> 671 <param name="type" value="paired_collection"/>
707 <param name="paired_options_selector" value="no"/> 672 <conditional name="paired_options">
708 <param name="unaligned_file" value="false"/> 673 <param name="paired_options_selector" value="no"/>
709 <param name="analysis_type_selector" value="simple"/> 674 </conditional>
710 <param name="source" value="history" /> 675 <param name="unaligned_file" value="false"/>
711 <param name="input_1" value="bowtie2-fq1.fq" ftype="fastqsanger"/> 676 <param name="input_1">
712 <param name="input_2" value="bowtie2-fq2.fq" ftype="fastqsanger"/> 677 <collection type="paired">
713 <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>
714 <param name="save_mapping_stats" value="true" /> 690 <param name="save_mapping_stats" value="true" />
715 <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">
716 <metadata name="sort_order" value="coordinate"/> 692 <metadata name="sort_order" value="coordinate"/>
717 </output> 693 </output>
718 <output name="mapping_stats"> 694 <output name="mapping_stats">
719 <assert_contents> 695 <assert_contents>
720 <has_text text="of these" /> 696 <has_text text="of these" />
721 </assert_contents> 697 </assert_contents>
722 </output> 698 </output>
723 </test> 699 </test>
724 <test expect_num_outputs="1"> 700 <!-- test on fastqsanger.gz paired-end datasets plus reference from data table -->
725 <!-- test on interleaved dataset --> 701 <test expect_num_outputs="4">
726 <param name="type" value="paired_interleaved"/> 702 <conditional name="library">
727 <!-- <param name="paired_options_selector" value="no"/> --> 703 <param name="type" value="paired_collection"/>
728 <param name="unaligned_file" value="false"/> 704 <conditional name="paired_options">
729 <param name="analysis_type_selector" value="simple"/> 705 <param name="paired_options_selector" value="no"/>
730 <param name="rg_selector" value="set"/> 706 </conditional>
731 <param name="ID" value="rg1"/> 707 <param name="unaligned_file" value="true"/>
732 <param name="PL" value="CAPILLARY"/> 708 <param name="input_1">
733 <param name="source" value="history" /> 709 <collection type="paired">
734 <param name="input_1" value="bowtie2-fq_il.fq" ftype="fastqsanger"/> 710 <element name="forward" value="bowtie2-fq1.fq.gz" ftype="fastqsanger.gz" />
735 <param name="own_file" value="bowtie2-ref.fasta" /> 711 <element name="reverse" value="bowtie2-fq2.fq.gz" ftype="fastqsanger.gz" />
736 <output name="output" file="bowtie2-test_il.bam" ftype="bam" lines_diff="4" sort="true"> 712 </collection>
737 <metadata name="sort_order" value="coordinate"/> 713 </param>
738 </output> 714 </conditional>
739 </test> 715 <conditional name="analysis_type">
740 <test expect_num_outputs="1"> 716 <param name="analysis_type_selector" value="simple"/>
741 <!-- test on fastqsanger.gz paired-end datasets --> 717 </conditional>
742 <param name="type" value="paired"/> 718 <conditional name="reference_genome">
743 <param name="paired_options_selector" value="no"/> 719 <param name="source" value="indexed" />
744 <param name="unaligned_file" value="false"/> 720 <param name="index" value="test_value" />
745 <param name="analysis_type_selector" value="simple"/> 721 </conditional>
746 <param name="source" value="history" />
747 <param name="input_1" value="bowtie2-fq1.fq.gz" ftype="fastqsanger.gz"/>
748 <param name="input_2" value="bowtie2-fq2.fq.gz" ftype="fastqsanger.gz"/>
749 <param name="own_file" value="bowtie2-ref.fasta" />
750 <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">
751 <metadata name="sort_order" value="coordinate"/> 723 <metadata name="sort_order" value="coordinate"/>
752 </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>
753 </test> 737 </test>
754 <test expect_num_outputs="1"> 738 <!-- test on fastqsanger.bz2 paired-end datasets -->
755 <!-- test on fastqsanger.bz2 paired-end datasets --> 739 <test expect_num_outputs="4">
756 <param name="type" value="paired"/> 740 <conditional name="library">
757 <param name="paired_options_selector" value="no"/> 741 <param name="type" value="paired_collection"/>
758 <param name="unaligned_file" value="false"/> 742 <conditional name="paired_options">
759 <param name="analysis_type_selector" value="simple"/> 743 <param name="paired_options_selector" value="no"/>
760 <param name="source" value="history" /> 744 </conditional>
761 <param name="input_1" value="bowtie2-fq1.fq.bz2" ftype="fastqsanger.bz2"/> 745 <param name="aligned_file" value="true"/>
762 <param name="input_2" value="bowtie2-fq2.fq.bz2" ftype="fastqsanger.bz2"/> 746 <param name="input_1">
763 <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>
764 <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">
765 <metadata name="sort_order" value="coordinate"/> 761 <metadata name="sort_order" value="coordinate"/>
766 </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>
767 </test> 775 </test>
768 <test expect_num_outputs="1"> 776 <!-- test on fasta paired-end datasets + aligned + unaligned -->
769 <!-- test on fasta paired-end datasets --> 777 <test expect_num_outputs="7">
770 <param name="type" value="paired"/> 778 <conditional name="library">
771 <param name="paired_options_selector" value="no"/> 779 <param name="type" value="paired_collection"/>
772 <param name="unaligned_file" value="false"/> 780 <conditional name="paired_options">
773 <param name="analysis_type_selector" value="simple"/> 781 <param name="paired_options_selector" value="no"/>
774 <param name="source" value="history" /> 782 </conditional>
775 <param name="input_1" value="bowtie2-fq1.fa" ftype="fasta"/> 783 <param name="unaligned_file" value="true"/>
776 <param name="input_2" value="bowtie2-fq2.fa" ftype="fasta"/> 784 <param name="aligned_file" value="true"/>
777 <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
778 <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">
779 <metadata name="sort_order" value="coordinate"/> 826 <metadata name="sort_order" value="coordinate"/>
780 </output> 827 </output>
781 </test> 828 </test>
829 <!-- test on fasta paired-end datasets with bam_native as output -->
782 <test expect_num_outputs="1"> 830 <test expect_num_outputs="1">
783 <!-- test on fasta paired-end datasets with bam_native as output --> 831 <conditional name="library">
784 <param name="type" value="paired"/> 832 <param name="type" value="paired_collection"/>
785 <param name="paired_options_selector" value="no"/> 833 <conditional name="paired_options">
786 <param name="unaligned_file" value="false"/> 834 <param name="paired_options_selector" value="no"/>
787 <param name="analysis_type_selector" value="simple"/> 835 </conditional>
788 <param name="source" value="history" /> 836 <param name="unaligned_file" value="false"/>
789 <param name="input_1" value="bowtie2-fq1.fa" ftype="fasta"/> 837 <param name="input_1">
790 <param name="input_2" value="bowtie2-fq2.fa" ftype="fasta"/> 838 <collection type="paired">
791 <param name="own_file" value="bowtie2-ref.fasta" /> 839 <element name="forward" value="bowtie2-fq1.fa" ftype="fasta" />
792 <param name="sam_options_selector" value="yes" /> 840 <element name="reverse" value="bowtie2-fq2.fa" ftype="fasta" />
793 <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>
794 <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">
795 <metadata name="sort_order" value="unsorted"/> 856 <metadata name="sort_order" value="unsorted"/>
796 </output> 857 </output>
797 </test> 858 </test>
859 <!-- test on fasta paired-end datasets with sam as output -->
798 <test expect_num_outputs="1"> 860 <test expect_num_outputs="1">
799 <!-- test on fasta paired-end datasets with sam as output --> 861 <conditional name="library">
800 <param name="type" value="paired"/> 862 <param name="type" value="paired_collection"/>
801 <param name="paired_options_selector" value="no"/> 863 <conditional name="paired_options">
802 <param name="unaligned_file" value="false"/> 864 <param name="paired_options_selector" value="no"/>
803 <param name="analysis_type_selector" value="simple"/> 865 </conditional>
804 <param name="source" value="history" /> 866 <param name="unaligned_file" value="false"/>
805 <param name="input_1" value="bowtie2-fq1.fa" ftype="fasta"/> 867 <param name="input_1">
806 <param name="input_2" value="bowtie2-fq2.fa" ftype="fasta"/> 868 <collection type="paired">
807 <param name="own_file" value="bowtie2-ref.fasta" /> 869 <element name="forward" value="bowtie2-fq1.fa" ftype="fasta" />
808 <param name="sam_options_selector" value="yes" /> 870 <element name="reverse" value="bowtie2-fq2.fa" ftype="fasta" />
809 <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>
810 <output name="output" ftype="sam"> 885 <output name="output" ftype="sam">
811 <metadata name="sort_order" value="unsorted"/> 886 <metadata name="sort_order" value="unsorted"/>
812 <assert_contents> 887 <assert_contents>
813 <has_text text="M01368:8:000000000-A3GHV:1:1101:6911:8255" /> 888 <has_text text="M01368:8:000000000-A3GHV:1:1101:6911:8255" />
814 </assert_contents> 889 </assert_contents>