comparison bowtie_remove_rrna_wrapper_py2/bowtie_remove_rrna_wrapper.xml @ 20:7cbfb655e500 draft

Uploaded
author triasteran
date Thu, 24 Feb 2022 15:47:30 +0000
parents
children
comparison
equal deleted inserted replaced
19:3532b4e69534 20:7cbfb655e500
1 <tool id="bowtie_remove_rrna_wrapper" name="Remove rRNA using Bowtie" version="0.1.1d">
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>