comparison bowtie2_wrapper.xml @ 7:4f92dccc808a draft

planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/bowtie2 commit a1517c9d22029095120643bbe2c8fa53754dd2b7
author devteam
date Wed, 11 Nov 2015 12:04:23 -0500
parents e23b0cdeeba6
children 82414e16b6bd
comparison
equal deleted inserted replaced
6:e23b0cdeeba6 7:4f92dccc808a
8 <requirements> 8 <requirements>
9 <requirement type="package" version="2.2.4">bowtie2</requirement> 9 <requirement type="package" version="2.2.4">bowtie2</requirement>
10 <requirement type="package" version="0.1.18">samtools</requirement> 10 <requirement type="package" version="0.1.18">samtools</requirement>
11 </requirements> 11 </requirements>
12 <command> 12 <command>
13 13
14 ## prepare bowtie2 index 14 ## prepare bowtie2 index
15 #set index_path = '' 15 #set index_path = ''
16 #if str($reference_genome.source) == "history": 16 #if str($reference_genome.source) == "history":
17 bowtie2-build "$reference_genome.own_file" genome &amp;&amp; 17 bowtie2-build "$reference_genome.own_file" genome &amp;&amp;
18 ln -s "$reference_genome.own_file" genome.fa &amp;&amp; 18 ln -s "$reference_genome.own_file" genome.fa &amp;&amp;
19 #set index_path = 'genome' 19 #set index_path = 'genome'
20 #else: 20 #else:
21 #set index_path = $reference_genome.index.fields.path 21 #set index_path = $reference_genome.index.fields.path
22 #end if 22 #end if
23 23
24 ## execute bowtie2 24 ## execute bowtie2
25 25
26 bowtie2 26 bowtie2
27 27
28 ## number of threads 28 ## number of threads
29 -p \${GALAXY_SLOTS:-4} 29 -p \${GALAXY_SLOTS:-4}
30 30
31 ## index file path 31 ## index file path
32 -x $index_path 32 -x $index_path
33 33
34
35 ## Fastq inputs 34 ## Fastq inputs
36 #if str( $library.type ) == "single": 35 #if str( $library.type ) == "single":
37 -U "${library.input_1}" 36 -U "${library.input_1}"
38 #if str( $library.unaligned_file ) == "true": 37 #if str( $library.unaligned_file ) == "true":
39 --un $output_unaligned_reads_l 38 --un $output_unaligned_reads_l
70 #end if 69 #end if
71 #if str( $library.unaligned_file ) == "true": 70 #if str( $library.unaligned_file ) == "true":
72 --un-conc $output_unaligned_reads_l 71 --un-conc $output_unaligned_reads_l
73 #end if 72 #end if
74 #end if 73 #end if
75 74
76 ## Read group information. 75 ## Read group information.
77 @define_read_group_helpers@ 76 @define_read_group_helpers@
78 #if str( $library.type ) == "single": 77 #if str( $library.type ) == "single":
79 #set $rg_auto_name = $read_group_name_default($library.input_1) 78 #set $rg_auto_name = $read_group_name_default($library.input_1)
80 #elif str( $library.type ) == "paired": 79 #elif str( $library.type ) == "paired":
96 $format_read_group("KS:", $rg_ks, '"', arg='--rg ') 95 $format_read_group("KS:", $rg_ks, '"', arg='--rg ')
97 $format_read_group("PG:", $rg_pg, '"', arg='--rg ') 96 $format_read_group("PG:", $rg_pg, '"', arg='--rg ')
98 $format_read_group("PI:", $rg_pi, '"', arg='--rg ') 97 $format_read_group("PI:", $rg_pi, '"', arg='--rg ')
99 $format_read_group("PU:", $rg_pu, '"', arg='--rg ') 98 $format_read_group("PU:", $rg_pu, '"', arg='--rg ')
100 #end if 99 #end if
101 100
102 ## Analysis type 101 ## Analysis type
103 #if ( str( $analysis_type.analysis_type_selector ) == "simple" and str( $analysis_type.presets ) != "no_presets" ): 102 #if ( str( $analysis_type.analysis_type_selector ) == "simple" and str( $analysis_type.presets ) != "no_presets" ):
104 $analysis_type.presets 103 $analysis_type.presets
105 #elif str( $analysis_type.analysis_type_selector ) == "full": 104 #elif str( $analysis_type.analysis_type_selector ) == "full":
106 #if str( $analysis_type.input_options.input_options_selector ) == "yes": 105 #if str( $analysis_type.input_options.input_options_selector ) == "yes":
110 --trim3 "${analysis_type.input_options.trim3}" 109 --trim3 "${analysis_type.input_options.trim3}"
111 ${analysis_type.input_options.qv_encoding} 110 ${analysis_type.input_options.qv_encoding}
112 ${analysis_type.input_options.solexa_quals} 111 ${analysis_type.input_options.solexa_quals}
113 ${analysis_type.input_options.int_quals} 112 ${analysis_type.input_options.int_quals}
114 #end if 113 #end if
115 114
116 #if str( $analysis_type.alignment_options.alignment_options_selector ) == "yes": 115 #if str( $analysis_type.alignment_options.alignment_options_selector ) == "yes":
117 -N "${analysis_type.alignment_options.N}" 116 -N "${analysis_type.alignment_options.N}"
118 -L "${analysis_type.alignment_options.L}" 117 -L "${analysis_type.alignment_options.L}"
119 -i "${analysis_type.alignment_options.i}" 118 -i "${analysis_type.alignment_options.i}"
120 --n-ceil "${analysis_type.alignment_options.n_ceil}" 119 --n-ceil "${analysis_type.alignment_options.n_ceil}"
130 #elif str( $analysis_type.alignment_options.align_mode.align_mode_selector ) == "local": 129 #elif str( $analysis_type.alignment_options.align_mode.align_mode_selector ) == "local":
131 --local 130 --local
132 --score-min "${analysis_type.alignment_options.align_mode.score_min_loc}" 131 --score-min "${analysis_type.alignment_options.align_mode.score_min_loc}"
133 #end if 132 #end if
134 #end if 133 #end if
135 134
136 #if str( $analysis_type.scoring_options.scoring_options_selector ) == "yes": 135 #if str( $analysis_type.scoring_options.scoring_options_selector ) == "yes":
137 #if ( str( $analysis_type.alignment_options.alignment_options_selector ) == "yes" and str( $analysis_type.alignment_options.align_mode.align_mode_selector ) == "local" ): 136 #if ( str( $analysis_type.alignment_options.alignment_options_selector ) == "yes" and str( $analysis_type.alignment_options.align_mode.align_mode_selector ) == "local" ):
138 --ma "${analysis_type.scoring_options.ma}" 137 --ma "${analysis_type.scoring_options.ma}"
139 #end if 138 #end if
140 --mp "${analysis_type.scoring_options.mp}" 139 --mp "${analysis_type.scoring_options.mp}"
141 --np "${analysis_type.scoring_options.np}" 140 --np "${analysis_type.scoring_options.np}"
142 --rdg "${analysis_type.scoring_options.rdg_read_open},${analysis_type.scoring_options.rdg_read_extend}" 141 --rdg "${analysis_type.scoring_options.rdg_read_open},${analysis_type.scoring_options.rdg_read_extend}"
143 --rfg "${analysis_type.scoring_options.rfg_ref_open},${analysis_type.scoring_options.rfg_ref_extend}" 142 --rfg "${analysis_type.scoring_options.rfg_ref_open},${analysis_type.scoring_options.rfg_ref_extend}"
144 #end if 143 #end if
145 144
146 #if str( $analysis_type.reporting_options.reporting_options_selector ) == "k": 145 #if str( $analysis_type.reporting_options.reporting_options_selector ) == "k":
147 -k "${analysis_type.reporting_options.k}" 146 -k "${analysis_type.reporting_options.k}"
148 #elif str( $analysis_type.reporting_options.reporting_options_selector ) == "a": 147 #elif str( $analysis_type.reporting_options.reporting_options_selector ) == "a":
149 -a 148 -a
150 #end if 149 #end if
151 150
152 #if str( $analysis_type.effort_options.effort_options_selector ) == "yes": 151 #if str( $analysis_type.effort_options.effort_options_selector ) == "yes":
153 -D "${analysis_type.effort_options.D}" 152 -D "${analysis_type.effort_options.D}"
154 -R "${analysis_type.effort_options.R}" 153 -R "${analysis_type.effort_options.R}"
155 #end if 154 #end if
156 155
157 #if str( $analysis_type.sam_options.sam_options_selector ) == "yes": 156 #if str( $analysis_type.sam_options.sam_options_selector ) == "yes":
158 ${analysis_type.sam_options.no_unal} 157 ${analysis_type.sam_options.no_unal}
159 ${analysis_type.sam_options.omit_sec_seq} 158 ${analysis_type.sam_options.omit_sec_seq}
160 #end if 159 #end if
161 160
162 #if str( $analysis_type.other_options.other_options_selector ) == "yes": 161 #if str( $analysis_type.other_options.other_options_selector ) == "yes":
162 ${analysis_type.other_options.reorder}
163 ${analysis_type.other_options.non_deterministic} 163 ${analysis_type.other_options.non_deterministic}
164 --seed "${analysis_type.other_options.seed}" 164 --seed "${analysis_type.other_options.seed}"
165 #end if 165 #end if
166 166
167 #elif str( $analysis_type.analysis_type_selector ) == "cline": 167 #elif str( $analysis_type.analysis_type_selector ) == "cline":
168 ${analysis_type.cline} 168 ${analysis_type.cline}
169 #end if 169 #end if
170 170
171 -S "galaxy_bowtie_2_output.sam" &amp;&amp; 171 ## output file
172 172 #if ( str( $analysis_type.analysis_type_selector ) != "full" or str( $analysis_type.sam_opt ) != "true" ):
173 ## view/sort and output BAM file 173 | samtools view -Su - | samtools sort -o - - &gt; $output
174 ( samtools view -Su "galaxy_bowtie_2_output.sam" | samtools sort -o - - > $output ) 174 #else
175 &gt; $output_sam
176 #end if
175 177
176 ## rename unaligned sequence files 178 ## rename unaligned sequence files
177 #if $library.type == "paired" and $output_unaligned_reads_l and $output_unaligned_reads_r: 179 #if $library.type == "paired" and $output_unaligned_reads_l and $output_unaligned_reads_r:
178 #from os.path import splitext 180 #from os.path import splitext
179 #set _unaligned_root, _unaligned_ext = splitext( str( $output_unaligned_reads_l ) ) 181 #set _unaligned_root, _unaligned_ext = splitext( str( $output_unaligned_reads_l ) )
180 &amp;&amp; mv "${ _unaligned_root }.1${_unaligned_ext}" "${ output_unaligned_reads_l }" 182 &amp;&amp; mv "${ _unaligned_root }.1${_unaligned_ext}" "${ output_unaligned_reads_l }"
181 &amp;&amp; mv "${ _unaligned_root }.2${_unaligned_ext}" "${ output_unaligned_reads_r }" 183 &amp;&amp; mv "${ _unaligned_root }.2${_unaligned_ext}" "${ output_unaligned_reads_r }"
182 #end if 184 #end if
183 185
184 </command> 186 </command>
185
186 <!-- basic error handling --> 187 <!-- basic error handling -->
187 <stdio> 188 <stdio>
188 <exit_code range="1:" level="fatal" description="Tool exception" /> 189 <exit_code range="1:" level="fatal" description="Tool exception" />
189 </stdio> 190 </stdio>
190 191
191 <inputs> 192 <inputs>
192 <!-- single/paired --> 193 <!-- single/paired -->
193 <conditional name="library"> 194 <conditional name="library">
194 <param name="type" type="select" label="Is this single or paired library"> 195 <param name="type" type="select" label="Is this single or paired library">
195 <option value="single">Single-end</option> 196 <option value="single">Single-end</option>
196 <option value="paired">Paired-end</option> 197 <option value="paired">Paired-end</option>
197 <option value="paired_collection">Paired-end Dataset Collection</option> 198 <option value="paired_collection">Paired-end Dataset Collection</option>
198 </param> 199 </param>
199 200
200 <when value="single"> 201 <when value="single">
201 <param name="input_1" format="fastqsanger" type="data" label="FASTQ file" help="Nucleotide-space: Must have Sanger-scaled quality values with ASCII offset 33"/> 202 <param name="input_1" format="fastqsanger" type="data" label="FASTQ file" help="Must be of datatype &quot;fastqsanger&quot;" />
202 <param name="unaligned_file" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write unaligned reads (in fastq format) to separate file(s)" help="--un/--un-conc; This triggers --un parameter for single reads and --un-conc for paired reads" /> 203 <param name="unaligned_file" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write unaligned reads (in fastq format) to separate file(s)" help="--un/--un-conc; This triggers --un parameter for single reads and --un-conc for paired reads" />
203 </when> 204 </when>
204 <when value="paired"> 205 <when value="paired">
205 <param name="input_1" format="fastqsanger" type="data" label="FASTQ file" help="Nucleotide-space: Must have Sanger-scaled quality values with ASCII offset 33" /> 206 <param name="input_1" format="fastqsanger" type="data" label="FASTQ file #1" help="Must be of datatype &quot;fastqsanger&quot;" />
206 <param name="input_2" format="fastqsanger" type="data" label="FASTQ file" help="Nucleotide-space: Must have Sanger-scaled quality values with ASCII offset 33" /> 207 <param name="input_2" format="fastqsanger" type="data" label="FASTQ file #2" help="Must be of datatype &quot;fastqsanger&quot;" />
207 <param name="unaligned_file" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write unaligned reads (in fastq format) to separate file(s)" help="--un/--un-conc; This triggers --un parameter for single reads and --un-conc for paired reads" /> 208 <param name="unaligned_file" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write unaligned reads (in fastq format) to separate file(s)" help="--un/--un-conc; This triggers --un parameter for single reads and --un-conc for paired reads" />
208 <conditional name="paired_options"> 209 <conditional name="paired_options">
209 <param name="paired_options_selector" type="select" label="Do you want to set paired-end options?" help="See &quot;Alignment Options&quot; section of Help below for information"> 210 <param name="paired_options_selector" type="select" label="Do you want to set paired-end options?" help="See &quot;Alignment Options&quot; section of Help below for information">
210 <option value="no" selected="True">No</option> 211 <option value="no" selected="True">No</option>
211 <option value="yes">Yes</option> 212 <option value="yes">Yes</option>
219 <option value="--ff">--ff</option> 220 <option value="--ff">--ff</option>
220 </param> 221 </param>
221 <param name="no_mixed" type="boolean" truevalue="--no-mixed" falsevalue="" checked="False" label="Disable no-mixed behavior" help="--no-mixed; By default, when `bowtie2` cannot find a concordant or discordant alignment for a pair, it then tries to find alignments for the individual mates; default=False"/> 222 <param name="no_mixed" type="boolean" truevalue="--no-mixed" falsevalue="" checked="False" label="Disable no-mixed behavior" help="--no-mixed; By default, when `bowtie2` cannot find a concordant or discordant alignment for a pair, it then tries to find alignments for the individual mates; default=False"/>
222 <param name="no_discordant" type="boolean" truevalue="--no-discordant" falsevalue="" checked="False" label="Disable no-discordant behavior" help="--no-discordant; By default, `bowtie2` looks for discordant alignments if it cannot find any concordant alignments. A discordant alignment is an alignment where both mates align uniquely, but that does not satisfy the paired-end constraints (`--fr`/`--rf`/`--ff`, `-I`, `-X`); default=False"/> 223 <param name="no_discordant" type="boolean" truevalue="--no-discordant" falsevalue="" checked="False" label="Disable no-discordant behavior" help="--no-discordant; By default, `bowtie2` looks for discordant alignments if it cannot find any concordant alignments. A discordant alignment is an alignment where both mates align uniquely, but that does not satisfy the paired-end constraints (`--fr`/`--rf`/`--ff`, `-I`, `-X`); default=False"/>
223 <param name="dovetail" type="boolean" truevalue="--dovetail" falsevalue="" checked="False" label="Allow mate dovetailing" help="--dovetail; If the mates `dovetail`, that is if one mate alignment extends past the beginning of the other such that the wrong mate begins upstream, consider that to be concordant. Default=False"/> 224 <param name="dovetail" type="boolean" truevalue="--dovetail" falsevalue="" checked="False" label="Allow mate dovetailing" help="--dovetail; If the mates `dovetail`, that is if one mate alignment extends past the beginning of the other such that the wrong mate begins upstream, consider that to be concordant. Default=False"/>
224 <param name="no_contain" type="boolean" truevalue="--no-contain" falsevalue="" checked="False" label="Allow one mate alignment to contain another" help="--no-contain; If one mate alignment contains the other, consider that to be non-concordant. Default=False"/> 225 <param name="no_contain" type="boolean" truevalue="--no-contain" falsevalue="" checked="False" label="Disallow one mate alignment to contain another" help="--no-contain; If one mate alignment contains the other, consider that to be non-concordant. Default=False"/>
225 <param name="no_overlap" type="boolean" truevalue="--no-overlap" falsevalue="" checked="False" label="Allow mate alignments to overlap" help="--no-overlap; If one mate alignment overlaps the other at all, consider that to be non-concordant. Default=False"/> 226 <param name="no_overlap" type="boolean" truevalue="--no-overlap" falsevalue="" checked="False" label="Disallow mate alignments to overlap" help="--no-overlap; If one mate alignment overlaps the other at all, consider that to be non-concordant. Default=False"/>
226 </when> 227 </when>
227 <when value="no"> 228 <when value="no">
228 <!-- do nothing --> 229 <!-- do nothing -->
229 </when> 230 </when>
230 </conditional> 231 </conditional>
231 </when> 232 </when>
232 <when value="paired_collection"> 233 <when value="paired_collection">
233 <param name="input_1" format="fastqsanger" type="data_collection" collection_type="paired" label="FASTQ Paired Dataset" help="Nucleotide-space: Must have Sanger-scaled quality values with ASCII offset 33" /> 234 <param name="input_1" format="fastqsanger" type="data_collection" collection_type="paired" label="FASTQ Paired Dataset" help="Must be of datatype &quot;fastqsanger&quot;" />
234 <param name="unaligned_file" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write unaligned reads (in fastq format) to separate file(s)" help="--un/--un-conc; This triggers --un parameter for single reads and --un-conc for paired reads" /> 235 <param name="unaligned_file" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write unaligned reads (in fastq format) to separate file(s)" help="--un/--un-conc; This triggers --un parameter for single reads and --un-conc for paired reads" />
235 <conditional name="paired_options"> 236 <conditional name="paired_options">
236 <param name="paired_options_selector" type="select" label="Do you want to set paired-end options?" help="See &quot;Alignment Options&quot; section of Help below for information"> 237 <param name="paired_options_selector" type="select" label="Do you want to set paired-end options?" help="See &quot;Alignment Options&quot; section of Help below for information">
237 <option value="no" selected="True">No</option> 238 <option value="no" selected="True">No</option>
238 <option value="yes">Yes</option> 239 <option value="yes">Yes</option>
246 <option value="--ff">--ff</option> 247 <option value="--ff">--ff</option>
247 </param> 248 </param>
248 <param name="no_mixed" type="boolean" truevalue="--no-mixed" falsevalue="" checked="False" label="Disable no-mixed behavior" help="--no-mixed; By default, when `bowtie2` cannot find a concordant or discordant alignment for a pair, it then tries to find alignments for the individual mates; default=False"/> 249 <param name="no_mixed" type="boolean" truevalue="--no-mixed" falsevalue="" checked="False" label="Disable no-mixed behavior" help="--no-mixed; By default, when `bowtie2` cannot find a concordant or discordant alignment for a pair, it then tries to find alignments for the individual mates; default=False"/>
249 <param name="no_discordant" type="boolean" truevalue="--no-discordant" falsevalue="" checked="False" label="Disable no-discordant behavior" help="--no-discordant; By default, `bowtie2` looks for discordant alignments if it cannot find any concordant alignments. A discordant alignment is an alignment where both mates align uniquely, but that does not satisfy the paired-end constraints (`--fr`/`--rf`/`--ff`, `-I`, `-X`); default=False"/> 250 <param name="no_discordant" type="boolean" truevalue="--no-discordant" falsevalue="" checked="False" label="Disable no-discordant behavior" help="--no-discordant; By default, `bowtie2` looks for discordant alignments if it cannot find any concordant alignments. A discordant alignment is an alignment where both mates align uniquely, but that does not satisfy the paired-end constraints (`--fr`/`--rf`/`--ff`, `-I`, `-X`); default=False"/>
250 <param name="dovetail" type="boolean" truevalue="--dovetail" falsevalue="" checked="False" label="Allow mate dovetailing" help="--dovetail; If the mates `dovetail`, that is if one mate alignment extends past the beginning of the other such that the wrong mate begins upstream, consider that to be concordant. Default=False"/> 251 <param name="dovetail" type="boolean" truevalue="--dovetail" falsevalue="" checked="False" label="Allow mate dovetailing" help="--dovetail; If the mates `dovetail`, that is if one mate alignment extends past the beginning of the other such that the wrong mate begins upstream, consider that to be concordant. Default=False"/>
251 <param name="no_contain" type="boolean" truevalue="--no-contain" falsevalue="" checked="False" label="Allow one mate alignment to contain another" help="--no-contain; If one mate alignment contains the other, consider that to be non-concordant. Default=False"/> 252 <param name="no_contain" type="boolean" truevalue="--no-contain" falsevalue="" checked="False" label="Disallow one mate alignment to contain another" help="--no-contain; If one mate alignment contains the other, consider that to be non-concordant. Default=False"/>
252 <param name="no_overlap" type="boolean" truevalue="--no-overlap" falsevalue="" checked="False" label="Allow mate alignments to overlap" help="--no-overlap; If one mate alignment overlaps the other at all, consider that to be non-concordant. Default=False"/> 253 <param name="no_overlap" type="boolean" truevalue="--no-overlap" falsevalue="" checked="False" label="Disallow mate alignments to overlap" help="--no-overlap; If one mate alignment overlaps the other at all, consider that to be non-concordant. Default=False"/>
253 </when> 254 </when>
254 <when value="no"> 255 <when value="no">
255 <!-- do nothing --> 256 <!-- do nothing -->
256 </when> 257 </when>
257 </conditional> 258 </conditional>
325 <option value="no" selected="true">No</option> 326 <option value="no" selected="true">No</option>
326 </param> 327 </param>
327 <when value="yes"> 328 <when value="yes">
328 <param name="N" type="integer" min="0" max="1" value="0" label="Set the number of mismatches to be allowed in a seed alignment during multiseed alignment (see `Multiseed alignment` section of help below)" help="-N; Can be set to 0 or 1. Setting this higher makes alignment slower (often much slower) but increases sensitivity; default=0"/> 329 <param name="N" type="integer" min="0" max="1" value="0" label="Set the number of mismatches to be allowed in a seed alignment during multiseed alignment (see `Multiseed alignment` section of help below)" help="-N; Can be set to 0 or 1. Setting this higher makes alignment slower (often much slower) but increases sensitivity; default=0"/>
329 <param name="L" type="integer" min="0" max="32" value="22" label="Sets the length of the seed substrings to align during multiseed alignment (see `Multiseed alignment` section of help below)" help="-L; Smaller values make alignment slower but more sensitive. Default=22"/> 330 <param name="L" type="integer" min="0" max="32" value="22" label="Sets the length of the seed substrings to align during multiseed alignment (see `Multiseed alignment` section of help below)" help="-L; Smaller values make alignment slower but more sensitive. Default=22"/>
330 <param name="i" type="text" value="S,1,1.15" size="10" label="Set a function governing the interval between seed substrings to use during multiseed alignment (see `Multiseed alignment` section of help below). Also see description of this option below in the help section" help="-i; Since it's best to use longer intervals for longer reads, this parameter sets the interval as a function of the read length, rather than a single one-size-fits-all number. For instance, specifying `-i S,1,2.5` sets the interval function `f` to `f(x) = 1 + 2.5 * sqrt(x)`, where x is the read length. If the function returns a result less than 1, it is rounded up to 1. Default=`S,1,1.15`"/> 331 <param name="i" type="text" value="S,1,1.15" label="Set a function governing the interval between seed substrings to use during multiseed alignment (see `Multiseed alignment` section of help below). Also see description of this option below in the help section" help="-i; Since it's best to use longer intervals for longer reads, this parameter sets the interval as a function of the read length, rather than a single one-size-fits-all number. For instance, specifying `-i S,1,2.5` sets the interval function `f` to `f(x) = 1 + 2.5 * sqrt(x)`, where x is the read length. If the function returns a result less than 1, it is rounded up to 1. Default=`S,1,1.15`"/>
331 <param name="n_ceil" type="text" value="L,0,0.15" label="Set a function governing the maximum number of ambiguous characters (usually `N`s and/or `.`s) allowed in a read as a function of read length" help="--n-ceil; For instance, specifying `L,0,0.15` sets the N-ceiling function `f` to `f(x) = 0 + 0.15 * x`, where x is the read length. Reads exceeding this ceiling are filtered out. Default=`L,0,0.15`"/> 332 <param name="n_ceil" type="text" value="L,0,0.15" label="Set a function governing the maximum number of ambiguous characters (usually `N`s and/or `.`s) allowed in a read as a function of read length" help="--n-ceil; For instance, specifying `L,0,0.15` sets the N-ceiling function `f` to `f(x) = 0 + 0.15 * x`, where x is the read length. Reads exceeding this ceiling are filtered out. Default=`L,0,0.15`"/>
332 <param name="dpad" type="integer" min="0" value="15" label="Pad dynamic programming problems by that many columns on either side to allow gaps" help="--dpad; default=15"/> 333 <param name="dpad" type="integer" min="0" value="15" label="Pad dynamic programming problems by that many columns on either side to allow gaps" help="--dpad; default=15"/>
333 <param name="gbar" type="integer" min="0" value="4" label="Disallow gaps within that many positions of the beginning or end of the read" help="--gbar; default=4"/> 334 <param name="gbar" type="integer" min="0" value="4" label="Disallow gaps within that many positions of the beginning or end of the read" help="--gbar; default=4"/>
334 <param name="ignore_quals" type="boolean" truevalue="--ignore-quals" falsevalue="" selected="False" label="When calculating a mismatch penalty, always consider the quality value at the mismatched position to be the highest possible, regardless of the actual value" help="--ignore-quals; input is treated as though all quality values are high; default=False"/> 335 <param name="ignore_quals" type="boolean" truevalue="--ignore-quals" falsevalue="" selected="False" label="When calculating a mismatch penalty, always consider the quality value at the mismatched position to be the highest possible, regardless of the actual value" help="--ignore-quals; input is treated as though all quality values are high; default=False"/>
335 <param name="nofw" type="boolean" truevalue="--nofw" falsevalue="" selected="False" label="Do not attempt to align unpaired reads to the forward (Watson) reference strand" help="In paired-end mode, `--nofw` and `--norc` pertain to the fragments; i.e. specifying `--nofw` causes `bowtie2` to explore only those paired-end configurations corresponding to fragments from the reverse-complement (Crick) strand. Default=False"/> 336 <param name="nofw" type="boolean" truevalue="--nofw" falsevalue="" selected="False" label="Do not attempt to align unpaired reads to the forward (Watson) reference strand" help="In paired-end mode, `--nofw` and `--norc` pertain to the fragments; i.e. specifying `--nofw` causes `bowtie2` to explore only those paired-end configurations corresponding to fragments from the reverse-complement (Crick) strand. Default=False"/>
357 <option value="yes">Yes</option> 358 <option value="yes">Yes</option>
358 <option value="no" selected="true">No</option> 359 <option value="no" selected="true">No</option>
359 </param> 360 </param>
360 <when value="yes"> 361 <when value="yes">
361 <param name="ma" type="integer" value="2" label="Set the match bonus" help="--ma; In `--local` mode match bonus is added to the alignment score for each position where a read character aligns to a reference character and the characters match. Not used in `--end-to-end` mode; Default=2"/> 362 <param name="ma" type="integer" value="2" label="Set the match bonus" help="--ma; In `--local` mode match bonus is added to the alignment score for each position where a read character aligns to a reference character and the characters match. Not used in `--end-to-end` mode; Default=2"/>
362 <param name="mp" type="text" size="10" value="6,2" label="Set the maximum (`MX`) and minimum (`MN`) mismatch penalties, both integers" help="--mp; A number less than or equal to `MX` and greater than or equal to `MN` is subtracted from the alignment score for each position where a read character aligns to a reference character, the characters do not match, and neither is an `N`. If `--ignore-quals` is specified, the number subtracted quals `MX`. Otherwise, the number subtracted is `MN + floor( (MX-MN)(MIN(Q, 40.0)/40.0) )` where Q is the Phred quality value; Default=6,2"/> 363 <param name="mp" type="text" value="6,2" label="Set the maximum (`MX`) and minimum (`MN`) mismatch penalties, both integers" help="--mp; A number less than or equal to `MX` and greater than or equal to `MN` is subtracted from the alignment score for each position where a read character aligns to a reference character, the characters do not match, and neither is an `N`. If `--ignore-quals` is specified, the number subtracted quals `MX`. Otherwise, the number subtracted is `MN + floor( (MX-MN)(MIN(Q, 40.0)/40.0) )` where Q is the Phred quality value; Default=6,2"/>
363 <param name="np" type="integer" value="1" label="Sets penalty for positions where the read, reference, or both, contain an ambiguous character such as `N`" help="--np; Default=1"/> 364 <param name="np" type="integer" value="1" label="Sets penalty for positions where the read, reference, or both, contain an ambiguous character such as `N`" help="--np; Default=1"/>
364 <param name="rdg_read_open" type="integer" value="5" label="Set the read gap opening penalty" help="--rdg; this is the first component of --rdg flag - opening penalty; Default=5"/> 365 <param name="rdg_read_open" type="integer" value="5" label="Set the read gap opening penalty" help="--rdg; this is the first component of --rdg flag - opening penalty; Default=5"/>
365 <param name="rdg_read_extend" type="integer" value="3" label="Set the read gap extension penalty" help="--rdg; this is the second component of --rdg flag - extension penalty; Default=3"/> 366 <param name="rdg_read_extend" type="integer" value="3" label="Set the read gap extension penalty" help="--rdg; this is the second component of --rdg flag - extension penalty; Default=3"/>
366 <param name="rfg_ref_open" type="integer" value="5" label="Set the reference gap opening penalty" help="--rfg; this is the first component of --rfg flag - opening penalty; Default=5"/> 367 <param name="rfg_ref_open" type="integer" value="5" label="Set the reference gap opening penalty" help="--rfg; this is the first component of --rfg flag - opening penalty; Default=5"/>
367 <param name="rfg_ref_extend" type="integer" value="3" label="Set the reference gap extension penalty" help="--rfg; this is the second component of --rfg flag - extension penalty; Default=3"/> 368 <param name="rfg_ref_extend" type="integer" value="3" label="Set the reference gap extension penalty" help="--rfg; this is the second component of --rfg flag - extension penalty; Default=3"/>
417 <param name="other_options_selector" type="select" label="Do you want to tweak Other Options?" help="See &quot;Other Options&quot; section of Help below for information"> 418 <param name="other_options_selector" type="select" label="Do you want to tweak Other Options?" help="See &quot;Other Options&quot; section of Help below for information">
418 <option value="yes">Yes</option> 419 <option value="yes">Yes</option>
419 <option value="no" selected="true">No</option> 420 <option value="no" selected="true">No</option>
420 </param> 421 </param>
421 <when value="yes"> 422 <when value="yes">
423 <param name="reorder" type="boolean" truevalue="--reorder" falsevalue="" label="Guarantee that output SAM records are printed in an order corresponding to the order of the reads in the original input file" help="--reorder; Default=False"/>
422 <param name="seed" type="integer" value="0" min="0" label="Use this number as the seed for pseudo-random number generator" help="--seed; Default=0"/> 424 <param name="seed" type="integer" value="0" min="0" label="Use this number as the seed for pseudo-random number generator" help="--seed; Default=0"/>
423 <param name="non_deterministic" type="boolean" truevalue="--non-deterministic" falsevalue="" label="Re-initialize the pseudo-random generator for each read using the current time" help="--non-deterministic; see Help below for explanation of this option; default=False"/> 425 <param name="non_deterministic" type="boolean" truevalue="--non-deterministic" falsevalue="" label="Re-initialize the pseudo-random generator for each read using the current time" help="--non-deterministic; see Help below for explanation of this option; default=False"/>
424 </when> 426 </when>
425 <when value="no"> 427 <when value="no">
426 <!-- do nothing --> 428 <!-- do nothing -->
427 </when> 429 </when>
428 </conditional> 430 </conditional>
431 <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."/>
429 </when> 432 </when>
430 </conditional> 433 </conditional>
431 </inputs> 434 </inputs>
432 435
433 <!-- define outputs --> 436 <!-- define outputs -->
435 <outputs> 438 <outputs>
436 439
437 <data format="fastqsanger" name="output_unaligned_reads_l" label="${tool.name} on ${on_string}: unaligned reads (L)" > 440 <data format="fastqsanger" name="output_unaligned_reads_l" label="${tool.name} on ${on_string}: unaligned reads (L)" >
438 <filter>library['unaligned_file'] is True</filter> 441 <filter>library['unaligned_file'] is True</filter>
439 <actions> 442 <actions>
440 <action type="format"> 443 <conditional name="library.type">
441 <option type="from_param" name="library.input_1" param_attribute="ext" /> 444 <when value="single">
442 </action> 445 <action type="format">
446 <option type="from_param" name="library.input_1" param_attribute="ext" />
447 </action>
448 </when>
449 <when value="paired">
450 <action type="format">
451 <option type="from_param" name="library.input_1" param_attribute="ext" />
452 </action>
453 </when>
454 <when value="paired_collection">
455 <action type="format">
456 <option type="from_param" name="library.input_1" param_attribute="forward.ext" />
457 </action>
458 </when>
459 </conditional>
443 </actions> 460 </actions>
444 </data> 461 </data>
445 <data format="fastqsanger" name="output_unaligned_reads_r" label="${tool.name} on ${on_string}: unaligned reads (R)"> 462 <data format="fastqsanger" name="output_unaligned_reads_r" label="${tool.name} on ${on_string}: unaligned reads (R)">
446 <filter>( library['type'] == "paired" or library['type'] == "paired_collection" ) and library['unaligned_file'] is True</filter> 463 <filter>( library['type'] == "paired" or library['type'] == "paired_collection" ) and library['unaligned_file'] is True</filter>
447 <actions> 464 <actions>
448 <action type="format"> 465 <conditional name="library.type">
449 <option type="from_param" name="library.input_1" param_attribute="ext" /> 466 <when value="paired">
450 </action> 467 <action type="format">
468 <option type="from_param" name="library.input_2" param_attribute="ext" />
469 </action>
470 </when>
471 <when value="paired_collection">
472 <action type="format">
473 <option type="from_param" name="library.input_1" param_attribute="reverse.ext" />
474 </action>
475 </when>
476 </conditional>
451 </actions> 477 </actions>
452 </data> 478 </data>
453 479
454 <data format="bam" name="output" label="${tool.name} on ${on_string}: aligned reads (sorted BAM)"> 480 <data format="bam" name="output" label="${tool.name} on ${on_string}: aligned reads (sorted BAM)">
481 <filter>analysis_type['analysis_type_selector'] == "simple" or analysis_type['sam_opt'] is False</filter>
482 <actions>
483 <conditional name="reference_genome.source">
484 <when value="indexed">
485 <action type="metadata" name="dbkey">
486 <option type="from_data_table" name="bowtie2_indexes" column="1" offset="0">
487 <filter type="param_value" column="0" value="#" compare="startswith" keep="False"/>
488 <filter type="param_value" ref="reference_genome.index" column="0"/>
489 </option>
490 </action>
491 </when>
492 <when value="history">
493 <action type="metadata" name="dbkey">
494 <option type="from_param" name="reference_genome.own_file" param_attribute="dbkey" />
495 </action>
496 </when>
497 </conditional>
498 </actions>
499 </data>
500
501 <data format="sam" name="output_sam" label="${tool.name} on ${on_string}: aligned reads (SAM)">
502 <filter>analysis_type['analysis_type_selector'] == "full" and analysis_type['sam_opt'] is True</filter>
455 <actions> 503 <actions>
456 <conditional name="reference_genome.source"> 504 <conditional name="reference_genome.source">
457 <when value="indexed"> 505 <when value="indexed">
458 <action type="metadata" name="dbkey"> 506 <action type="metadata" name="dbkey">
459 <option type="from_data_table" name="bowtie2_indexes" column="1" offset="0"> 507 <option type="from_data_table" name="bowtie2_indexes" column="1" offset="0">