comparison bowtie2_wrapper.xml.orig @ 2:2a6cfe8997aa draft

Uploaded from GH
author devteam
date Thu, 04 Dec 2014 12:58:42 -0500
parents
children
comparison
equal deleted inserted replaced
1:aceaf1d94d2d 2:2a6cfe8997aa
1 <tool id="bowtie2" name="Bowtie2" version="0.3">
2 <!-- Wrapper compatible with Bowtie version 2.2.4 -->
3 <description>- map reads against reference genome</description>
4 <version_command>bowtie2 --version</version_command>
5 <requirements>
6 <requirement type="package" version="2.2.4">bowtie2</requirement>
7 <requirement type="package" version="0.1.18">samtools</requirement>
8 </requirements>
9 <command>
10
11 ## prepare bowtie2 index
12 #set index_path = ''
13 #if str($reference_genome.source) == "history":
14 bowtie2-build "$reference_genome.own_file" genome &amp;&amp;
15 ln -s "$reference_genome.own_file" genome.fa &amp;&amp;
16 #set index_path = 'genome'
17 #else:
18 #set index_path = $reference_genome.index.fields.path
19 #end if
20
21 ## execute bowtie2
22
23 bowtie2
24
25 ## number of threads
26 -p \${GALAXY_SLOTS:-4}
27
28 ## index file path
29 -x $index_path
30
31
32 ## Fastq inputs
33 #if str( $library.type ) == "single":
34 -U "${input_1}"
35 #if str( $library.unaligned_file ) == "true":
36 --un $output_unaligned_reads_l
37 #end if
38 #elif str( $library.type ) == "paired":
39 -1 "${input_1}"
40 -2 "${input_2}"
41 #if str( $library.paired_options.paired_options_selector ) == "yes":
42 -I "${library.paired_options.I}"
43 -X "${library.paired_options.X}"
44 ${library.paired_options.fr_rf_ff}
45 ${library.paired_options.no_mixed}
46 ${library.paired_options.no_discordant}
47 ${library.paired_options.dovetail}
48 ${library.paired_options.no_contain}
49 ${library.paired_options.no_overlap}
50 #end if
51 #if str( $library.unaligned_file ) == "true":
52 --un-conc $output_unaligned_reads_l
53 #end if
54 #else
55 ## prepare collection
56 -1 $library.input_1.forward
57 -2 $library.input_1.reverse
58 #if str( $library.paired_options.paired_options_selector ) == "yes":
59 -I "${library.paired_options.I}"
60 -X "${library.paired_options.X}"
61 ${library.paired_options.fr_rf_ff}
62 ${library.paired_options.no_mixed}
63 ${library.paired_options.no_discordant}
64 ${library.paired_options.dovetail}
65 ${library.paired_options.no_contain}
66 ${library.paired_options.no_overlap}
67 #end if
68 #if str( $library.unaligned_file ) == "true":
69 --un-conc $output_unaligned_reads_l
70 #end if
71 #end if
72
73 ## Readgroups
74 #if str( $read_group.read_group_selector ) == "yes":
75 --rg-id "${read_group.rgid}"
76 --rg "SM:${read_group.rgsm}"
77 --rg "LB:${read_group.rglb}"
78 --rg "PL:${read_group.rgpl}"
79 #end if
80
81 ## Analysis type
82 #if ( str( $analysis_type.analysis_type_selector ) == "simple" and str( $analysis_type.presets ) != "no_presets" ):
83 $analysis_type.presets
84 #elif str( $analysis_type.analysis_type_selector ) == "full":
85 #if str( $analysis_type.input_options.input_options_selector ) == "yes":
86 --skip "${analysis_type.input_options.skip}"
87 --qupto "${analysis_type.input_options.qupto}"
88 --trim5 "${analysis_type.input_options.trim5}"
89 --trim3 "${analysis_type.input_options.trim3}"
90 ${analysis_type.input_options.qv_encoding}
91 ${analysis_type.input_options.solexa-quals}
92 ${analysis_type.input_options.int-quals}
93 #end if
94
95 #if str( $analysis_type.alignment_options.alignment_options_selector ) == "yes":
96 -N "${$analysis_type.alignment_options.N}"
97 -L "${$analysis_type.alignment_options.L}"
98 -i "${$analysis_type.alignment_options.i}"
99 --n_ceil "${$analysis_type.alignment_options.n_ceil}"
100 --dpad "${$analysis_type.alignment_options.dpad}"
101 --gbar "${$analysis_type.alignment_options.gbar}"
102 ${analysis_type.alignment_options.ignore-quals}
103 ${analysis_type.alignment_options.nofw}
104 ${analysis_type.alignment_options.norc}
105 ${analysis_type.alignment_options.no_1mm_upfront}
106 #if str( $analysis_type.alignment_options.align_mode.align_mode_selector ) == "end-to-end":
107 --end-to-end
108 --score-min "${$analysis_type.alignment_options.align_mode.core-min}"
109 #elif str( $analysis_type.alignment_options.align_mode.align_mode_selector ) == "local":
110 --local
111 --score-min "${$analysis_type.alignment_options.align_mode.core-min}"
112 #end if
113 #end if
114
115 #if str( $analysis_type.scoring_options.scoring_options_selector ) == "yes":
116 --ma "${analysis_type.scoring_options.ma}"
117 --mp "${analysis_type.scoring_options.mp}"
118 --np "${analysis_type.scoring_options.np}"
119 --rdg "${analysis_type.scoring_options.rdg_read_open},${analysis_type.scoring_options.rdg_read_extend}"
120 --rfg "${analysis_type.scoring_options.rfg_ref_open},${analysis_type.scoring_options.rfg_ref_extend}"
121 #end if
122
123 #if str( $analysis_type.reporting_options.reporting_options_selector ) == "k":
124 -k "${analysis_type.reporting_options.k}"
125 #elif str( $analysis_type.reporting_options.reporting_options_selector ) == "a":
126 -a
127 #end if
128
129 #if str( $analysis_type.effort_options.effort_options_selector ) == "yes":
130 -D "${analysis_type.effort_options.D}"
131 -R "${analysis_type.effort_options.R}"
132 #end if
133
134 #if str( $analysis_type.sam_options.sam_options_selector ) == "yes":
135 ${analysis_type.sam_options.no-unal}
136 ${analysis_type.sam_options.omit-sec-seq}
137 #end if
138
139 #if str( $analysis_type.other_options.other_options_selector ) == "yes":
140 ${analysis_type.other_options.reorder}
141 ${analysis_type.other_options.non-deterministic}
142 --seed "${analysis_type.other_options.seed}"
143 #end if
144
145 #elif str( $analysis_type.analysis_type_selector ) == "cline":
146 ${analysis_type.cline}
147 #end if
148
149 ## view/sort and output BAM file
150 | samtools view -Su - | samtools sort -o - - > $output
151
152 ## rename unaligned sequence files
153 #if $library.type == "paired" and $output_unaligned_reads_l and $output_unaligned_reads_r:
154 #set left = str($output_unaligned_reads_l).replace( '.dat', '.1.dat' )
155 #set right = str($output_unaligned_reads_l).replace( '.dat', '.2.dat' )
156
157 ; mv $left $output_unaligned_reads_l;
158 mv $right $output_unaligned_reads_r
159 #end if
160
161 </command>
162
163 <!-- basic error handling -->
164 <stdio>
165 <exit_code range="1:" level="fatal" description="Tool exception" />
166 </stdio>
167
168 <inputs>
169 <!-- single/paired -->
170 <conditional name="library">
171 <param name="type" type="select" label="Is this single or paired library">
172 <option value="single">Single-end</option>
173 <option value="paired">Paired-end</option>
174 <option value="paired_collection">Paired-end Dataset Collection</option>
175 </param>
176
177 <when value="single">
178 <param name="input_1" format="fastqsanger" type="data" label="FASTQ file" help="Nucleotide-space: Must have Sanger-scaled quality values with ASCII offset 33"/>
179 <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" />
180 </when>
181 <when value="paired">
182 <param name="input_1" format="fastqsanger" type="data" label="FASTQ file" help="Nucleotide-space: Must have Sanger-scaled quality values with ASCII offset 33" />
183 <param name="input_2" format="fastqsanger" type="data" label="FASTQ file" help="Nucleotide-space: Must have Sanger-scaled quality values with ASCII offset 33" />
184 <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" />
185 <conditional name="paired_options">
186 <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">
187 <option value="no" selected="True">No</option>
188 <option value="yes">Yes</option>
189 </param>
190 <when value="yes">
191 <param name="I" type="integer" value="0" min="0" label="Set the minimum fragment length for valid paired-end alignments" help="-I/--minins; E.g. if `-I 60` is specified and a paired-end alignment consists of two 20-bp alignments in the appropriate orientation with a 20-bp gap between them, that alignment is considered valid (as long as `-X` is also satisfied). A 19-bp gap would not be valid in that case. If trimming options `-3` or `-5` are also used, the `-I` constraint is applied with respect to the untrimmed mates. The larger the difference between `-I` and `-X`, the slower Bowtie 2 will run. This is because larger differences bewteen `-I` and `-X` require that Bowtie 2 scan a larger window to determine if a concordant alignment exists. For typical fragment length ranges (200 to 400 nucleotides), Bowtie 2 is very efficient. Default=0"/>
192 <param name="X" type="integer" value="500" min="0" lable="Set the maximum fragment length for valid paired-end alignments" help="-X/--maxins; E.g. if `-X 100` is specified and a paired-end alignment consists of two 20-bp alignments in the proper orientation with a 60-bp gap between them, that alignment is considered valid (as long as `-I` is also satisfied). A 61-bp gap would not be valid in that case. If trimming options `-3` or `-5` are also used, the `-X` constraint is applied with respect to the untrimmed mates, not the trimmed mates; Deafult=500"/>
193 <param name="fr_rf_ff" type="select" display="radio" label="Select the upstream/downstream mate orientations for a valid paired-end alignment against the forward reference strand" help="--fr, --rf, or --ff; E.g., if `--fr` is specified and there is a candidate paired-end alignment where mate 1 appears upstream of the reverse complement of mate 2 and the fragment length constraints (`-I` and `-X`) are met, that alignment is valid. Also, if mate 2 appears upstream of the reverse complement of mate 1 and all other constraints are met, that too is valid. `--rf` likewise requires that an upstream mate1 be reverse-complemented and a downstream mate2 be forward-oriented. ` --ff` requires both an upstream mate 1 and a downstream mate 2 to be forward-oriented; Default=--fr (appropriatefor Illumina's Paired-end Sequencing Assay)">
194 <option value="--fr" selected="True">--fr</option>
195 <option value="--rf">--fr</option>
196 <option value="--ff">--ff</option>
197 </param>
198 <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"/>
199 <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"/>
200 <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. See also: `Mates can overlap, contain or dovetail each other` in help section below; default=False"/>
201 <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. See also: `Mates can overlap, contain or dovetail each other` in help section; default=False"/>
202 <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. See also: `Mates can overlap, contain or dovetail each other` in help section; default=False"/>
203 </when>
204 <when value="no">
205 <!-- do nothing -->
206 </when>
207 </conditional>
208 </when>
209 <when value="paired_collection">
210 <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" />
211 <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" />
212 <conditional name="paired_options">
213 <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">
214 <option value="no" selected="True">No</option>
215 <option value="yes">Yes</option>
216 </param>
217 <when value="yes">
218 <param name="I" type="integer" value="0" min="0" label="Set the minimum fragment length for valid paired-end alignments" help="-I/--minins; E.g. if `-I 60` is specified and a paired-end alignment consists of two 20-bp alignments in the appropriate orientation with a 20-bp gap between them, that alignment is considered valid (as long as `-X` is also satisfied). A 19-bp gap would not be valid in that case. If trimming options `-3` or `-5` are also used, the `-I` constraint is applied with respect to the untrimmed mates. The larger the difference between `-I` and `-X`, the slower Bowtie 2 will run. This is because larger differences bewteen `-I` and `-X` require that Bowtie 2 scan a larger window to determine if a concordant alignment exists. For typical fragment length ranges (200 to 400 nucleotides), Bowtie 2 is very efficient. Default=0"/>
219 <param name="X" type="integer" value="500" min="0" lable="Set the maximum fragment length for valid paired-end alignments" help="-X/--maxins; E.g. if `-X 100` is specified and a paired-end alignment consists of two 20-bp alignments in the proper orientation with a 60-bp gap between them, that alignment is considered valid (as long as `-I` is also satisfied). A 61-bp gap would not be valid in that case. If trimming options `-3` or `-5` are also used, the `-X` constraint is applied with respect to the untrimmed mates, not the trimmed mates; Deafult=500"/>
220 <param name="fr_rf_ff" type="select" display="radio" label="Select the upstream/downstream mate orientations for a valid paired-end alignment against the forward reference strand" help="--fr, --rf, or --ff; E.g., if `--fr` is specified and there is a candidate paired-end alignment where mate 1 appears upstream of the reverse complement of mate 2 and the fragment length constraints (`-I` and `-X`) are met, that alignment is valid. Also, if mate 2 appears upstream of the reverse complement of mate 1 and all other constraints are met, that too is valid. `--rf` likewise requires that an upstream mate1 be reverse-complemented and a downstream mate2 be forward-oriented. ` --ff` requires both an upstream mate 1 and a downstream mate 2 to be forward-oriented; Default=--fr (appropriatefor Illumina's Paired-end Sequencing Assay)">
221 <option value="--fr" selected="True">--fr</option>
222 <option value="--rf">--fr</option>
223 <option value="--ff">--ff</option>
224 </param>
225 <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"/>
226 <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"/>
227 <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. See also: `Mates can overlap, contain or dovetail each other` in help section below; default=False"/>
228 <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. See also: `Mates can overlap, contain or dovetail each other` in help section; default=False"/>
229 <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. See also: `Mates can overlap, contain or dovetail each other` in help section; default=False"/>
230 </when>
231 <when value="no">
232 <!-- do nothing -->
233 </when>
234 </conditional>
235 </when>
236 </conditional>
237
238 <!-- reference genome -->
239 <conditional name="reference_genome">
240 <param name="source" type="select" label="Will you select a reference genome from your history or use a built-in index?" help="Built-ins were indexed using default options. See `Indexes` section of help below">
241 <option value="indexed">Use a built-in genome index</option>
242 <option value="history">Use a genome from the history and build index</option>
243 </param>
244 <when value="indexed">
245 <param name="index" type="select" label="Select reference genome" help="If your genome of interest is not listed, contact the Galaxy team">
246 <options from_data_table="bowtie2_indexes">
247 <filter type="sort_by" column="2"/>
248 <validator type="no_options" message="No indexes are available for the selected input dataset"/>
249 </options>
250 </param>
251 </when>
252 <when value="history">
253 <param name="own_file" type="data" format="fasta" metadata_name="dbkey" label="Select reference genome" />
254 </when>
255 </conditional>
256
257 <!-- read group settings -->
258 <conditional name="read_group">
259 <param name="read_group_selector" type="select" label="Specify the read group for this file?" help="Specifying readgroup information can greatly simplify your downstream analyses by allowing combining multiple datasets. See help below for more details">
260 <option value="yes">Yes</option>
261 <option value="no" selected="True">No</option>
262 </param>
263 <when value="yes">
264 <param name="rgid" type="text" size="25" label="Read group identifier (ID). Each @RG line must have a unique ID. The value of ID is used in the RG tags of alignment records. Must be unique among all read groups in header section." help="--rg-id; Required if RG specified. Read group IDs may be modified when merging SAM files in order to handle collisions." />
265 <param name="rglb" type="text" size="25" label="Library name (LB)" help="--rg; Required if RG specified" />
266 <param name="rgpl" type="text" size="25" label="Platform/technology used to produce the reads (PL)" help="--rg; Required if RG specified. Valid values : CAPILLARY, LS454, ILLUMINA, SOLID, HELICOS, IONTORRENT and PACBIO" />
267 <param name="rgsm" type="text" size="25" label="Sample (SM)" help="--rg; Required if RG specified. Use pool name where a pool is being sequenced" />
268 </when>
269 <when value="no" />
270 </conditional>
271
272 <conditional name="analysis_type">
273 <param name="analysis_type_selector" type="select" label="Select analysis mode">
274 <option value="simple">1: Default setting only</option>
275 <option value="full">2: Full parameter list</option>
276 </param>
277 <when value="simple">
278 <param name="presets" type="select" display="radio" label="Do you want to use presets?" help="Allow selecting among several preset parameter settings. Choosing between these will result in dramatic changes in runtime. See help below to understand effects of these presets.">
279 <option value="no_presets" selected="True">No, just use defaults</option>
280 <option value="--very-fast">Very fast end-to-end (--very-fast)</option>
281 <option value="--fast">Fast end-to-end (--fast)</option>
282 <option value="--sensitive">Sensitive end-to-end (--sensitive)</option>
283 <option value="--very-sensitive">Very sensitive end-to-end (--very-sensitive)</option>
284 <option value="--very-fast-local">Very fast local (--very-fast-local)</option>
285 <option value="--fast-local">Fast local (--fast-local)</option>
286 <option value="--sensitive-local">Sensitive local (--sensitive-local)</option>
287 <option value="--very-sensitive-local">Very sensitive local (--very-sensitive-local)</option>
288 </param>
289 </when>
290 <when value="full">
291 <conditional name="input_options">
292 <param name="input_options_selector" type="select" label="Do you want to tweak input options?" help="See &quot;Input Options&quot; section of Help below for information">
293 <option value="yes">Yes</option>
294 <option value="no" selected="true">No</option>
295 </param>
296 <when value="yes">
297 <param name="skip" type="integer" min="0" value="0" lable="Skip (i.e. do not align) the first that many reads or pairs in the input" help="-s/--skip; default=0"/>
298 <param name="qupto" type="integer" min="-1" value="-1" label="Align the first that many reads or read pairs from the input (after the -s/--skip reads or pairs have been skipped), then stop" help="-u/--qupto; default=-1 (no limit)"/>
299 <param name="trim5" type="integer" min="0" value="0" label="Trim that many bases from 5' (left) end of each read before alignment" help="-5/--trim5; default=0"/>
300 <param name="trim3" type="integer" min="0" value="0" label="Trim that many bases from 3' (right) end of each read before alignment" help="-3/--trim3; default=0"/>
301 <param name="qv_encoding" type="select" display="radio" label="Select quality score encoding" help="See help below for more details">
302 <option value="--phred33">Input qualities are ASCII chars equal to the Phred quality plus 33. This is also called the "Phred+33" encoding, which is used by the very latest Illumina pipelines (--phred33)</option>
303 <option value="--phred64" selected="True">Input qualities are ASCII chars equal to the Phred quality plus 64. This is also called the "Phred+64" encoding (--phred64)</option>
304 </param>
305 <param name="solexa-quals" type="boolean" truevalue="--solexa-quals" falsevalue="" checked="False" label="Convert input qualities from Solexa (which can be negative) to Phred (which can't). This scheme was used in older Illumina GA Pipeline versions (prior to 1.3)" help="--solexa-quals; default=False"/>
306 <param name="int-quals" type="boolean" truevalue="--int-quals" falsevalue="" checked="False" label="Quality values are represented in the read input file as space-separated ASCII integers, e.g., 40 40 30 40..., rather than ASCII characters, e.g., II?I.... Integers are treated as being on the Phred quality scale unless --solexa-quals is also specified" help="--int-quals; default=False"/>
307 </when>
308 <when value="no">
309 <!-- do nothing -->
310 </when>
311 </conditional>
312 <conditional name="alignment_options">
313 <param name="alignment_options_selector" type="select" label="Do you want to tweak alignment options?" help="See &quot;Alignment Options&quot; section of Help below for information">
314 <option value="yes">Yes</option>
315 <option value="no" selected="true">No</option>
316 </param>
317 <when value="yes">
318 <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"/>
319 <param name="L" type="integer" min="0" value="20" 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 senstive. Default: the `--sensitive` preset is used by default, which sets `-L` to 20 both in `--end-to-end` mode and in `--local` mode"/>
320 <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. See also `Setting function options` below in help section. If the function returns a result less than 1, it is rounded up to 1. Default: the `--sensitive` preset is used by default, which sets `-i` to `S,1,1.15` in `--end-to-end` mode to `-i S,1,0.75` in `--local` mode"/>
321 <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. See also: [setting function options]. Reads exceeding this ceiling are [filtered out]. Default=`L,0,0.15`"/>
322 <param name="dpad" type="integer" min="0" value="15" lable="Pad dynamic programming problems by that many columns on either side to allow gaps" help="--dpad; default=15"/>
323 <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"/>
324 <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"/>
325 <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"/>
326 <param name="norc" type="boolean" truevalue="--norc" falsevalue="" selected="False" label="Do not attempt to align unpaired reads to the reverse (Crick) 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"/>
327 <param name="no_1mm_upfront" type="boolean" truevalue="--no-1mm-upfront" falsevalue="" selected="False" label="Prevent searching for 1-mismatch end-to-end alignments before using the multiseed heuristic (see `Multiseed alignment` section of help baelow)" help="--no-1mm-upfront; By default, Bowtie 2 will attempt to find either an exact or a 1-mismatch end-to-end alignment for the read *before* trying the [multiseed heuristic]. Such alignments can be found very quickly, and many short read alignments have exact or near-exact end-to-end alignments. However, this can lead to unexpected alignments when the user also sets options governing the [multiseed heuristic], like `-L` and `-N`. For instance, if the user specifies `-N 0` and `-L` equal to the length of the read, the user will be surprised to find 1-mismatch alignments reported. This option prevents Bowtie 2 from searching for 1-mismatch end-to-end alignments before using the [multiseed heuristic], which leads to the expected behavior when combined with options such as `-L` and `-N`. This comes at the expense of speed; Default=False"/>
328 <conditional name="align_mode">
329 <param name="align_mode_selector" type="select" display="radio" label="Select between `--local` and `--end-to-end` alignment modes" help="--local and --end-to-end; see help below for detailed explanation; default=--end-to-end">
330 <option value="end-to-end" selected="True">End to End (--end-to-end)</option>
331 <option value="local">Local (--local)</option>
332 </param>
333 <when value="end-to-end">
334 <param name="score-min" type="text" value="G,20,8" label="Set a function governing the minimum alignment score needed for an alignment to be considered `valid` (i.e. good enough to report)" help="--score-min; This is a function of read length. For instance, specifying `L,0,-0.6` sets the minimum-score function `f` to `f(x) = 0 + -0.6 * x`, where `x` is the read length. See also: [setting function options]. The default in `--end-to-end` mode is `L,-0.6,-0.6` and the default in `--local` mode is `G,20,8`"/>
335 </when>
336 <when value="local">
337 <param name="score-min" type="text" value="L,-0.6,-0.6" label="Set a function governing the minimum alignment score needed for an alignment to be considered `valid` (i.e. good enough to report)" help="--score-min; This is a function of read length. For instance, specifying `L,0,-0.6` sets the minimum-score function `f` to `f(x) = 0 + -0.6 * x`, where `x` is the read length. See also: [setting function options]. The default in `--end-to-end` mode is `L,-0.6,-0.6` and the default in `--local` mode is `G,20,8`"/>
338 </when>
339 </conditional>
340 </when>
341 <when value="no">
342 <!-- do nothing -->
343 </when>
344 </conditional>
345 <conditional name="scoring_options">
346 <param name="scoring_options_selector" type="select" label="Do you want to tweak scoring options?" help="See &quot;Scoring Options&quot; section of Help below for information">
347 <option value="yes">Yes</option>
348 <option value="no" selected="true">No</option>
349 </param>
350 <when value="yes">
351 <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"/>
352 <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"/>
353 <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"/>
354 <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"/>
355 <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"/>
356 <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"/>
357 <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"/>
358 </when>
359 <when value="no">
360 <!-- do nothing -->
361 </when>
362 </conditional>
363 <conditional name="reporting_options">
364 <param name="reporting_options_selector" type="select" label="Do you want to use -a or -k options" help="Make sure you understand implications of setting -k and -a. See &quot;Reporting Options&quot; section of Help below for information on -k and -a options">
365 <option value="no" selected="true">No, do not set</option>
366 <option value="k">Set -k option and enter -k value</option>
367 <option value="a">Set -a option</option>
368 </param>
369 <when value="no">
370 <!-- do nothing -->
371 </when>
372 <when value="-k">
373 <param name="k" type="integer" min="0" value="1" label="Searches for at most that many distinct, valid alignments for each read" help="-k; see detalied description of this option in the help section below. Note: Bowtie 2 is not designed with large values for `-k` in mind, and when aligning reads to long, repetitive genomes large `-k` can be very, very slow"/>
374 </when>
375 <when value="-a">
376 <!-- do nothing here; set -a flag on the command line-->
377 </when>
378 </conditional>
379 <conditional name="effort_options">
380 <param name="effort_options_selector" type="select" label="Do you want to tweak effort options?" help="See &quot;Effort Options&quot; section of Help below for information">
381 <option value="yes">Yes</option>
382 <option value="no" selected="true">No</option>
383 </param>
384 <when value="yes">
385 <param name="D" type="integer" value="15" min="0" label="Attemp that many consecutive seed extension attempts to `fail` before Bowtie 2 moves on, using the alignments found so far" help="-D; A seed extension `fails` if it does not yield a new best or a new second-best alignment. This limit is automatically adjusted up when -k or -a are specified. Default=15"/>
386 <param name="R" type="integer" value="2" min="0" label="Set the maximum number of times Bowtie 2 will `re-seed` reads with repetitive seeds" help="When `re-seeding`, Bowtie 2 simply chooses a new set of reads (same length, same number of mismatches allowed) at different offsets and searches for more alignments. A read is considered to have repetitive seeds if the total number of seed hits divided by the number of seeds that aligned at least once is greater than 300. Default=2"/>
387 </when>
388 <when value="no">
389 <!-- do nothing -->
390 </when>
391 </conditional>
392
393 <conditional name="sam_options">
394 <param name="sam_options_selector" type="select" label="Do you want to tweak SAM/BAM Options?" help="See &quot;Output Options&quot; section of Help below for information">
395 <option value="yes">Yes</option>
396 <option value="no" selected="true">No</option>
397 </param>
398 <when value="yes">
399 <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"/>
400 <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"/>
401 </when>
402 <when value="no">
403 <!-- do nothing -->
404 </when>
405 </conditional>
406 <conditional name="other_options">
407 <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">
408 <option value="yes">Yes</option>
409 <option value="no" selected="true">No</option>
410 </param>
411 <when value="yes">
412 <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"/>
413 <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"/>
414 <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"/>
415 </when>
416 <when value="no">
417 <!-- do nothing -->
418 </when>
419 </conditional>
420 </when>
421 </conditional>
422 <<<<<<< HEAD
423 =======
424
425 >>>>>>> 9c937b55955856d7c8950db2a60f2f8fd2b14152
426 </inputs>
427
428 <!-- define outputs -->
429
430 <outputs>
431
432 <data format="fastqsanger" name="output_unaligned_reads_l" label="${tool.name} on ${on_string}: unaligned reads (L)" >
433 <filter>library['unaligned_file'] is True</filter>
434 <actions>
435 <action type="format">
436 <option type="from_param" name="library.input_1" param_attribute="ext" />
437 </action>
438 </actions>
439 </data>
440 <data format="fastqsanger" name="output_unaligned_reads_r" label="${tool.name} on ${on_string}: unaligned reads (R)">
441 <filter>( library['type'] == "paired" or library['type'] == "paired_collection" ) and library['unaligned_file'] is True</filter>
442 <actions>
443 <action type="format">
444 <option type="from_param" name="library.input_1" param_attribute="ext" />
445 </action>
446 </actions>
447 </data>
448
449 <data format="bam" name="output" label="${tool.name} on ${on_string}: aligned reads in BAM format">
450 <actions>
451 <conditional name="reference_genome.source">
452 <when value="indexed">
453 <action type="metadata" name="dbkey">
454 <option type="from_data_table" name="bowtie2_indexes" column="1" offset="0">
455 <filter type="param_value" column="0" value="#" compare="startswith" keep="False"/>
456 <filter type="param_value" ref="reference_genome.index" column="0"/>
457 </option>
458 </action>
459 </when>
460 <when value="history">
461 <action type="metadata" name="dbkey">
462 <option type="from_param" name="reference_genome.own_file" param_attribute="dbkey" />
463 </action>
464 </when>
465 </conditional>
466 </actions>
467 </data>
468 </outputs>
469
470 <tests>
471 <test>
472 <!-- basic test on single paired default run -->
473 <param name="type" value="paired"/>
474 <param name="selection" value="no"/>
475 <param name="paired_options_selector" value="no"/>
476 <param name="unaligned_file" value="false"/>
477 <param name="analysis_type_selector" value="simple"/>
478 <param name="source" value="history" />
479 <<<<<<< HEAD
480 <param name="input_1" value="bowtie2/phix_reads.fastq" ftype="fastqsanger"/>
481 <param name="own_file" value="bowtie2/phix_genome.fasta" />
482 <output name="output" file="bowtie2/phix_mapped.bam" ftype="bam" lines_diff="2" />
483 =======
484 <param name="input_1" value="bowtie2-fq1.fq" ftype="fastqsanger"/>
485 <param name="input_2" value="bowtie2-fq2.fq" ftype="fastqsanger"/>
486 <param name="own_file" value="bowtie2-ref.fasta" />
487 <output name="output" file="bowtie2-test1.bam" ftype="bam" lines_diff="2"/>
488 >>>>>>> 9c937b55955856d7c8950db2a60f2f8fd2b14152
489 </test>
490 </tests>
491
492 <help>
493
494 **Bowtie2 Overview**
495
496 Bowtie2_ is an ultrafast and memory-efficient tool for aligning sequencing reads to long reference sequences. It is particularly good at aligning reads of about 50 up to 100s or 1,000s of characters to relatively long (e.g. mammalian) genomes. Bowtie 2 supports gapped, local, and paired-end alignment modes. Galaxy wrapper for Bowtie 2 outputs alignments in `BAM format`_, enabling interoperation with a large number of other tools available at this site.
497 Majority of information in this page is derived from an excellent `Bowtie2 manual`_ written by Ben Langmead.
498
499 <<<<<<< HEAD
500 *Please cite:* Langmead, Ben and Salzberg, Steven L (2012). Fast gapped-read alignment with Bowtie 2. In Nature Methods, 9 (4), pp. 357–359.
501 =======
502 .. _Bowtie2: http://bowtie-bio.sourceforge.net/bowtie2/
503 .. _`Bowtie2 manual`: http://bowtie-bio.sourceforge.net/bowtie2/manual.shtml
504 .. _`BAM format`: http://samtools.github.io/hts-specs/SAMv1.pdf
505 >>>>>>> 9c937b55955856d7c8950db2a60f2f8fd2b14152
506
507 -----
508
509 **Selecting reference genomes for Bowtie2**
510
511 Galaxy wrapper for Bowtie2 allows you select between precomputed and user-defined indices for reference genomes using **Will you select a reference genome from your history or use a built-in index?** flag. This flag has two options:
512
513 1. **Use a built-in genome index** - when selected (this is default), Galaxy provides the user with **Select reference genome index** dropdown. Genomes listed in this dropdown have been pre-indexed with bowtie2-build utility and are ready to be mapped against.
514 2. **Use a genome from the history and build index** - when selected, Galaxy provides the user with **Select reference genome sequence** dropdown. This dropdown is populated by all FASTA formatted files listed in your current history. If your genome of interest is uploaded into history it will be shown there. Selecting a genome from this dropdown will cause Galaxy to first transparently index it using bowtie2-build command, and then run mapping with bowtie2.
515
516 If your genome of interest is not listed here you have two choices:
517
518 1. Contact galaxy team using **Help->Support** link at the top of the interface and let us know that an index needs to be added
519 2. Upload your genome of interest as a FASTA file to Galaxy history and selected **Use a genome from the history and build index** option.
520
521 ------
522
523 .. class:: infomark
524
525 **Bowtie2 options**
526
527 Galaxy wrapper for Bowtie2 implements most but not all options available through the command line. Supported options are described below.
528
529 -----
530
531 **Inputs**
532
533 Bowtie 2 accepts files in Sanger FASTQ format (single or pair-end). Use the FASTQ Groomer to prepare your files.
534
535 ------
536
537 **Input options**::
538
539 -s/--skip &lt;int&gt;
540 Skip (i.e. do not align) the first `&lt;int&gt;` reads or pairs in the input.
541
542 -u/--qupto &lt;int&gt;
543 Align the first `&lt;int&gt;` reads or read pairs from the input (after the
544 `-s`/`--skip` reads or pairs have been skipped), then stop. Default: no limit.
545
546 -5/--trim5 &lt;int&gt;
547 Trim `&lt;int&gt;` bases from 5' (left) end of each read before alignment (default: 0).
548
549 -3/--trim3 &lt;int&gt;
550 Trim `&lt;int&gt;` bases from 3' (right) end of each read before alignment (default: 0).
551
552 --phred33
553 Input qualities are ASCII chars equal to the Phred quality plus 33. This is
554 also called the "Phred+33" encoding, which is used by the very latest Illumina
555 pipelines.
556
557 --phred64
558 Input qualities are ASCII chars equal to the [Phred quality] plus 64. This is
559 also called the "Phred+64" encoding.
560
561 --solexa-quals
562 Convert input qualities from Solexa Phred quality (which can be negative) to
563 Phred Phred quality (which can't). This scheme was used in older Illumina GA
564 Pipeline versions (prior to 1.3). Default: off.
565
566 --int-quals
567 Quality values are represented in the read input file as space-separated ASCII integers, e.g., `40 40 30 40`..., rather than ASCII characters, e.g., `II?I`....
568 Integers are treated as being on the [Phred quality] scale unless
569 `--solexa-quals` is also specified. Default: off.
570
571 ------
572
573 **Presets in `--end-to-end` mode**::
574
575 --very-fast
576 Same as: `-D 5 -R 1 -N 0 -L 22 -i S,0,2.50`
577
578 --fast
579 Same as: `-D 10 -R 2 -N 0 -L 22 -i S,0,2.50`
580
581 --sensitive
582 Same as: `-D 15 -R 2 -L 22 -i S,1,1.15` (default in `--end-to-end` mode)
583
584 --very-sensitive
585 Same as: `-D 20 -R 3 -N 0 -L 20 -i S,1,0.50`
586
587 ------
588
589 **Presets options in `--local` mode**::
590
591 --very-fast-local
592 Same as: `-D 5 -R 1 -N 0 -L 25 -i S,1,2.00`
593
594 --fast-local
595 Same as: `-D 10 -R 2 -N 0 -L 22 -i S,1,1.75`
596
597 --sensitive-local
598 Same as: `-D 15 -R 2 -N 0 -L 20 -i S,1,0.75` (default in `--local` mode)
599
600 --very-sensitive-local
601 Same as: `-D 20 -R 3 -N 0 -L 20 -i S,1,0.50`
602
603 ------
604
605 **Alignment options**::
606
607 -N &lt;int&gt;
608 Sets the number of mismatches to allowed in a seed alignment during [multiseed
609 alignment]. Can be set to 0 or 1. Setting this higher makes alignment slower
610 (often much slower) but increases sensitivity. Default: 0.
611
612 -L &lt;int&gt;
613 Sets the length of the seed substrings to align during [multiseed alignment].
614 Smaller values make alignment slower but more senstive. Default: the
615 `--sensitive` preset is used by default, which sets `-L` to 20 both in
616 `--end-to-end` mode and in `--local` mode.
617
618 -i &lt;func&gt;
619 Sets a function governing the interval between seed substrings to use during
620 [multiseed alignment]. For instance, if the read has 30 characers, and seed
621 length is 10, and the seed interval is 6, the seeds extracted will be:
622
623 Read: TAGCTACGCTCTACGCTATCATGCATAAAC
624 Seed 1 fw: TAGCTACGCT
625 Seed 1 rc: AGCGTAGCTA
626 Seed 2 fw: CGCTCTACGC
627 Seed 2 rc: GCGTAGAGCG
628 Seed 3 fw: ACGCTATCAT
629 Seed 3 rc: ATGATAGCGT
630 Seed 4 fw: TCATGCATAA
631 Seed 4 rc: TTATGCATGA
632
633 Since it's best to use longer intervals for longer reads, this parameter sets
634 the interval as a function of the read length, rather than a single
635 one-size-fits-all number. For instance, specifying `-i S,1,2.5` sets the
636 interval function `f` to `f(x) = 1 + 2.5 * sqrt(x)`, where x is the read length.
637 See also: [setting function options]. If the function returns a result less than
638 1, it is rounded up to 1. Default: the `--sensitive` preset is used by
639 default, which sets `-i` to `S,1,1.15` in `--end-to-end` mode to `-i S,1,0.75`
640 in `--local` mode.
641
642 --n-ceil &lt;func&gt;
643 Sets a function governing the maximum number of ambiguous characters (usually
644 `N`s and/or `.`s) allowed in a read as a function of read length. For instance,
645 specifying `-L,0,0.15` sets the N-ceiling function `f` to `f(x) = 0 + 0.15 * x`,
646 where x is the read length. See also: [setting function options]. Reads
647 exceeding this ceiling are [filtered out]. Default: `L,0,0.15`.
648
649 --dpad &lt;int&gt;
650 "Pads" dynamic programming problems by `&lt;int&gt;` columns on either side to allow
651 gaps. Default: 15.
652
653 --gbar &lt;int&gt;
654 Disallow gaps within `&lt;int&gt;` positions of the beginning or end of the read.
655 Default: 4.
656
657 --ignore-quals
658 When calculating a mismatch penalty, always consider the quality value at the
659 mismatched position to be the highest possible, regardless of the actual value.
660 I.e. input is treated as though all quality values are high. This is also the
661 default behavior when the input doesn't specify quality values (e.g. in `-f`,
662 `-r`, or `-c` modes).
663
664 --nofw/--norc
665 If `--nofw` is specified, `bowtie2` will not attempt to align unpaired reads to
666 the forward (Watson) reference strand. If `--norc` is specified, `bowtie2` will
667 not attempt to align unpaired reads against the reverse-complement (Crick)
668 reference strand. In paired-end mode, `--nofw` and `--norc` pertain to the
669 fragments; i.e. specifying `--nofw` causes `bowtie2` to explore only those
670 paired-end configurations corresponding to fragments from the reverse-complement
671 (Crick) strand. Default: both strands enabled.
672
673 --no-1mm-upfront
674 By default, Bowtie 2 will attempt to find either an exact or a 1-mismatch
675 end-to-end alignment for the read *before* trying the [multiseed heuristic]. Such
676 alignments can be found very quickly, and many short read alignments have exact or
677 near-exact end-to-end alignments. However, this can lead to unexpected
678 alignments when the user also sets options governing the [multiseed heuristic],
679 like `-L` and `-N`. For instance, if the user specifies `-N 0` and `-L` equal
680 to the length of the read, the user will be surprised to find 1-mismatch alignments
681 reported. This option prevents Bowtie 2 from searching for 1-mismatch end-to-end
682 alignments before using the [multiseed heuristic], which leads to the expected
683 behavior when combined with options such as `-L` and `-N`. This comes at the
684 expense of speed.
685
686 --end-to-end
687 In this mode, Bowtie 2 requires that the entire read align from one end to the
688 other, without any trimming (or "soft clipping") of characters from either end.
689 The match bonus `--ma` always equals 0 in this mode, so all alignment scores
690 are less than or equal to 0, and the greatest possible alignment score is 0.
691 This is mutually exclusive with `--local`. `--end-to-end` is the default mode.
692
693 --local
694 In this mode, Bowtie 2 does not require that the entire read align from one end
695 to the other. Rather, some characters may be omitted ("soft clipped") from the
696 ends in order to achieve the greatest possible alignment score. The match bonus
697 `--ma` is used in this mode, and the best possible alignment score is equal to
698 the match bonus (`--ma`) times the length of the read. Specifying `--local`
699 and one of the presets (e.g. `--local --very-fast`) is equivalent to specifying
700 the local version of the preset (`--very-fast-local`). This is mutually
701 exclusive with `--end-to-end`. `--end-to-end` is the default mode.
702
703 -----
704
705 **Scoring options**::
706
707 --ma &lt;int&gt;
708 Sets the match bonus. In `--local` mode `&lt;int&gt;` is added to the alignment
709 score for each position where a read character aligns to a reference character
710 and the characters match. Not used in `--end-to-end` mode. Default: 2.
711
712 --mp MX,MN
713 Sets the maximum (`MX`) and minimum (`MN`) mismatch penalties, both integers. A
714 number less than or equal to `MX` and greater than or equal to `MN` is
715 subtracted from the alignment score for each position where a read character
716 aligns to a reference character, the characters do not match, and neither is an
717 `N`. If `--ignore-quals` is specified, the number subtracted quals `MX`.
718 Otherwise, the number subtracted is `MN + floor( (MX-MN)(MIN(Q, 40.0)/40.0) )`
719 where Q is the Phred quality value. Default: `MX` = 6, `MN` = 2.
720
721 --np &lt;int&gt;
722 Sets penalty for positions where the read, reference, or both, contain an
723 ambiguous character such as `N`. Default: 1.
724
725 --rdg &lt;int1&gt;,&lt;int2&gt;
726 Sets the read gap open (`&lt;int1&gt;`) and extend (`&lt;int2&gt;`) penalties. A read gap of
727 length N gets a penalty of `&lt;int1&gt;` + N * `&lt;int2&gt;`. Default: 5, 3.
728
729 --rfg &lt;int1&gt;,&lt;int2&gt;
730 Sets the reference gap open (`&lt;int1&gt;`) and extend (`&lt;int2&gt;`) penalties. A
731 reference gap of length N gets a penalty of `&lt;int1&gt;` + N * `&lt;int2&gt;`. Default:
732 5, 3.
733
734 --score-min &lt;func&gt;
735 Sets a function governing the minimum alignment score needed for an alignment to
736 be considered "valid" (i.e. good enough to report). This is a function of read
737 length. For instance, specifying `L,0,-0.6` sets the minimum-score function `f`
738 to `f(x) = 0 + -0.6 * x`, where `x` is the read length. See also: [setting
739 function options]. The default in `--end-to-end` mode is `L,-0.6,-0.6` and
740 the default in `--local` mode is `G,20,8`.
741
742 -----
743
744 **Reporting options**::
745
746 -k &lt;int&gt;
747 By default, `bowtie2` searches for distinct, valid alignments for each read.
748 When it finds a valid alignment, it continues looking for alignments that are
749 nearly as good or better. The best alignment found is reported (randomly
750 selected from among best if tied). Information about the best alignments is
751 used to estimate mapping quality and to set SAM optional fields, such as
752 `AS:i` and `XS:i`.
753
754 When `-k` is specified, however, `bowtie2` behaves differently. Instead, it
755 searches for at most `&lt;int&gt;` distinct, valid alignments for each read. The
756 search terminates when it can't find more distinct valid alignments, or when it
757 finds `&lt;int&gt;`, whichever happens first. All alignments found are reported in
758 descending order by alignment score. The alignment score for a paired-end
759 alignment equals the sum of the alignment scores of the individual mates. Each
760 reported read or pair alignment beyond the first has the SAM 'secondary' bit
761 (which equals 256) set in its FLAGS field. For reads that have more than
762 `&lt;int&gt;` distinct, valid alignments, `bowtie2` does not guarantee that the
763 `&lt;int&gt;` alignments reported are the best possible in terms of alignment score.
764 `-k` is mutually exclusive with `-a`.
765
766 Note: Bowtie 2 is not designed with large values for `-k` in mind, and when
767 aligning reads to long, repetitive genomes large `-k` can be very, very slow.
768
769 -a
770 Like `-k` but with no upper limit on number of alignments to search for. `-a`
771 is mutually exclusive with `-k`.
772
773 Note: Bowtie 2 is not designed with `-a` mode in mind, and when
774 aligning reads to long, repetitive genomes this mode can be very, very slow.
775
776 -----
777
778 **Effort options**::
779
780 -D &lt;int&gt;
781 Up to `&lt;int&gt;` consecutive seed extension attempts can "fail" before Bowtie 2
782 moves on, using the alignments found so far. A seed extension "fails" if it
783 does not yield a new best or a new second-best alignment. This limit is
784 automatically adjusted up when -k or -a are specified. Default: 15.
785
786 -R &lt;int&gt;
787 `&lt;int&gt;` is the maximum number of times Bowtie 2 will "re-seed" reads with
788 repetitive seeds. When "re-seeding," Bowtie 2 simply chooses a new set of reads
789 (same length, same number of mismatches allowed) at different offsets and
790 searches for more alignments. A read is considered to have repetitive seeds if
791 the total number of seed hits divided by the number of seeds that aligned at
792 least once is greater than 300. Default: 2.
793
794 -----
795
796 **Paired-end options**::
797
798 -I/--minins &lt;int&gt;
799 The minimum fragment length for valid paired-end alignments. E.g. if `-I 60` is
800 specified and a paired-end alignment consists of two 20-bp alignments in the
801 appropriate orientation with a 20-bp gap between them, that alignment is
802 considered valid (as long as `-X` is also satisfied). A 19-bp gap would not
803 be valid in that case. If trimming options `-3` or `-5` are also used, the
804 `-I` constraint is applied with respect to the untrimmed mates.
805
806 The larger the difference between `-I` and `-X`, the slower Bowtie 2 will
807 run. This is because larger differences bewteen `-I` and `-X` require that
808 Bowtie 2 scan a larger window to determine if a concordant alignment exists.
809 For typical fragment length ranges (200 to 400 nucleotides), Bowtie 2 is very
810 efficient.
811
812 Default: 0 (essentially imposing no minimum)
813
814 -X/--maxins &lt;int&gt;
815 The maximum fragment length for valid paired-end alignments. E.g. if `-X 100`
816 is specified and a paired-end alignment consists of two 20-bp alignments in the
817 proper orientation with a 60-bp gap between them, that alignment is considered
818 valid (as long as `-I` is also satisfied). A 61-bp gap would not be valid in
819 that case. If trimming options `-3` or `-5` are also used, the `-X`
820 constraint is applied with respect to the untrimmed mates, not the trimmed
821 mates.
822
823 The larger the difference between `-I` and `-X`, the slower Bowtie 2 will
824 run. This is because larger differences bewteen `-I` and `-X` require that
825 Bowtie 2 scan a larger window to determine if a concordant alignment exists.
826 For typical fragment length ranges (200 to 400 nucleotides), Bowtie 2 is very
827 efficient.
828
829 Default: 500.
830
831 --fr/--rf/--ff
832 The upstream/downstream mate orientations for a valid paired-end alignment
833 against the forward reference strand. E.g., if `--fr` is specified and there is
834 a candidate paired-end alignment where mate 1 appears upstream of the reverse
835 complement of mate 2 and the fragment length constraints (`-I` and `-X`) are
836 met, that alignment is valid. Also, if mate 2 appears upstream of the reverse
837 complement of mate 1 and all other constraints are met, that too is valid.
838 `--rf` likewise requires that an upstream mate1 be reverse-complemented and a
839 downstream mate2 be forward-oriented. ` --ff` requires both an upstream mate 1
840 and a downstream mate 2 to be forward-oriented. Default: `--fr` (appropriate
841 for Illumina's Paired-end Sequencing Assay).
842
843 --no-mixed
844 By default, when `bowtie2` cannot find a concordant or discordant alignment for
845 a pair, it then tries to find alignments for the individual mates. This option
846 disables that behavior.
847
848 --no-discordant
849 By default, `bowtie2` looks for discordant alignments if it cannot find any
850 concordant alignments. A discordant alignment is an alignment where both mates
851 align uniquely, but that does not satisfy the paired-end constraints
852 (`--fr`/`--rf`/`--ff`, `-I`, `-X`). This option disables that behavior.
853
854 --dovetail
855 If the mates "dovetail", that is if one mate alignment extends past the
856 beginning of the other such that the wrong mate begins upstream, consider that
857 to be concordant. See also: [Mates can overlap, contain or dovetail each
858 other]. Default: mates cannot dovetail in a concordant alignment.
859
860 --no-contain
861 If one mate alignment contains the other, consider that to be non-concordant.
862 See also: [Mates can overlap, contain or dovetail each other]. Default: a mate
863 can contain the other in a concordant alignment.
864
865 --no-overlap
866 If one mate alignment overlaps the other at all, consider that to be
867 non-concordant. See also: [Mates can overlap, contain or dovetail each other].
868 Default: mates can overlap in a concordant alignment.
869
870 ------
871
872 **SAM options**::
873
874 --rg-id &lt;text&gt;
875 Set the read group ID to `&lt;text&gt;`. This causes the SAM `@RG` header line to be
876 printed, with `&lt;text&gt;` as the value associated with the `ID:` tag. It also
877 causes the `RG:Z:` extra field to be attached to each SAM output record, with
878 value set to `&lt;text&gt;`.
879
880 --rg &lt;text&gt;
881 Add `&lt;text&gt;` (usually of the form `TAG:VAL`, e.g. `SM:Pool1`) as a field on the
882 `@RG` header line. Note: in order for the `@RG` line to appear, `--rg-id`
883 must also be specified. This is because the `ID` tag is required by the [SAM
884 Spec][SAM]. Specify `--rg` multiple times to set multiple fields. See the
885 [SAM Spec][SAM] for details about what fields are legal.
886
887 --omit-sec-seq
888 When printing secondary alignments, Bowtie 2 by default will write out the `SEQ`
889 and `QUAL` strings. Specifying this option causes Bowtie 2 to print an asterix
890 in those fields instead.
891
892 -----
893
894 **Other options**::
895
896 --reorder
897 Guarantees that output SAM records are printed in an order corresponding to the
898 order of the reads in the original input file, even when `-p` is set greater
899 than 1. Specifying `--reorder` and setting `-p` greater than 1 causes Bowtie
900 2 to run somewhat slower and use somewhat more memory then if `--reorder` were
901 not specified. Has no effect if `-p` is set to 1, since output order will
902 naturally correspond to input order in that case.
903
904 --seed &lt;int&gt;
905 Use `&lt;int&gt;` as the seed for pseudo-random number generator. Default: 0.
906
907 --non-deterministic
908 Normally, Bowtie 2 re-initializes its pseudo-random generator for each read. It
909 seeds the generator with a number derived from (a) the read name, (b) the
910 nucleotide sequence, (c) the quality sequence, (d) the value of the `--seed`
911 option. This means that if two reads are identical (same name, same
912 nucleotides, same qualities) Bowtie 2 will find and report the same alignment(s)
913 for both, even if there was ambiguity. When `--non-deterministic` is specified,
914 Bowtie 2 re-initializes its pseudo-random generator for each read using the
915 current time. This means that Bowtie 2 will not necessarily report the same
916 alignment for two identical reads. This is counter-intuitive for some users,
917 but might be more appropriate in situations where the input consists of many
918 identical reads.
919
920 </help>
921 <citations>
922 <<<<<<< HEAD
923 <citation type="doi">10.1038/nmeth.1923</citation>
924 </citations>
925 =======
926 <citation type="doi">10.1186/gb-2009-10-3-r25</citation>
927 <citation type="doi">10.1038/nmeth.1923</citation>
928 </citations>
929 >>>>>>> 9c937b55955856d7c8950db2a60f2f8fd2b14152
930 </tool>