22
|
1 <tool id="bowtie_remove_rrna_wrapper" name="Remove rRNA using Bowtie" version="0.1.2">
|
|
2 <requirements>
|
|
3 <requirement type="package" version="1.3.1">bowtie</requirement>
|
|
4 <requirement type="package" version="2.7">python</requirement>
|
|
5 </requirements>
|
|
6 <command detect_errors="exit_code"><![CDATA[
|
|
7 python2 '$__tool_directory__/bowtie_wrapper.py'
|
|
8 ## Set number of threads
|
|
9 --threads="\${GALAXY_SLOTS:-4}"
|
|
10 ## Outputs
|
|
11 --output="${output}"
|
|
12 #if str( $singlePaired.sPaired ) == "single"
|
|
13 #if $output_unmapped_reads_l
|
|
14 --output_unmapped_reads="${output_unmapped_reads_l}"
|
|
15 #end if
|
|
16 #if $output_suppressed_reads_l
|
|
17 --output_suppressed_reads="${output_suppressed_reads_l}"
|
|
18 #end if
|
|
19 --galaxy_input_format="${singlePaired.sInput1.ext}"
|
|
20 #else
|
|
21 #if $output_unmapped_reads_l and $output_unmapped_reads_r
|
|
22 --output_unmapped_reads_l="${output_unmapped_reads_l}"
|
|
23 --output_unmapped_reads_r="${output_unmapped_reads_r}"
|
|
24 #end if
|
|
25 #if $output_suppressed_reads_l and $output_suppressed_reads_l
|
|
26 --output_suppressed_reads_l="${output_suppressed_reads_l}"
|
|
27 --output_suppressed_reads_r="${output_suppressed_reads_r}"
|
|
28 #end if
|
|
29 --galaxy_input_format="${singlePaired.pInput1.ext}"
|
|
30 #end if
|
|
31 ## Inputs
|
|
32 --dataType="solexa" ##this indicates that nucleotide base space is used in the wrapper
|
|
33 --suppressHeader="${suppressHeader}"
|
|
34 --genomeSource="${refGenomeSource.genomeSource}"
|
|
35 #if $refGenomeSource.genomeSource == "history":
|
|
36 ##index already exists
|
|
37 #if $refGenomeSource.ownFile.extension.startswith( 'bowtie_' ):
|
|
38 ##user previously built
|
|
39 --ref="${refGenomeSource.ownFile.extra_files_path}/${refGenomeSource.ownFile.metadata.base_name}"
|
|
40 --do_not_build_index
|
|
41 #else:
|
|
42 ##build index on the fly
|
|
43 --ref="${refGenomeSource.ownFile}"
|
|
44 --indexSettings="${refGenomeSource.indexParams.indexSettings}"
|
|
45 #if $refGenomeSource.indexParams.indexSettings == "indexFull":
|
|
46 --iautoB="${refGenomeSource.indexParams.autoBehavior.autoB}"
|
|
47 #if $refGenomeSource.indexParams.autoBehavior.autoB == "set":
|
|
48 --ipacked="${refGenomeSource.indexParams.autoBehavior.packed}"
|
|
49 --ibmax="${refGenomeSource.indexParams.autoBehavior.bmax}"
|
|
50 --ibmaxdivn="${refGenomeSource.indexParams.autoBehavior.bmaxdivn}"
|
|
51 --idcv="${refGenomeSource.indexParams.autoBehavior.dcv}"
|
|
52 #end if
|
|
53 --inodc="${refGenomeSource.indexParams.nodc}"
|
|
54 --inoref="${refGenomeSource.indexParams.noref}"
|
|
55 --ioffrate="${refGenomeSource.indexParams.offrate}"
|
|
56 --iftab="${refGenomeSource.indexParams.ftab}"
|
|
57 --intoa="${refGenomeSource.indexParams.ntoa}"
|
|
58 --iendian="${refGenomeSource.indexParams.endian}"
|
|
59 --iseed="${refGenomeSource.indexParams.seed}"
|
|
60 --icutoff="${refGenomeSource.indexParams.cutoff}"
|
|
61 #end if
|
|
62 #end if
|
|
63 #else
|
|
64 ##use pre-built index
|
|
65 --ref="${refGenomeSource.index.fields.path}"
|
|
66 #end if
|
|
67 --paired="${singlePaired.sPaired}"
|
|
68 #if $singlePaired.sPaired == "single":
|
|
69 --input1="${singlePaired.sInput1}"
|
|
70 --params="${singlePaired.sParams.sSettingsType}"
|
|
71 #if $singlePaired.sParams.sSettingsType == "full":
|
|
72 --skip="${singlePaired.sParams.sSkip}"
|
|
73 --alignLimit="${singlePaired.sParams.sAlignLimit}"
|
|
74 --trimH="${singlePaired.sParams.sTrimH}"
|
|
75 --trimL="${singlePaired.sParams.sTrimL}"
|
|
76 --mismatchSeed="${singlePaired.sParams.sMismatchSeed}"
|
|
77 --mismatchQual="${singlePaired.sParams.sMismatchQual}"
|
|
78 --seedLen="${singlePaired.sParams.sSeedLen}"
|
|
79 --rounding="${singlePaired.sParams.sRounding}"
|
|
80 --maqSoapAlign="${singlePaired.sParams.sMaqSoapAlign}"
|
|
81 --reverseAlign="${singlePaired.sParams.sReverseAlign}"
|
|
82 --tryHard="${singlePaired.sParams.sTryHard}"
|
|
83 --valAlign="${singlePaired.sParams.sValAlign}"
|
|
84 --allValAligns="${singlePaired.sParams.sAllValAligns}"
|
|
85 --suppressAlign="${singlePaired.sParams.sSuppressAlign}"
|
|
86 --best="${singlePaired.sParams.sBestOption.sBest}"
|
|
87 #if $singlePaired.sParams.sBestOption.sBest == "doBest":
|
|
88 --maxBacktracks="${singlePaired.sParams.sBestOption.sdMaxBacktracks}"
|
|
89 --strata="${singlePaired.sParams.sBestOption.sdStrata}"
|
|
90 #else:
|
|
91 --maxBacktracks="${singlePaired.sParams.sBestOption.snMaxBacktracks}"
|
|
92 #end if
|
|
93 --offrate="${singlePaired.sParams.sOffrate}"
|
|
94 --seed="${singlePaired.sParams.sSeed}"
|
|
95 #end if
|
|
96 #else:
|
|
97 --input1="${singlePaired.pInput1}"
|
|
98 --input2="${singlePaired.pInput2}"
|
|
99 --maxInsert="${singlePaired.pMaxInsert}"
|
|
100 --mateOrient="${singlePaired.pMateOrient}"
|
|
101 --params="${singlePaired.pParams.pSettingsType}"
|
|
102 #if $singlePaired.pParams.pSettingsType == "full":
|
|
103 --skip="${singlePaired.pParams.pSkip}"
|
|
104 --alignLimit="${singlePaired.pParams.pAlignLimit}"
|
|
105 --trimH="${singlePaired.pParams.pTrimH}"
|
|
106 --trimL="${singlePaired.pParams.pTrimL}"
|
|
107 --mismatchSeed="${singlePaired.pParams.pMismatchSeed}"
|
|
108 --mismatchQual="${singlePaired.pParams.pMismatchQual}"
|
|
109 --seedLen="${singlePaired.pParams.pSeedLen}"
|
|
110 --rounding="${singlePaired.pParams.pRounding}"
|
|
111 --maqSoapAlign="${singlePaired.pParams.pMaqSoapAlign}"
|
|
112 --minInsert="${singlePaired.pParams.pMinInsert}"
|
|
113 --maxAlignAttempt="${singlePaired.pParams.pMaxAlignAttempt}"
|
|
114 --forwardAlign="${singlePaired.pParams.pForwardAlign}"
|
|
115 --reverseAlign="${singlePaired.pParams.pReverseAlign}"
|
|
116 --tryHard="${singlePaired.pParams.pTryHard}"
|
|
117 --valAlign="${singlePaired.pParams.pValAlign}"
|
|
118 --allValAligns="${singlePaired.pParams.pAllValAligns}"
|
|
119 --suppressAlign="${singlePaired.pParams.pSuppressAlign}"
|
|
120 --best="${singlePaired.pParams.pBestOption.pBest}"
|
|
121 #if $singlePaired.pParams.pBestOption.pBest == "doBest":
|
|
122 --maxBacktracks="${singlePaired.pParams.pBestOption.pdMaxBacktracks}"
|
|
123 --strata="${singlePaired.pParams.pBestOption.pdStrata}"
|
|
124 #else:
|
|
125 --maxBacktracks="${singlePaired.pParams.pBestOption.pnMaxBacktracks}"
|
|
126 #end if
|
|
127 --offrate="${singlePaired.pParams.pOffrate}"
|
|
128 --seed="${singlePaired.pParams.pSeed}"
|
|
129 #end if
|
|
130 #end if
|
|
131 ]]></command>
|
|
132 <inputs>
|
|
133 <conditional name="refGenomeSource">
|
|
134 <param name="genomeSource" 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">
|
|
135 <option value="indexed">Use a built-in index</option>
|
|
136 <option value="history">Use one from the history</option>
|
|
137 </param>
|
|
138 <when value="indexed">
|
|
139 <param name="index" type="select" label="Select the appropriate rRNA index" help="If the rRNA index for your organism is not listed, you will need to upload a fasta file of the rRNA sequences. ">
|
|
140 <options from_data_table="bowtie_rrna_indexes">
|
|
141 <filter type="sort_by" column="2" />
|
|
142 <validator type="no_options" message="No indexes are available" />
|
|
143 </options>
|
|
144 </param>
|
|
145 </when>
|
|
146 <when value="history">
|
|
147 <param name="ownFile" type="data" format="bowtie_base_index,fasta" label="Select the reference genome" />
|
|
148 <conditional name="indexParams">
|
|
149 <param name="indexSettings" type="select" label="Choose whether to use Default options for building indices or to Set your own" help="These settings are ignored when using a prebuilt index">
|
|
150 <option value="indexPreSet">Default</option>
|
|
151 <option value="indexFull">Set your own</option>
|
|
152 </param>
|
|
153 <when value="indexPreSet" />
|
|
154 <when value="indexFull">
|
|
155 <conditional name="autoBehavior">
|
|
156 <param name="autoB" type="select" label="Choose to use automatic or specified behavior for some parameters (-a)" help="Allows you to set --packed, --bmax, --bmaxdivn, and --dcv">
|
|
157 <option value="auto">Automatic behavior</option>
|
|
158 <option value="set">Set values (sets --noauto and allows others to be set)</option>
|
|
159 </param>
|
|
160 <when value="auto" />
|
|
161 <when value="set">
|
|
162 <param name="packed" type="select" label="Whether or not to use a packed representation for DNA strings (--packed)">
|
|
163 <option value="unpacked">Use regular representation</option>
|
|
164 <option value="packed">Use packed representation</option>
|
|
165 </param>
|
|
166 <param name="bmax" type="integer" value="-1" label="Maximum number of suffixes allowed in a block (--bmax)" help="-1 for not specified. Must be at least 1" />
|
|
167 <param name="bmaxdivn" type="integer" value="4" label="Maximum number of suffixes allowed in a block as a fraction of the length of the reference (--bmaxdivn)" />
|
|
168 <param name="dcv" type="integer" value="1024" label="The period for the difference-cover sample (--dcv)" />
|
|
169 </when>
|
|
170 </conditional>
|
|
171 <param name="nodc" type="select" label="Whether or not to disable the use of the difference-cover sample (--nodc)" help="Suffix sorting becomes quadratic-time in the worst case (with a very repetitive reference)">
|
|
172 <option value="dc">Use difference-cover sample</option>
|
|
173 <option value="nodc">Disable difference-cover sample</option>
|
|
174 </param>
|
|
175 <param name="noref" type="select" label="Whether or not to build the part of the reference index used only in paired-end alignment (-r)">
|
|
176 <option value="ref">Build all index files</option>
|
|
177 <option value="noref">Do not build paired-end alignment index files</option>
|
|
178 </param>
|
|
179 <param name="offrate" type="integer" value="5" label="How many rows get marked during annotation of some or all of the Burrows-Wheeler rows (-o)" />
|
|
180 <param name="ftab" type="integer" value="10" label="The size of the lookup table used to calculate an initial Burrows-Wheeler range with respect to the first n characters of the query (-t)" help="ftab is 4^(n+1) bytes" />
|
|
181 <param name="ntoa" type="select" label="Whether or not to convert Ns in the reference sequence to As (--ntoa)">
|
|
182 <option value="no">Do not convert Ns</option>
|
|
183 <option value="yes">Convert Ns to As</option>
|
|
184 </param>
|
|
185 <param name="endian" type="select" label="Endianness to use when serializing integers to the index file (--big/--little)" help="Little is most appropriate for Intel- and AMD-based architecture">
|
|
186 <option value="little">Little</option>
|
|
187 <option value="big">Big</option>
|
|
188 </param>
|
|
189 <param name="seed" type="integer" value="-1" label="Seed for the pseudorandom number generator (--seed)" help="Use -1 to use default" />
|
|
190 <param name="cutoff" type="integer" value="-1" label="Number of first bases of the reference sequence to index (--cutoff)" help="Use -1 to use default" />
|
|
191 </when> <!-- indexFull -->
|
|
192 </conditional> <!-- indexParams -->
|
|
193 </when> <!-- history -->
|
|
194 </conditional> <!-- refGenomeSource -->
|
|
195 <conditional name="singlePaired">
|
|
196 <param name="sPaired" type="select" label="Is this library mate-paired?">
|
|
197 <option value="single">Single-end</option>
|
|
198 <option value="paired">Paired-end</option>
|
|
199 </param>
|
|
200 <when value="single">
|
|
201 <param name="sInput1" type="data" format="fastqsanger,fastqillumina,fastqsolexa" label="FASTQ file" help="Must have ASCII encoded quality scores"/>
|
|
202 <conditional name="sParams">
|
|
203 <param name="sSettingsType" type="select" label="Bowtie settings to use" help="For most mapping needs use Commonly used settings. If you want full control use Full parameter list">
|
|
204 <option value="preSet">Commonly used</option>
|
|
205 <option value="full" selected="true">Full parameter list</option>
|
|
206 </param>
|
|
207 <when value="preSet" />
|
|
208 <when value="full">
|
|
209 <param name="sSkip" type="integer" value="0" label="Skip the first n reads (-s)" />
|
|
210 <param name="sAlignLimit" type="integer" value="-1" label="Only align the first n reads (-u)" help="-1 for off" />
|
|
211 <param name="sTrimH" type="integer" value="0" label="Trim n bases from high-quality (left) end of each read before alignment (-5)" />
|
|
212 <param name="sTrimL" type="integer" value="0" label="Trim n bases from low-quality (right) end of each read before alignment (-3)" />
|
|
213 <param name="sMismatchSeed" type="integer" value="2" label="Maximum number of mismatches permitted in the seed (-n)" help="May be 0, 1, 2, or 3" />
|
|
214 <param name="sMismatchQual" type="integer" value="70" label="Maximum permitted total of quality values at mismatched read positions (-e)" />
|
|
215 <param name="sSeedLen" type="integer" value="25" label="Seed length (-l)" help="Minimum value is 5" />
|
|
216 <param name="sRounding" type="select" label="Whether or not to round to the nearest 10 and saturating at 30 (--nomaqround)">
|
|
217 <option value="round">Round to nearest 10</option>
|
|
218 <option value="noRound">Do not round to nearest 10</option>
|
|
219 </param>
|
|
220 <param name="sMaqSoapAlign" type="integer" value="3" label="Number of mismatches for SOAP-like alignment policy (-v)" help="-1 for default MAQ-like alignment policy" />
|
|
221 <param name="sReverseAlign" type="select" label="Choose whether or not to align against the reverse-complement reference strand (--norc)">
|
|
222 <option value="noReverse">Do not align against the reverse-complement reference strand</option>
|
|
223 <option value="reverse">Align against the reverse-complement reference strand</option>
|
|
224 </param>
|
|
225 <param name="sTryHard" type="select" label="Whether or not to try as hard as possible to find valid alignments when they exist (-y)" help="Tryhard mode is much slower than regular mode">
|
|
226 <option value="noTryHard">Do not try hard</option>
|
|
227 <option value="doTryHard">Try hard</option>
|
|
228 </param>
|
|
229 <param name="sValAlign" type="integer" value="1" label="Report up to n valid alignments per read (-k)" />
|
|
230 <param name="sAllValAligns" type="select" label="Whether or not to report all valid alignments per read (-a)">
|
|
231 <option value="noAllValAligns">Do not report all valid alignments</option>
|
|
232 <option value="doAllValAligns">Report all valid alignments</option>
|
|
233 </param>
|
|
234 <param name="sSuppressAlign" type="integer" value="-1" label="Suppress all alignments for a read if more than n reportable alignments exist (-m)" help="-1 for no limit" />
|
|
235 <param name="sMaxFile" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write all reads with a number of valid alignments exceeding the limit set with the -m option to a file (--max)" />
|
|
236 <param name="sUnmappedFile" type="boolean" truevalue="true" falsevalue="false" checked="True" label="Write all reads that could not be aligned to a file (--un)" />
|
|
237 <conditional name="sBestOption">
|
|
238 <param name="sBest" type="select" label="Whether or not to make Bowtie guarantee that reported singleton alignments are 'best' in terms of stratum and in terms of the quality values at the mismatched positions (--best)" help="Removes all strand bias. Only affects which alignments are reported by Bowtie. Runs slower with best option">
|
|
239 <option value="noBest">Do not use best</option>
|
|
240 <option value="doBest">Use best</option>
|
|
241 </param>
|
|
242 <when value="noBest">
|
|
243 <param name="snMaxBacktracks" type="integer" value="125" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
|
|
244 </when>
|
|
245 <when value="doBest">
|
|
246 <param name="sdMaxBacktracks" type="integer" value="800" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
|
|
247 <param name="sdStrata" type="select" label="Whether or not to report only those alignments that fall in the best stratum if many valid alignments exist and are reportable (--strata)">
|
|
248 <option value="noStrata">Do not use strata option</option>
|
|
249 <option value="doStrata">Use strata option</option>
|
|
250 </param>
|
|
251 </when>
|
|
252 </conditional> <!-- bestOption -->
|
|
253 <param name="sOffrate" type="integer" value="-1" label="Override the offrate of the index to n (-o)" help="-1 for default" />
|
|
254 <param name="sSeed" type="integer" value="-1" label="Seed for pseudo-random number generator (--seed)" help="-1 for default" />
|
|
255 </when> <!-- full -->
|
|
256 </conditional> <!-- sParams -->
|
|
257 </when> <!-- single -->
|
|
258 <when value="paired">
|
|
259 <param name="pInput1" type="data" format="fastqsanger,fastqillumina,fastqsolexa" label="Forward FASTQ file" help="Must have ASCII encoded quality scores"/>
|
|
260 <param name="pInput2" type="data" format="fastqsanger,fastqillumina,fastqsolexa" label="Reverse FASTQ file" help="File format must match the Forward FASTQ file">
|
|
261 <options options_filter_attribute="ext" from_parameter="tool.app.datatypes_registry.datatypes_by_extension" transform_lines="obj.keys()">
|
|
262 <column name="name" index="0"/>
|
|
263 <column name="value" index="0"/>
|
|
264 <filter type="param_value" ref="pInput1" ref_attribute="ext" column="0"/>
|
|
265 </options>
|
|
266 </param>
|
|
267 <param name="pMaxInsert" type="integer" value="1000" label="Maximum insert size for valid paired-end alignments (-X)" />
|
|
268 <param name="pMateOrient" type="select" label="The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand (--fr/--rf/--ff)">
|
|
269 <option value="fr">FR (for Illumina)</option>
|
|
270 <option value="rf">RF</option>
|
|
271 <option value="ff">FF (for SOLiD)</option>
|
|
272 </param>
|
|
273 <conditional name="pParams">
|
|
274 <param name="pSettingsType" type="select" label="Bowtie settings to use" help="For most mapping needs use Commonly used settings. If you want full control use Full parameter list">
|
|
275 <option value="preSet">Commonly used</option>
|
|
276 <option value="full">Full parameter list</option>
|
|
277 </param>
|
|
278 <when value="preSet" />
|
|
279 <when value="full">
|
|
280 <param name="pSkip" type="integer" value="0" label="Skip the first n pairs (-s)" />
|
|
281 <param name="pAlignLimit" type="integer" value="-1" label="Only align the first n pairs (-u)" help="-1 for off" />
|
|
282 <param name="pTrimH" type="integer" value="0" label="Trim n bases from high-quality (left) end of each read before alignment (-5)" />
|
|
283 <param name="pTrimL" type="integer" value="0" label="Trim n bases from low-quality (right) end of each read before alignment (-3)" />
|
|
284 <param name="pMismatchSeed" type="integer" value="2" label="Maximum number of mismatches permitted in the seed (-n)" help="May be 0, 1, 2, or 3" />
|
|
285 <param name="pMismatchQual" type="integer" value="70" label="Maximum permitted total of quality values at mismatched read positions (-e)" />
|
|
286 <param name="pSeedLen" type="integer" value="25" label="Seed length (-l)" help="Minimum value is 5" />
|
|
287 <param name="pRounding" type="select" label="Whether or not to round to the nearest 10 and saturating at 30 (--nomaqround)">
|
|
288 <option value="round">Round to nearest 10</option>
|
|
289 <option value="noRound">Do not round to nearest 10</option>
|
|
290 </param>
|
|
291 <param name="pMaqSoapAlign" type="integer" value="-1" label="Number of mismatches for SOAP-like alignment policy (-v)" help="-1 for default MAQ-like alignment policy" />
|
|
292 <param name="pMinInsert" type="integer" value="0" label="Minimum insert size for valid paired-end alignments (-I)" />
|
|
293 <param name="pMaxAlignAttempt" type="integer" value="100" label="Maximum number of attempts Bowtie will make to match an alignment for one mate with an alignment for the opposite mate (--pairtries)" />
|
|
294 <param name="pForwardAlign" type="select" label="Choose whether or not to attempt to align the forward reference strand (--nofw)">
|
|
295 <option value="forward">Align against the forward reference strand</option>
|
|
296 <option value="noForward">Do not align against the forward reference strand</option>
|
|
297 </param>
|
|
298 <param name="pReverseAlign" type="select" label="Choose whether or not to align against the reverse-complement reference strand (--norc)">
|
|
299 <option value="reverse">Align against the reverse-complement reference strand</option>
|
|
300 <option value="noReverse">Do not align against the reverse-complement reference strand</option>
|
|
301 </param>
|
|
302 <param name="pTryHard" type="select" label="Whether or not to try as hard as possible to find valid alignments when they exist (-y)" help="Tryhard mode is much slower than regular mode">
|
|
303 <option value="noTryHard">Do not try hard</option>
|
|
304 <option value="doTryHard">Try hard</option>
|
|
305 </param>
|
|
306 <param name="pValAlign" type="integer" value="1" label="Report up to n valid arguments per pair (-k)" />
|
|
307 <param name="pAllValAligns" type="select" label="Whether or not to report all valid alignments per pair (-a)">
|
|
308 <option value="noAllValAligns">Do not report all valid alignments</option>
|
|
309 <option value="doAllValAligns">Report all valid alignments</option>
|
|
310 </param>
|
|
311 <param name="pSuppressAlign" type="integer" value="-1" label="Suppress all alignments for a pair if more than n reportable alignments exist (-m)" help="-1 for no limit" />
|
|
312 <param name="pMaxFile" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write all reads with a number of valid alignments exceeding the limit set with the -m option to a file (--max)" />
|
|
313 <param name="pUnmappedFile" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write all reads that could not be aligned to a file (--un)" />
|
|
314 <conditional name="pBestOption">
|
|
315 <param name="pBest" type="select" label="Whether or not to make Bowtie guarantee that reported singleton alignments are 'best' in terms of stratum and in terms of the quality values at the mismatched positions (--best)" help="Removes all strand bias. Only affects which alignments are reported by Bowtie. Runs slower with best option">
|
|
316 <option value="noBest">Do not use best</option>
|
|
317 <option value="doBest">Use best</option>
|
|
318 </param>
|
|
319 <when value="noBest">
|
|
320 <param name="pnMaxBacktracks" type="integer" value="125" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
|
|
321 </when>
|
|
322 <when value="doBest">
|
|
323 <param name="pdMaxBacktracks" type="integer" value="800" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
|
|
324 <param name="pdStrata" type="select" label="Whether or not to report only those alignments that fall in the best stratum if many valid alignments exist and are reportable (--strata)">
|
|
325 <option value="noStrata">Do not use strata option</option>
|
|
326 <option value="doStrata">Use strata option</option>
|
|
327 </param>
|
|
328 </when>
|
|
329 </conditional>
|
|
330 <param name="pOffrate" type="integer" value="-1" label="Override the offrate of the index to n (-o)" help="-1 for default" />
|
|
331 <param name="pSeed" type="integer" value="-1" label="Seed for pseudo-random number generator (--seed)" help="-1 for default" />
|
|
332 </when> <!-- full -->
|
|
333 </conditional> <!-- pParams -->
|
|
334 </when> <!-- paired -->
|
|
335 </conditional> <!-- singlePaired -->
|
|
336 <param name="suppressHeader" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Suppress the header in the output SAM file" help="Bowtie produces SAM with several lines of header information by default" />
|
|
337 </inputs>
|
|
338 <outputs>
|
|
339 <data format="sam" name="output" label="${tool.name} on ${on_string}: mapped reads">
|
|
340 <actions>
|
|
341 <conditional name="refGenomeSource.genomeSource">
|
|
342 <when value="indexed">
|
|
343 <action type="metadata" name="dbkey">
|
|
344 <option type="from_data_table" name="bowtie_indexes" column="1" offset="0">
|
|
345 <filter type="param_value" column="0" value="#" compare="startswith" keep="False"/>
|
|
346 <filter type="param_value" ref="refGenomeSource.index" column="0"/>
|
|
347 </option>
|
|
348 </action>
|
|
349 </when>
|
|
350 <when value="history">
|
|
351 <action type="metadata" name="dbkey">
|
|
352 <option type="from_param" name="refGenomeSource.ownFile" param_attribute="dbkey" />
|
|
353 </action>
|
|
354 </when>
|
|
355 </conditional>
|
|
356 </actions>
|
|
357 </data>
|
|
358 <data format="fastq" name="output_suppressed_reads_l" label="${tool.name} on ${on_string}: suppressed reads (L)">
|
|
359 <filter>((
|
|
360 singlePaired['sPaired'] == "single" and
|
|
361 singlePaired['sParams']['sSettingsType'] == "full" and
|
|
362 singlePaired['sParams']['sMaxFile'] is True
|
|
363 ) or (
|
|
364 singlePaired['sPaired'] == "paired" and
|
|
365 singlePaired['pParams']['pSettingsType'] == "full" and
|
|
366 singlePaired['pParams']['pMaxFile'] is True
|
|
367 ))
|
|
368 </filter>
|
|
369 <actions>
|
|
370 <conditional name="singlePaired.sPaired">
|
|
371 <when value="single">
|
|
372 <action type="format">
|
|
373 <option type="from_param" name="singlePaired.sInput1" param_attribute="ext" />
|
|
374 </action>
|
|
375 </when>
|
|
376 <when value="paired">
|
|
377 <action type="format">
|
|
378 <option type="from_param" name="singlePaired.pInput1" param_attribute="ext" />
|
|
379 </action>
|
|
380 </when>
|
|
381 </conditional>
|
|
382 </actions>
|
|
383 </data>
|
|
384 <data format="fastq" name="output_suppressed_reads_r" label="${tool.name} on ${on_string}: suppressed reads (R)">
|
|
385 <filter>singlePaired['sPaired'] == "paired"</filter>
|
|
386 <filter>singlePaired['pParams']['pSettingsType'] == "full"</filter>
|
|
387 <filter>singlePaired['pParams']['pMaxFile'] is True</filter>
|
|
388 <actions>
|
|
389 <conditional name="singlePaired.sPaired">
|
|
390 <when value="single">
|
|
391 <action type="format">
|
|
392 <option type="from_param" name="singlePaired.sInput1" param_attribute="ext" />
|
|
393 </action>
|
|
394 </when>
|
|
395 <when value="paired">
|
|
396 <action type="format">
|
|
397 <option type="from_param" name="singlePaired.pInput1" param_attribute="ext" />
|
|
398 </action>
|
|
399 </when>
|
|
400 </conditional>
|
|
401 </actions>
|
|
402 </data>
|
|
403 <data format="fastq" name="output_unmapped_reads_l" label="${tool.name} on ${on_string}: unmapped reads (L)">
|
|
404 <filter>
|
|
405 ((
|
|
406 singlePaired['sPaired'] == "single" and
|
|
407 singlePaired['sParams']['sSettingsType'] == "full" and
|
|
408 singlePaired['sParams']['sUnmappedFile'] is True
|
|
409 ) or (
|
|
410 singlePaired['sPaired'] == "paired" and
|
|
411 singlePaired['pParams']['pSettingsType'] == "full" and
|
|
412 singlePaired['pParams']['pUnmappedFile'] is True
|
|
413 ))
|
|
414 </filter>
|
|
415 <actions>
|
|
416 <conditional name="singlePaired.sPaired">
|
|
417 <when value="single">
|
|
418 <action type="format">
|
|
419 <option type="from_param" name="singlePaired.sInput1" param_attribute="ext" />
|
|
420 </action>
|
|
421 </when>
|
|
422 <when value="paired">
|
|
423 <action type="format">
|
|
424 <option type="from_param" name="singlePaired.pInput1" param_attribute="ext" />
|
|
425 </action>
|
|
426 </when>
|
|
427 </conditional>
|
|
428 </actions>
|
|
429 </data>
|
|
430 <data format="fastq" name="output_unmapped_reads_r" label="${tool.name} on ${on_string}: unmapped reads (R)">
|
|
431 <filter>singlePaired['sPaired'] == "paired"</filter>
|
|
432 <filter>singlePaired['pParams']['pSettingsType'] == "full"</filter>
|
|
433 <filter>singlePaired['pParams']['pUnmappedFile'] is True</filter>
|
|
434 <actions>
|
|
435 <conditional name="singlePaired.sPaired">
|
|
436 <when value="single">
|
|
437 <action type="format">
|
|
438 <option type="from_param" name="singlePaired.sInput1" param_attribute="ext" />
|
|
439 </action>
|
|
440 </when>
|
|
441 <when value="paired">
|
|
442 <action type="format">
|
|
443 <option type="from_param" name="singlePaired.pInput1" param_attribute="ext" />
|
|
444 </action>
|
|
445 </when>
|
|
446 </conditional>
|
|
447 </actions>
|
|
448 </data>
|
|
449 </outputs>
|
|
450 <tests>
|
|
451 <test>
|
|
452 <!--
|
|
453 Bowtie command:
|
|
454 bowtie -q -p 4 -S +sam-nohead chrM_base test-data/bowtie_in2.fastqsanger > bowtie_out6_u.sam
|
|
455 sort bowtie_out6_u.sam > bowtie_out6.sam
|
|
456 -p is the number of threads. You need to replace the + with 2 dashes.
|
|
457 chrM_base needs to be the base location/name of the index files.
|
|
458 -->
|
|
459 <param name="genomeSource" value="indexed" />
|
|
460 <!-- this is the backwards-compatible "unique value" for this index, not an actual path -->
|
|
461 <param name="index" value="equCab2chrM" />
|
|
462 <param name="sPaired" value="single" />
|
|
463 <param name="sInput1" ftype="fastqsanger" value="bowtie_in2.fastqsanger" />
|
|
464 <param name="sSettingsType" value="preSet" />
|
|
465 <param name="suppressHeader" value="true" />
|
|
466 <output name="output" ftype="sam" file="bowtie_out6.sam" sort="True" />
|
|
467 </test>
|
|
468 <test>
|
|
469 <!--
|
|
470 Bowtie command:
|
|
471 bowtie-build -f test-data/phiX.fasta phiX_base
|
|
472 bowtie -q -X 1000 +ff -p 4 -S +sam-nohead -n 2 -e 70 -l 28 +pairtries 100 +maxbts 800 +best +un bowtie_out8_u.fastq phiX_base -1 test-data/bowtie_in5.fastqsanger -2 test-data/bowtie_in6.fastqsanger > bowtie_out7_u.sam
|
|
473 sort bowtie_out7_u.sam > bowtie_out7.sam
|
|
474 sort bowtie_out8_u_1.sam > bowtie_out8_1.sam
|
|
475 sort bowtie_out8_u_2.sam > bowtie_out8_2.sam
|
|
476 Then also need to modify bowtie_out8_1.sam and bowtie_out8_2.sam so that all @ lines come before sequence lines.
|
|
477 -p is the number of threads. You need to replace the + with 2 dashes.
|
|
478 The two unmapped output files will be named bowtie_out8_1.fastq and bowtie_out8_2.fastq.
|
|
479 chrM_base is the index files' location/base name.
|
|
480 -->
|
|
481 <param name="genomeSource" value="history" />
|
|
482 <param name="ownFile" value="phiX.fasta" />
|
|
483 <param name="indexSettings" value="indexPreSet" />
|
|
484 <param name="sPaired" value="paired" />
|
|
485 <param name="pInput1" ftype="fastqsanger" value="bowtie_in5.fastqsanger" />
|
|
486 <param name="pInput2" ftype="fastqsanger" value="bowtie_in6.fastqsanger" />
|
|
487 <param name="pMaxInsert" value="1000" />
|
|
488 <param name="pMateOrient" value="ff" />
|
|
489 <param name="pSettingsType" value="full" />
|
|
490 <param name="pSkip" value="0" />
|
|
491 <param name="pAlignLimit" value="-1" />
|
|
492 <param name="pTrimH" value="0" />
|
|
493 <param name="pTrimL" value="0" />
|
|
494 <param name="pMismatchSeed" value="2" />
|
|
495 <param name="pMismatchQual" value="70" />
|
|
496 <param name="pSeedLen" value="25" />
|
|
497 <param name="pRounding" value="round" />
|
|
498 <param name="pMaqSoapAlign" value="-1" />
|
|
499 <param name="pMinInsert" value="0" />
|
|
500 <param name="pMaxAlignAttempt" value="100" />
|
|
501 <param name="pForwardAlign" value="forward" />
|
|
502 <param name="pReverseAlign" value="reverse" />
|
|
503 <param name="pTryHard" value="noTryHard" />
|
|
504 <param name="pValAlign" value="1" />
|
|
505 <param name="pAllValAligns" value="noAllValAligns" />
|
|
506 <param name="pSuppressAlign" value="-1" />
|
|
507 <param name="pUnmappedFile" value="true" />
|
|
508 <param name="pMaxFile" value="false" />
|
|
509 <param name="pBest" value="doBest" />
|
|
510 <param name="pdMaxBacktracks" value="800" />
|
|
511 <param name="pdStrata" value="noStrata" />
|
|
512 <param name="pOffrate" value="-1" />
|
|
513 <param name="pSeed" value="-1" />
|
|
514 <param name="suppressHeader" value="true" />
|
|
515 <output name="output" ftype="sam" file="bowtie_out7.sam" sort="True" />
|
|
516 <output name="output_unmapped_reads_l" ftype="fastqsanger" file="bowtie_out8_1.fastq" sort="True" />
|
|
517 <output name="output_unmapped_reads_r" ftype="fastqsanger" file="bowtie_out8_2.fastq" sort="True" />
|
|
518 </test>
|
|
519 <!-- start testing of non-sanger variant fastq reads -->
|
|
520 <test>
|
|
521 <param name="genomeSource" value="history" />
|
|
522 <param name="ownFile" value="phiX.fasta" />
|
|
523 <param name="indexSettings" value="indexPreSet" />
|
|
524 <param name="sPaired" value="paired" />
|
|
525 <param name="pInput1" ftype="fastqillumina" value="bowtie_in5.fastqillumina" />
|
|
526 <param name="pInput2" ftype="fastqillumina" value="bowtie_in6.fastqillumina" />
|
|
527 <param name="pMaxInsert" value="1000" />
|
|
528 <param name="pMateOrient" value="ff" />
|
|
529 <param name="pSettingsType" value="full" />
|
|
530 <param name="pSkip" value="0" />
|
|
531 <param name="pAlignLimit" value="-1" />
|
|
532 <param name="pTrimH" value="0" />
|
|
533 <param name="pTrimL" value="0" />
|
|
534 <param name="pMismatchSeed" value="2" />
|
|
535 <param name="pMismatchQual" value="70" />
|
|
536 <param name="pSeedLen" value="25" />
|
|
537 <param name="pRounding" value="round" />
|
|
538 <param name="pMaqSoapAlign" value="-1" />
|
|
539 <param name="pMinInsert" value="0" />
|
|
540 <param name="pMaxAlignAttempt" value="100" />
|
|
541 <param name="pForwardAlign" value="forward" />
|
|
542 <param name="pReverseAlign" value="reverse" />
|
|
543 <param name="pTryHard" value="noTryHard" />
|
|
544 <param name="pValAlign" value="1" />
|
|
545 <param name="pAllValAligns" value="noAllValAligns" />
|
|
546 <param name="pSuppressAlign" value="-1" />
|
|
547 <param name="pUnmappedFile" value="true" />
|
|
548 <param name="pMaxFile" value="false" />
|
|
549 <param name="pBest" value="doBest" />
|
|
550 <param name="pdMaxBacktracks" value="800" />
|
|
551 <param name="pdStrata" value="noStrata" />
|
|
552 <param name="pOffrate" value="-1" />
|
|
553 <param name="pSeed" value="-1" />
|
|
554 <param name="suppressHeader" value="true" />
|
|
555 <output name="output" ftype="sam" file="bowtie_out7.sam" sort="True" />
|
|
556 <output name="output_unmapped_reads_l" ftype="fastqillumna" file="bowtie_out8_1.fastqillumina.sorted" sort="True" />
|
|
557 <output name="output_unmapped_reads_r" ftype="fastqillumna" file="bowtie_out8_2.fastqillumina.sorted" sort="True" />
|
|
558 </test>
|
|
559 <test>
|
|
560 <param name="genomeSource" value="history" />
|
|
561 <param name="ownFile" value="phiX.fasta" />
|
|
562 <param name="indexSettings" value="indexPreSet" />
|
|
563 <param name="sPaired" value="paired" />
|
|
564 <param name="pInput1" ftype="fastqsolexa" value="bowtie_in5.fastqsolexa" />
|
|
565 <param name="pInput2" ftype="fastqsolexa" value="bowtie_in6.fastqsolexa" />
|
|
566 <param name="pMaxInsert" value="1000" />
|
|
567 <param name="pMateOrient" value="ff" />
|
|
568 <param name="pSettingsType" value="full" />
|
|
569 <param name="pSkip" value="0" />
|
|
570 <param name="pAlignLimit" value="-1" />
|
|
571 <param name="pTrimH" value="0" />
|
|
572 <param name="pTrimL" value="0" />
|
|
573 <param name="pMismatchSeed" value="2" />
|
|
574 <param name="pMismatchQual" value="70" />
|
|
575 <param name="pSeedLen" value="25" />
|
|
576 <param name="pRounding" value="round" />
|
|
577 <param name="pMaqSoapAlign" value="-1" />
|
|
578 <param name="pMinInsert" value="0" />
|
|
579 <param name="pMaxAlignAttempt" value="100" />
|
|
580 <param name="pForwardAlign" value="forward" />
|
|
581 <param name="pReverseAlign" value="reverse" />
|
|
582 <param name="pTryHard" value="noTryHard" />
|
|
583 <param name="pValAlign" value="1" />
|
|
584 <param name="pAllValAligns" value="noAllValAligns" />
|
|
585 <param name="pSuppressAlign" value="-1" />
|
|
586 <param name="pUnmappedFile" value="true" />
|
|
587 <param name="pMaxFile" value="false" />
|
|
588 <param name="pBest" value="doBest" />
|
|
589 <param name="pdMaxBacktracks" value="800" />
|
|
590 <param name="pdStrata" value="noStrata" />
|
|
591 <param name="pOffrate" value="-1" />
|
|
592 <param name="pSeed" value="-1" />
|
|
593 <param name="suppressHeader" value="true" />
|
|
594 <output name="output" ftype="sam" file="bowtie_out7.sam" sort="True" />
|
|
595 <output name="output_unmapped_reads_l" ftype="fastqsolexa" file="bowtie_out8_1.fastqsolexa.sorted" sort="True" />
|
|
596 <output name="output_unmapped_reads_r" ftype="fastqsolexa" file="bowtie_out8_2.fastqsolexa.sorted" sort="True" />
|
|
597 </test>
|
|
598 <!-- end testing of non-sanger variant fastq reads -->
|
|
599 <test>
|
|
600 <!--
|
|
601 Bowtie command:
|
|
602 bowtie -q -p 4 -S +sam-nohead -n 2 -e 70 -l 25 +maxbts 125 -y -k 1 chrM_base test-data/bowtie_in2.fastqsanger > bowtie_out9_u.sam
|
|
603 sort bowtie_out9_u.sam > bowtie_out9.sam
|
|
604 -p is the number of threads. You need to replace the + with 2 dashes.
|
|
605 chrM_base is the index files' location/base name.
|
|
606 -->
|
|
607 <param name="genomeSource" value="indexed" />
|
|
608 <!-- this is the backwards-compatible "unique value" for this index, not an actual path -->
|
|
609 <param name="index" value="equCab2chrM" />
|
|
610 <param name="sPaired" value="single" />
|
|
611 <param name="sInput1" ftype="fastqsanger" value="bowtie_in2.fastqsanger" />
|
|
612 <param name="sSettingsType" value="full" />
|
|
613 <param name="sSkip" value="0" />
|
|
614 <param name="sAlignLimit" value="-1" />
|
|
615 <param name="sTrimH" value="0" />
|
|
616 <param name="sTrimL" value="0" />
|
|
617 <param name="sMismatchSeed" value="2" />
|
|
618 <param name="sMismatchQual" value="70" />
|
|
619 <param name="sSeedLen" value="25" />
|
|
620 <param name="sRounding" value="round" />
|
|
621 <param name="sMaqSoapAlign" value="-1" />
|
|
622 <param name="sTryHard" value="doTryHard" />
|
|
623 <param name="sValAlign" value="1" />
|
|
624 <param name="sAllValAligns" value="noAllValAligns" />
|
|
625 <param name="sSuppressAlign" value="-1" />
|
|
626 <param name="sUnmappedFile" value="false" />
|
|
627 <param name="sMaxFile" value="false" />
|
|
628 <param name="sBest" value="noBest" />
|
|
629 <param name="snMaxBacktracks" value="125" />
|
|
630 <param name="sOffrate" value="-1" />
|
|
631 <param name="sSeed" value="-1" />
|
|
632 <param name="suppressHeader" value="true" />
|
|
633 <output name="output" ftype="sam" file="bowtie_out9.sam" sort="True" />
|
|
634 </test>
|
|
635 <test>
|
|
636 <!--
|
|
637 Bowtie command:
|
|
638 bowtie-build +offrate 5 +ftabchars 10 +little -f test-data/phiX.fasta phiX_base
|
|
639 bowtie -q -X 1000 +ff -p 4 -S +sam-nohead phiX_base -1 test-data/bowtie_in5.fastqsanger -2 test-data/bowtie_in6.fastqsanger > bowtie_out10_u.sam
|
|
640 sort bowtie_out10_u.sam > bowtie_out10.sam
|
|
641 -p is the number of threads. You need to replace the + with 2 dashes.
|
|
642 chrM_base is the index files' location/base name.
|
|
643 -->
|
|
644 <param name="genomeSource" value="history" />
|
|
645 <param name="ownFile" value="phiX.fasta" />
|
|
646 <param name="indexSettings" value="indexFull" />
|
|
647 <param name="autoB" value="auto" />
|
|
648 <param name="nodc" value="dc" />
|
|
649 <param name="noref" value="ref" />
|
|
650 <param name="offrate" value="5" />
|
|
651 <param name="ftab" value="10" />
|
|
652 <param name="ntoa" value="no" />
|
|
653 <param name="endian" value="little" />
|
|
654 <param name="seed" value="-1" />
|
|
655 <param name="cutoff" value="-1" />
|
|
656 <param name="sPaired" value="paired" />
|
|
657 <param name="pInput1" ftype="fastqsanger" value="bowtie_in5.fastqsanger" />
|
|
658 <param name="pInput2" ftype="fastqsanger" value="bowtie_in6.fastqsanger" />
|
|
659 <param name="pMaxInsert" value="1000" />
|
|
660 <param name="pMateOrient" value="ff" />
|
|
661 <param name="pSettingsType" value="preSet" />
|
|
662 <param name="suppressHeader" value="true" />
|
|
663 <output name="output" ftype="sam" file="bowtie_out10.sam" sort="True" />
|
|
664 </test>
|
|
665 </tests>
|
|
666 <help>
|
|
667 <![CDATA[
|
|
668 Bowtie is a short read aligner.
|
|
669 ]]>
|
|
670 </help>
|
|
671 <citations>
|
|
672 <citation type="bibtex">
|
|
673 @misc{githubbowtie,
|
|
674 author = {LastTODO, FirstTODO},
|
|
675 year = {TODO},
|
|
676 title = {bowtie},
|
|
677 publisher = {GitHub},
|
|
678 journal = {GitHub repository},
|
|
679 url = {https://github.com/BenLangmead/bowtie},
|
|
680 }</citation>
|
|
681 </citations>
|
|
682 </tool>
|