comparison bowtie_remove_rrna_wrapper/bowtie_remove_rrna_wrapper.xml @ 26:ad7008694b0c draft

Uploaded
author triasteran
date Sat, 05 Mar 2022 13:03:45 +0000
parents
children
comparison
equal deleted inserted replaced
25:a64e1e31f317 26:ad7008694b0c
1 <tool id="bowtie_remove_rrna_wrapper" name="Remove rRNA using Bowtie" version="0.2">
2 <requirements>
3 <container type="docker">triasteran/bowite0127:latest</container>
4 </requirements>
5 <command detect_errors="exit_code"><![CDATA[
6 python2 '$__tool_directory__/bowtie_wrapper.py'
7 ## Set number of threads
8 --threads="\${GALAXY_SLOTS:-4}"
9 ## Outputs
10 --output="${output}"
11 #if str( $singlePaired.sPaired ) == "single"
12 #if $output_unmapped_reads_l
13 --output_unmapped_reads="${output_unmapped_reads_l}"
14 #end if
15 #if $output_suppressed_reads_l
16 --output_suppressed_reads="${output_suppressed_reads_l}"
17 #end if
18 --galaxy_input_format="${singlePaired.sInput1.ext}"
19 #else
20 #if $output_unmapped_reads_l and $output_unmapped_reads_r
21 --output_unmapped_reads_l="${output_unmapped_reads_l}"
22 --output_unmapped_reads_r="${output_unmapped_reads_r}"
23 #end if
24 #if $output_suppressed_reads_l and $output_suppressed_reads_l
25 --output_suppressed_reads_l="${output_suppressed_reads_l}"
26 --output_suppressed_reads_r="${output_suppressed_reads_r}"
27 #end if
28 --galaxy_input_format="${singlePaired.pInput1.ext}"
29 #end if
30 ## Inputs
31 --dataType="solexa" ##this indicates that nucleotide base space is used in the wrapper
32 --suppressHeader="${suppressHeader}"
33 --genomeSource="${refGenomeSource.genomeSource}"
34 #if $refGenomeSource.genomeSource == "history":
35 ##index already exists
36 #if $refGenomeSource.ownFile.extension.startswith( 'bowtie_' ):
37 ##user previously built
38 --ref="${refGenomeSource.ownFile.extra_files_path}/${refGenomeSource.ownFile.metadata.base_name}"
39 --do_not_build_index
40 #else:
41 ##build index on the fly
42 --ref="${refGenomeSource.ownFile}"
43 --indexSettings="${refGenomeSource.indexParams.indexSettings}"
44 #if $refGenomeSource.indexParams.indexSettings == "indexFull":
45 --iautoB="${refGenomeSource.indexParams.autoBehavior.autoB}"
46 #if $refGenomeSource.indexParams.autoBehavior.autoB == "set":
47 --ipacked="${refGenomeSource.indexParams.autoBehavior.packed}"
48 --ibmax="${refGenomeSource.indexParams.autoBehavior.bmax}"
49 --ibmaxdivn="${refGenomeSource.indexParams.autoBehavior.bmaxdivn}"
50 --idcv="${refGenomeSource.indexParams.autoBehavior.dcv}"
51 #end if
52 --inodc="${refGenomeSource.indexParams.nodc}"
53 --inoref="${refGenomeSource.indexParams.noref}"
54 --ioffrate="${refGenomeSource.indexParams.offrate}"
55 --iftab="${refGenomeSource.indexParams.ftab}"
56 --intoa="${refGenomeSource.indexParams.ntoa}"
57 --iendian="${refGenomeSource.indexParams.endian}"
58 --iseed="${refGenomeSource.indexParams.seed}"
59 --icutoff="${refGenomeSource.indexParams.cutoff}"
60 #end if
61 #end if
62 #else
63 ##use pre-built index
64 --ref="${refGenomeSource.index.fields.path}"
65 #end if
66 --paired="${singlePaired.sPaired}"
67 #if $singlePaired.sPaired == "single":
68 --input1="${singlePaired.sInput1}"
69 --params="${singlePaired.sParams.sSettingsType}"
70 #if $singlePaired.sParams.sSettingsType == "full":
71 --skip="${singlePaired.sParams.sSkip}"
72 --alignLimit="${singlePaired.sParams.sAlignLimit}"
73 --trimH="${singlePaired.sParams.sTrimH}"
74 --trimL="${singlePaired.sParams.sTrimL}"
75 --mismatchSeed="${singlePaired.sParams.sMismatchSeed}"
76 --mismatchQual="${singlePaired.sParams.sMismatchQual}"
77 --seedLen="${singlePaired.sParams.sSeedLen}"
78 --rounding="${singlePaired.sParams.sRounding}"
79 --maqSoapAlign="${singlePaired.sParams.sMaqSoapAlign}"
80 --reverseAlign="${singlePaired.sParams.sReverseAlign}"
81 --tryHard="${singlePaired.sParams.sTryHard}"
82 --valAlign="${singlePaired.sParams.sValAlign}"
83 --allValAligns="${singlePaired.sParams.sAllValAligns}"
84 --suppressAlign="${singlePaired.sParams.sSuppressAlign}"
85 --best="${singlePaired.sParams.sBestOption.sBest}"
86 #if $singlePaired.sParams.sBestOption.sBest == "doBest":
87 --maxBacktracks="${singlePaired.sParams.sBestOption.sdMaxBacktracks}"
88 --strata="${singlePaired.sParams.sBestOption.sdStrata}"
89 #else:
90 --maxBacktracks="${singlePaired.sParams.sBestOption.snMaxBacktracks}"
91 #end if
92 --offrate="${singlePaired.sParams.sOffrate}"
93 --seed="${singlePaired.sParams.sSeed}"
94 #end if
95 #else:
96 --input1="${singlePaired.pInput1}"
97 --input2="${singlePaired.pInput2}"
98 --maxInsert="${singlePaired.pMaxInsert}"
99 --mateOrient="${singlePaired.pMateOrient}"
100 --params="${singlePaired.pParams.pSettingsType}"
101 #if $singlePaired.pParams.pSettingsType == "full":
102 --skip="${singlePaired.pParams.pSkip}"
103 --alignLimit="${singlePaired.pParams.pAlignLimit}"
104 --trimH="${singlePaired.pParams.pTrimH}"
105 --trimL="${singlePaired.pParams.pTrimL}"
106 --mismatchSeed="${singlePaired.pParams.pMismatchSeed}"
107 --mismatchQual="${singlePaired.pParams.pMismatchQual}"
108 --seedLen="${singlePaired.pParams.pSeedLen}"
109 --rounding="${singlePaired.pParams.pRounding}"
110 --maqSoapAlign="${singlePaired.pParams.pMaqSoapAlign}"
111 --minInsert="${singlePaired.pParams.pMinInsert}"
112 --maxAlignAttempt="${singlePaired.pParams.pMaxAlignAttempt}"
113 --forwardAlign="${singlePaired.pParams.pForwardAlign}"
114 --reverseAlign="${singlePaired.pParams.pReverseAlign}"
115 --tryHard="${singlePaired.pParams.pTryHard}"
116 --valAlign="${singlePaired.pParams.pValAlign}"
117 --allValAligns="${singlePaired.pParams.pAllValAligns}"
118 --suppressAlign="${singlePaired.pParams.pSuppressAlign}"
119 --best="${singlePaired.pParams.pBestOption.pBest}"
120 #if $singlePaired.pParams.pBestOption.pBest == "doBest":
121 --maxBacktracks="${singlePaired.pParams.pBestOption.pdMaxBacktracks}"
122 --strata="${singlePaired.pParams.pBestOption.pdStrata}"
123 #else:
124 --maxBacktracks="${singlePaired.pParams.pBestOption.pnMaxBacktracks}"
125 #end if
126 --offrate="${singlePaired.pParams.pOffrate}"
127 --seed="${singlePaired.pParams.pSeed}"
128 #end if
129 #end if
130 ]]></command>
131 <inputs>
132 <conditional name="refGenomeSource">
133 <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">
134 <option value="indexed">Use a built-in index</option>
135 <option value="history">Use one from the history</option>
136 </param>
137 <when value="indexed">
138 <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. ">
139 <options from_data_table="bowtie_rrna_indexes">
140 <filter type="sort_by" column="2" />
141 <validator type="no_options" message="No indexes are available" />
142 </options>
143 </param>
144 </when>
145 <when value="history">
146 <param name="ownFile" type="data" format="bowtie_base_index,fasta" label="Select the reference genome" />
147 <conditional name="indexParams">
148 <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">
149 <option value="indexPreSet">Default</option>
150 <option value="indexFull">Set your own</option>
151 </param>
152 <when value="indexPreSet" />
153 <when value="indexFull">
154 <conditional name="autoBehavior">
155 <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">
156 <option value="auto">Automatic behavior</option>
157 <option value="set">Set values (sets --noauto and allows others to be set)</option>
158 </param>
159 <when value="auto" />
160 <when value="set">
161 <param name="packed" type="select" label="Whether or not to use a packed representation for DNA strings (--packed)">
162 <option value="unpacked">Use regular representation</option>
163 <option value="packed">Use packed representation</option>
164 </param>
165 <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" />
166 <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)" />
167 <param name="dcv" type="integer" value="1024" label="The period for the difference-cover sample (--dcv)" />
168 </when>
169 </conditional>
170 <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)">
171 <option value="dc">Use difference-cover sample</option>
172 <option value="nodc">Disable difference-cover sample</option>
173 </param>
174 <param name="noref" type="select" label="Whether or not to build the part of the reference index used only in paired-end alignment (-r)">
175 <option value="ref">Build all index files</option>
176 <option value="noref">Do not build paired-end alignment index files</option>
177 </param>
178 <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)" />
179 <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" />
180 <param name="ntoa" type="select" label="Whether or not to convert Ns in the reference sequence to As (--ntoa)">
181 <option value="no">Do not convert Ns</option>
182 <option value="yes">Convert Ns to As</option>
183 </param>
184 <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">
185 <option value="little">Little</option>
186 <option value="big">Big</option>
187 </param>
188 <param name="seed" type="integer" value="-1" label="Seed for the pseudorandom number generator (--seed)" help="Use -1 to use default" />
189 <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" />
190 </when> <!-- indexFull -->
191 </conditional> <!-- indexParams -->
192 </when> <!-- history -->
193 </conditional> <!-- refGenomeSource -->
194 <conditional name="singlePaired">
195 <param name="sPaired" type="select" label="Is this library mate-paired?">
196 <option value="single">Single-end</option>
197 <option value="paired">Paired-end</option>
198 </param>
199 <when value="single">
200 <param name="sInput1" type="data" format="fastqsanger,fastqillumina,fastqsolexa" label="FASTQ file" help="Must have ASCII encoded quality scores"/>
201 <conditional name="sParams">
202 <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">
203 <option value="preSet">Commonly used</option>
204 <option value="full" selected="true">Full parameter list</option>
205 </param>
206 <when value="preSet" />
207 <when value="full">
208 <param name="sSkip" type="integer" value="0" label="Skip the first n reads (-s)" />
209 <param name="sAlignLimit" type="integer" value="-1" label="Only align the first n reads (-u)" help="-1 for off" />
210 <param name="sTrimH" type="integer" value="0" label="Trim n bases from high-quality (left) end of each read before alignment (-5)" />
211 <param name="sTrimL" type="integer" value="0" label="Trim n bases from low-quality (right) end of each read before alignment (-3)" />
212 <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" />
213 <param name="sMismatchQual" type="integer" value="70" label="Maximum permitted total of quality values at mismatched read positions (-e)" />
214 <param name="sSeedLen" type="integer" value="25" label="Seed length (-l)" help="Minimum value is 5" />
215 <param name="sRounding" type="select" label="Whether or not to round to the nearest 10 and saturating at 30 (--nomaqround)">
216 <option value="round">Round to nearest 10</option>
217 <option value="noRound">Do not round to nearest 10</option>
218 </param>
219 <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" />
220 <param name="sReverseAlign" type="select" label="Choose whether or not to align against the reverse-complement reference strand (--norc)">
221 <option value="noReverse">Do not align against the reverse-complement reference strand</option>
222 <option value="reverse">Align against the reverse-complement reference strand</option>
223 </param>
224 <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">
225 <option value="noTryHard">Do not try hard</option>
226 <option value="doTryHard">Try hard</option>
227 </param>
228 <param name="sValAlign" type="integer" value="1" label="Report up to n valid alignments per read (-k)" />
229 <param name="sAllValAligns" type="select" label="Whether or not to report all valid alignments per read (-a)">
230 <option value="noAllValAligns">Do not report all valid alignments</option>
231 <option value="doAllValAligns">Report all valid alignments</option>
232 </param>
233 <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" />
234 <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)" />
235 <param name="sUnmappedFile" type="boolean" truevalue="true" falsevalue="false" checked="True" label="Write all reads that could not be aligned to a file (--un)" />
236 <conditional name="sBestOption">
237 <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">
238 <option value="noBest">Do not use best</option>
239 <option value="doBest">Use best</option>
240 </param>
241 <when value="noBest">
242 <param name="snMaxBacktracks" type="integer" value="125" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
243 </when>
244 <when value="doBest">
245 <param name="sdMaxBacktracks" type="integer" value="800" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
246 <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)">
247 <option value="noStrata">Do not use strata option</option>
248 <option value="doStrata">Use strata option</option>
249 </param>
250 </when>
251 </conditional> <!-- bestOption -->
252 <param name="sOffrate" type="integer" value="-1" label="Override the offrate of the index to n (-o)" help="-1 for default" />
253 <param name="sSeed" type="integer" value="-1" label="Seed for pseudo-random number generator (--seed)" help="-1 for default" />
254 </when> <!-- full -->
255 </conditional> <!-- sParams -->
256 </when> <!-- single -->
257 <when value="paired">
258 <param name="pInput1" type="data" format="fastqsanger,fastqillumina,fastqsolexa" label="Forward FASTQ file" help="Must have ASCII encoded quality scores"/>
259 <param name="pInput2" type="data" format="fastqsanger,fastqillumina,fastqsolexa" label="Reverse FASTQ file" help="File format must match the Forward FASTQ file">
260 <options options_filter_attribute="ext" from_parameter="tool.app.datatypes_registry.datatypes_by_extension" transform_lines="obj.keys()">
261 <column name="name" index="0"/>
262 <column name="value" index="0"/>
263 <filter type="param_value" ref="pInput1" ref_attribute="ext" column="0"/>
264 </options>
265 </param>
266 <param name="pMaxInsert" type="integer" value="1000" label="Maximum insert size for valid paired-end alignments (-X)" />
267 <param name="pMateOrient" type="select" label="The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand (--fr/--rf/--ff)">
268 <option value="fr">FR (for Illumina)</option>
269 <option value="rf">RF</option>
270 <option value="ff">FF (for SOLiD)</option>
271 </param>
272 <conditional name="pParams">
273 <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">
274 <option value="preSet">Commonly used</option>
275 <option value="full">Full parameter list</option>
276 </param>
277 <when value="preSet" />
278 <when value="full">
279 <param name="pSkip" type="integer" value="0" label="Skip the first n pairs (-s)" />
280 <param name="pAlignLimit" type="integer" value="-1" label="Only align the first n pairs (-u)" help="-1 for off" />
281 <param name="pTrimH" type="integer" value="0" label="Trim n bases from high-quality (left) end of each read before alignment (-5)" />
282 <param name="pTrimL" type="integer" value="0" label="Trim n bases from low-quality (right) end of each read before alignment (-3)" />
283 <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" />
284 <param name="pMismatchQual" type="integer" value="70" label="Maximum permitted total of quality values at mismatched read positions (-e)" />
285 <param name="pSeedLen" type="integer" value="25" label="Seed length (-l)" help="Minimum value is 5" />
286 <param name="pRounding" type="select" label="Whether or not to round to the nearest 10 and saturating at 30 (--nomaqround)">
287 <option value="round">Round to nearest 10</option>
288 <option value="noRound">Do not round to nearest 10</option>
289 </param>
290 <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" />
291 <param name="pMinInsert" type="integer" value="0" label="Minimum insert size for valid paired-end alignments (-I)" />
292 <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)" />
293 <param name="pForwardAlign" type="select" label="Choose whether or not to attempt to align the forward reference strand (--nofw)">
294 <option value="forward">Align against the forward reference strand</option>
295 <option value="noForward">Do not align against the forward reference strand</option>
296 </param>
297 <param name="pReverseAlign" type="select" label="Choose whether or not to align against the reverse-complement reference strand (--norc)">
298 <option value="reverse">Align against the reverse-complement reference strand</option>
299 <option value="noReverse">Do not align against the reverse-complement reference strand</option>
300 </param>
301 <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">
302 <option value="noTryHard">Do not try hard</option>
303 <option value="doTryHard">Try hard</option>
304 </param>
305 <param name="pValAlign" type="integer" value="1" label="Report up to n valid arguments per pair (-k)" />
306 <param name="pAllValAligns" type="select" label="Whether or not to report all valid alignments per pair (-a)">
307 <option value="noAllValAligns">Do not report all valid alignments</option>
308 <option value="doAllValAligns">Report all valid alignments</option>
309 </param>
310 <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" />
311 <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)" />
312 <param name="pUnmappedFile" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write all reads that could not be aligned to a file (--un)" />
313 <conditional name="pBestOption">
314 <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">
315 <option value="noBest">Do not use best</option>
316 <option value="doBest">Use best</option>
317 </param>
318 <when value="noBest">
319 <param name="pnMaxBacktracks" type="integer" value="125" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
320 </when>
321 <when value="doBest">
322 <param name="pdMaxBacktracks" type="integer" value="800" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
323 <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)">
324 <option value="noStrata">Do not use strata option</option>
325 <option value="doStrata">Use strata option</option>
326 </param>
327 </when>
328 </conditional>
329 <param name="pOffrate" type="integer" value="-1" label="Override the offrate of the index to n (-o)" help="-1 for default" />
330 <param name="pSeed" type="integer" value="-1" label="Seed for pseudo-random number generator (--seed)" help="-1 for default" />
331 </when> <!-- full -->
332 </conditional> <!-- pParams -->
333 </when> <!-- paired -->
334 </conditional> <!-- singlePaired -->
335 <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" />
336 </inputs>
337 <outputs>
338 <data format="sam" name="output" label="${tool.name} on ${on_string}: mapped reads">
339 <actions>
340 <conditional name="refGenomeSource.genomeSource">
341 <when value="indexed">
342 <action type="metadata" name="dbkey">
343 <option type="from_data_table" name="bowtie_indexes" column="1" offset="0">
344 <filter type="param_value" column="0" value="#" compare="startswith" keep="False"/>
345 <filter type="param_value" ref="refGenomeSource.index" column="0"/>
346 </option>
347 </action>
348 </when>
349 <when value="history">
350 <action type="metadata" name="dbkey">
351 <option type="from_param" name="refGenomeSource.ownFile" param_attribute="dbkey" />
352 </action>
353 </when>
354 </conditional>
355 </actions>
356 </data>
357 <data format="fastq" name="output_suppressed_reads_l" label="${tool.name} on ${on_string}: suppressed reads (L)">
358 <filter>((
359 singlePaired['sPaired'] == "single" and
360 singlePaired['sParams']['sSettingsType'] == "full" and
361 singlePaired['sParams']['sMaxFile'] is True
362 ) or (
363 singlePaired['sPaired'] == "paired" and
364 singlePaired['pParams']['pSettingsType'] == "full" and
365 singlePaired['pParams']['pMaxFile'] is True
366 ))
367 </filter>
368 <actions>
369 <conditional name="singlePaired.sPaired">
370 <when value="single">
371 <action type="format">
372 <option type="from_param" name="singlePaired.sInput1" param_attribute="ext" />
373 </action>
374 </when>
375 <when value="paired">
376 <action type="format">
377 <option type="from_param" name="singlePaired.pInput1" param_attribute="ext" />
378 </action>
379 </when>
380 </conditional>
381 </actions>
382 </data>
383 <data format="fastq" name="output_suppressed_reads_r" label="${tool.name} on ${on_string}: suppressed reads (R)">
384 <filter>singlePaired['sPaired'] == "paired"</filter>
385 <filter>singlePaired['pParams']['pSettingsType'] == "full"</filter>
386 <filter>singlePaired['pParams']['pMaxFile'] is True</filter>
387 <actions>
388 <conditional name="singlePaired.sPaired">
389 <when value="single">
390 <action type="format">
391 <option type="from_param" name="singlePaired.sInput1" param_attribute="ext" />
392 </action>
393 </when>
394 <when value="paired">
395 <action type="format">
396 <option type="from_param" name="singlePaired.pInput1" param_attribute="ext" />
397 </action>
398 </when>
399 </conditional>
400 </actions>
401 </data>
402 <data format="fastq" name="output_unmapped_reads_l" label="${tool.name} on ${on_string}: unmapped reads (L)">
403 <filter>
404 ((
405 singlePaired['sPaired'] == "single" and
406 singlePaired['sParams']['sSettingsType'] == "full" and
407 singlePaired['sParams']['sUnmappedFile'] is True
408 ) or (
409 singlePaired['sPaired'] == "paired" and
410 singlePaired['pParams']['pSettingsType'] == "full" and
411 singlePaired['pParams']['pUnmappedFile'] is True
412 ))
413 </filter>
414 <actions>
415 <conditional name="singlePaired.sPaired">
416 <when value="single">
417 <action type="format">
418 <option type="from_param" name="singlePaired.sInput1" param_attribute="ext" />
419 </action>
420 </when>
421 <when value="paired">
422 <action type="format">
423 <option type="from_param" name="singlePaired.pInput1" param_attribute="ext" />
424 </action>
425 </when>
426 </conditional>
427 </actions>
428 </data>
429 <data format="fastq" name="output_unmapped_reads_r" label="${tool.name} on ${on_string}: unmapped reads (R)">
430 <filter>singlePaired['sPaired'] == "paired"</filter>
431 <filter>singlePaired['pParams']['pSettingsType'] == "full"</filter>
432 <filter>singlePaired['pParams']['pUnmappedFile'] is True</filter>
433 <actions>
434 <conditional name="singlePaired.sPaired">
435 <when value="single">
436 <action type="format">
437 <option type="from_param" name="singlePaired.sInput1" param_attribute="ext" />
438 </action>
439 </when>
440 <when value="paired">
441 <action type="format">
442 <option type="from_param" name="singlePaired.pInput1" param_attribute="ext" />
443 </action>
444 </when>
445 </conditional>
446 </actions>
447 </data>
448 </outputs>
449 <tests>
450 <test>
451 <!--
452 Bowtie command:
453 bowtie-build -f test-data/phiX.fasta phiX_base
454 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
455 sort bowtie_out7_u.sam > bowtie_out7.sam
456 sort bowtie_out8_u_1.sam > bowtie_out8_1.sam
457 sort bowtie_out8_u_2.sam > bowtie_out8_2.sam
458 Then also need to modify bowtie_out8_1.sam and bowtie_out8_2.sam so that all @ lines come before sequence lines.
459 -p is the number of threads. You need to replace the + with 2 dashes.
460 The two unmapped output files will be named bowtie_out8_1.fastq and bowtie_out8_2.fastq.
461 chrM_base is the index files' location/base name.
462 -->
463 <param name="genomeSource" value="history" />
464 <param name="ownFile" value="phiX.fasta" />
465 <param name="indexSettings" value="indexPreSet" />
466 <param name="sPaired" value="paired" />
467 <param name="pInput1" ftype="fastqsanger" value="bowtie_in5.fastqsanger" />
468 <param name="pInput2" ftype="fastqsanger" value="bowtie_in6.fastqsanger" />
469 <param name="pMaxInsert" value="1000" />
470 <param name="pMateOrient" value="ff" />
471 <param name="pSettingsType" value="full" />
472 <param name="pSkip" value="0" />
473 <param name="pAlignLimit" value="-1" />
474 <param name="pTrimH" value="0" />
475 <param name="pTrimL" value="0" />
476 <param name="pMismatchSeed" value="2" />
477 <param name="pMismatchQual" value="70" />
478 <param name="pSeedLen" value="25" />
479 <param name="pRounding" value="round" />
480 <param name="pMaqSoapAlign" value="-1" />
481 <param name="pMinInsert" value="0" />
482 <param name="pMaxAlignAttempt" value="100" />
483 <param name="pForwardAlign" value="forward" />
484 <param name="pReverseAlign" value="reverse" />
485 <param name="pTryHard" value="noTryHard" />
486 <param name="pValAlign" value="1" />
487 <param name="pAllValAligns" value="noAllValAligns" />
488 <param name="pSuppressAlign" value="-1" />
489 <param name="pUnmappedFile" value="true" />
490 <param name="pMaxFile" value="false" />
491 <param name="pBest" value="doBest" />
492 <param name="pdMaxBacktracks" value="800" />
493 <param name="pdStrata" value="noStrata" />
494 <param name="pOffrate" value="-1" />
495 <param name="pSeed" value="-1" />
496 <param name="suppressHeader" value="true" />
497 <output name="output" ftype="sam" file="bowtie_out7.sam" sort="True" />
498 <output name="output_unmapped_reads_l" ftype="fastqsanger" file="bowtie_out8_1.fastq" sort="True" />
499 <output name="output_unmapped_reads_r" ftype="fastqsanger" file="bowtie_out8_2.fastq" sort="True" />
500 </test>
501 </tests>
502 <help>
503 <![CDATA[
504 Bowtie is a short read aligner.
505 ]]>
506 </help>
507 <citations>
508 <citation type="bibtex">
509 @misc{githubbowtie,
510 author = {LastTODO, FirstTODO},
511 year = {TODO},
512 title = {bowtie},
513 publisher = {GitHub},
514 journal = {GitHub repository},
515 url = {https://github.com/BenLangmead/bowtie},
516 }</citation>
517 </citations>
518 </tool>