comparison trim_galore_wrapper.xml @ 4:2c1f0fe810f7 draft

Uploaded
author bgruening
date Wed, 15 Apr 2015 11:32:11 -0400
parents eb546ac2aab2
children f11ff7be8c78
comparison
equal deleted inserted replaced
3:eb546ac2aab2 4:2c1f0fe810f7
1 <tool id="trim_galore" name="Trim Galore" version="0.2.8.1"> 1 <tool id="trim_galore" name="Trim Galore" version="0.3.7.0">
2 <!-- Wrapper compatible with Trim Galore version 0.2.8 --> 2 <!-- Wrapper compatible with Trim Galore version 0.3.7 -->
3 <description>adaptive quality and adapter trimmer</description> 3 <description>adaptive quality and adapter trimmer</description>
4 <version_command interpreter="perl">trim_galore --version</version_command> 4 <version_command interpreter="perl">trim_galore --version</version_command>
5 <requirements> 5 <requirements>
6 <requirement type="package" version="1.1">cutadapt</requirement> 6 <requirement type="package" version="1.8">cutadapt</requirement>
7 </requirements> 7 </requirements>
8 <command interpreter="perl"> 8 <macros>
9 #from glob import glob 9 <macro name="paired_adapter_trimming">
10 #import tempfile, os 10 <param name="trim1" type="boolean" truevalue="--trim1" falsevalue="" checked="False" label="Trims 1 bp off every read from its 3' end." help="" />
11 11 <param name="adapter" type="text" value="AGATCGGAAGAGC" label="Adapter sequence to be trimmed off read 1">
12 ## 12 <validator type="regex" message="Adapter sequence must contain DNA characters only (A,C,T,G or N)">^[ACTGNactgn]*$</validator>
13 ## Creating a temporary directory where trim_galore will store all result files 13 </param>
14 ## 14 <param name="adapter2" type="text" optional="True" value="" label="Adapter sequence to be trimmed off read 2">
15 15 <validator type="regex" message="Adapter sequence must contain DNA characters only (A,C,T,G or N)">^[ACTGNactgn]*$</validator>
16 #set $temp_dir = os.path.abspath(tempfile.mkdtemp()) 16 </param>
17 17
18 18 <param name="three_prime_clip_R1" type="integer" value="" optional="True" label="Remove N bp from the 3' end of read 1">
19 ## trim_galore removes .fastq and .fq file extensions of input files. 19 <help>Instructs Trim Galore to remove N bp from the 3' end of read 1 after adapter/quality trimming has been performed.
20 ## That is essential if Galaxy provides links to files (these can have real extensions), but that behaviour is causing an inconsitency in output filenaming. 20 This may remove some unwanted bias from the 3' end that is not directly related to adapter sequence or basecall quality.
21 ## Fix: link every file to $TMP without file extension 21 (--three_prime_clip_R1)</help>
22 </param>
23 <param name="three_prime_clip_R2" type="integer" value="" optional="True" label="Remove N bp from the 3' end of read 1">
24 <help>Instructs Trim Galore to remove N bp from the 3' end of read 2 after
25 adapter/quality trimming has been performed. This may remove some unwanted bias from
26 the 3' end that is not directly related to adapter sequence or basecall quality. (--three_prime_clip_R2)</help>
27 </param>
28 </macro>
29 </macros>
30 <command>
31 <![CDATA[
32
33 ## trim_galore removes .fastq and .fq file extensions of input files.
34 ## This is essential if Galaxy provides links to files (with real extensions)
35 ## but that behaviour is causing an inconsitency in output filenaming.
36 ## We work around this by linking every file to cwd without file extension
22 37
23 #if $singlePaired.sPaired == "single": 38 #if $singlePaired.sPaired == "single":
24 #set $input_singles_tmp_handle = tempfile.NamedTemporaryFile( dir=$temp_dir ) 39 ln -s "${singlePaired.input_singles}" ./input_singles;
25 #set $input_singles_tmp = $input_singles_tmp_handle.name 40 #elif $singlePaired.sPaired == "paired":
26 #silent $input_singles_tmp_handle.close() 41 ln -s "${singlePaired.input_mate1}" ./input_mate1;
27 #silent os.system("ln -s %s %s" % (str($singlePaired.input_singles), $input_singles_tmp)) 42 ln -s "${singlePaired.input_mate2}" ./input_mate2;
28 #else: 43 #else:
29 #set $input_mate1_tmp_handle = tempfile.NamedTemporaryFile( dir=$temp_dir ) 44 ln -s "${singlePaired.input_mate_pairs.forward}" ./input_mate1;
30 #set $input_mate2_tmp_handle = tempfile.NamedTemporaryFile( dir=$temp_dir ) 45 ln -s "${singlePaired.input_mate_pairs.reverse}" ./input_mate2;
31 46 #end if
32 #set $input_mate1_tmp = $input_mate1_tmp_handle.name 47
33 #silent $input_mate1_tmp_handle.close() 48 perl $__tool_directory__/trim_galore
34 49
35 #set $input_mate2_tmp = $input_mate2_tmp_handle.name 50 ## we only support fastqsanger
36 #silent $input_mate2_tmp_handle.close() 51 --phred33
37
38 #silent os.system("ln -s %s %s" % (str($singlePaired.input_mate1), $input_mate1_tmp))
39 #silent os.system("ln -s %s %s" % (str($singlePaired.input_mate2), $input_mate2_tmp))
40 #end if
41
42 trim_galore
43
44 ##
45 ## Input parameters
46 ##
47
48 52
49 #if $params.settingsType == "custom": 53 #if $params.settingsType == "custom":
50 54
51 ## default 20 55 ## default 20
52 --quality $params.quality 56 --quality $params.quality
53 ## default 'AGATCGGAAGAGC' 57
54 #if $params.adapter.strip() != '':
55 --adapter $params.adapter
56 #end if
57 ## default 1 58 ## default 1
58 --stringency $params.stringency 59 --stringency $params.stringency
59 60
60 ## default 0.1 61 ## default 0.1
61 -e $params.error_rate 62 -e $params.error_rate
62 63
63 ## default 20 64 ## default 20
64 --length $params.min_length 65 --length $params.min_length
65 66
66 #if int($params.clip_R1) > 0: 67 #if int($params.clip_R1) > 0:
67 --clip_R1 $params.clip_R1 68 --clip_R1 $params.clip_R1
68 #end if 69 #end if
69 70
70 #if int($params.clip_R2) > 0: 71 #if int($params.clip_R2) > 0:
71 --clip_R2 $params.clip_R2 72 --clip_R2 $params.clip_R2
72 #end if 73 #end if
73 74
74 #if $params.retain_unpaired.settingsType == "retain_unpaired_output": 75 #if $params.retain_unpaired.settingsType == "retain_unpaired_output":
77 --length_2 $params.retain_unpaired.length_2 78 --length_2 $params.retain_unpaired.length_2
78 #end if 79 #end if
79 80
80 #end if 81 #end if
81 82
82 ##
83 ## RBBS specific options. 83 ## RBBS specific options.
84 ##
85
86 #if $rrbs.settingsType == "custom": 84 #if $rrbs.settingsType == "custom":
87
88 $rrbs.rrbs 85 $rrbs.rrbs
89 $rrbs.non_directional 86 $rrbs.non_directional
90 87 #end if
91 #end if 88
92 89 --output_dir ./
93 --output_dir $temp_dir
94 --suppress_warn 90 --suppress_warn
95 91
92 #if $params.settingsType == "custom" and not $params.report:
93 --no_report_file
94 #end if
95
96
97 ## default 'AGATCGGAAGAGC'
98 #if $singlePaired.adapter.strip() != '':
99 --adapter $singlePaired.adapter
100 #end if
101
102 #if $singlePaired.three_prime_clip_R1:
103 --three_prime_clip_R1 $singlePaired.three_prime_clip_R1
104 #end if
96 105
97 #if $singlePaired.sPaired == "single": 106 #if $singlePaired.sPaired == "single":
98
99 #if $singlePaired.input_singles.ext == "fastqillumina":
100 --phred64
101 #elif $singlePaired.input_singles.ext == "fastqsanger":
102 --phred33
103 #end if
104
105 #if $params.settingsType == "custom":
106 #if not $params.report:
107 --no_report_file
108 #end if
109 #end if
110
111 ## input sequence 107 ## input sequence
112 $input_singles_tmp 108 ./input_singles
113 #else: 109 #else:
114 --paired 110 --paired
115 #if $singlePaired.input_mate1.ext == "fastqillumina":
116 --phred64
117 #elif $singlePaired.input_mate1.ext == "fastqsanger":
118 --phred33
119 #end if
120 111
121 $singlePaired.trim1 112 $singlePaired.trim1
122 #if $singlePaired.adapter2.strip() != '': 113
114 #if $singlePaired.adapter2 and $singlePaired.adapter2.strip() != '':
123 --adapter2 $singlePaired.adapter2 115 --adapter2 $singlePaired.adapter2
124 #end if 116 #end if
125 117
126 #if $params.settingsType == "custom": 118 #if $singlePaired.three_prime_clip_R2:
127 #if not $params.report: 119 --three_prime_clip_R2 $singlePaired.three_prime_clip_R2
128 --no_report_file
129 #end if
130 #end if 120 #end if
131 121
132 ## input sequences 122 ## input sequences
133 $input_mate1_tmp 123 ./input_mate1
134 $input_mate2_tmp 124 ./input_mate2
135 125
136 #end if 126 #end if
137 127
138 &amp;&amp; 128 &&
139 129
140 ## 130 ## Trim Galore! run is finished. Move the report files to the proper place
141 ## Trim Galore! run is finished. Move the result files to the proper place 131 #if $params.settingsType == "custom" and $params.report:
142 ## 132 cat ./*_trimming_report.txt > $report_file;
143 133 #end if
144 134
145 #if $singlePaired.sPaired == "single": 135 ]]>
146 #set $single_end_path = os.path.join($temp_dir, os.path.basename(str($input_singles_tmp)) + '_trimmed.fq')
147 mv $single_end_path $trimmed_reads_single;
148
149 #if $params.settingsType == "custom":
150 #if $params.report:
151 #set $report_path = os.path.join($temp_dir, os.path.basename(str($input_singles_tmp)) + '_trimming_report.txt')
152 mv $report_path $report_file;
153 #end if
154 #end if
155
156 #else:
157 #set $paired_end_path_1 = os.path.join($temp_dir, os.path.basename(str($input_mate1_tmp)) + '_val_1.fq')
158 #set $paired_end_path_2 = os.path.join($temp_dir, os.path.basename(str($input_mate2_tmp)) + '_val_2.fq')
159 mv $paired_end_path_1 $trimmed_reads_pair1;
160 mv $paired_end_path_2 $trimmed_reads_pair2;
161
162 #if $params.settingsType == "custom":
163 #if $params.retain_unpaired.settingsType == "retain_unpaired_output":
164 #set $unpaired_path_1 = os.path.join($temp_dir, os.path.basename(str($input_mate1_tmp)) + '_unpaired_1.fq')
165 #set $unpaired_path_2 = os.path.join($temp_dir, os.path.basename(str($input_mate2_tmp)) + '_unpaired_2.fq')
166 mv $unpaired_path_1 $unpaired_reads_1;
167 mv $unpaired_path_2 $unpaired_reads_2;
168 #end if
169
170 #if $params.report:
171 #set $report_path = os.path.join($temp_dir, os.path.basename(str($input_mate1_tmp)) + '_trimming_report.txt')
172 mv $report_path $report_file;
173 #end if
174
175 #end if
176 #end if
177
178 ## delete the temp_dir
179 rm -rf $temp_dir
180
181 </command> 136 </command>
182 <inputs> 137 <inputs>
183
184 <!-- Input Parameters --> 138 <!-- Input Parameters -->
185 <conditional name="singlePaired"> 139 <conditional name="singlePaired">
186 <param name="sPaired" type="select" label="Is this library mate-paired?"> 140 <param name="sPaired" type="select" label="Is this library paired- or single-end?">
187 <option value="single">Single-end</option> 141 <option value="single">Single-end</option>
188 <option value="paired">Paired-end</option> 142 <option value="paired">Paired-end</option>
143 <option value="paired_collection">Paired Collection</option>
189 </param> 144 </param>
190 <when value="single"> 145 <when value="single">
191 <param name="input_singles" type="data" format="fastqsanger,fastqillumina,fastq,fasta" label="FASTQ/FASTA file" help="FASTQ or FASTA files." /> 146 <param name="input_singles" type="data" format="fastqsanger" label="Reads in FASTQ format" />
147 <param name="adapter" type="text" value="AGATCGGAAGAGC" label="Adapter sequence to be trimmed">
148 <validator type="regex" message="Adapter sequence must contain DNA characters only (A,C,T,G or N)">^[ACTGNactgn]*$</validator>
149 </param>
150 <param name="three_prime_clip_R1" type="integer" value="" optional="True" label="Remove N bp from the 3' end">
151 <help>Instructs Trim Galore to remove N bp from the 3' end of read 1 after adapter/quality trimming has been performed.
152 This may remove some unwanted bias from the 3' end that is not directly related to adapter sequence or basecall quality.
153 (--three_prime_clip_R1)</help>
154 </param>
192 </when> 155 </when>
193 <when value="paired"> 156 <when value="paired">
194 <param name="input_mate1" type="data" format="fastqsanger,fastqillumina,fastq,fasta" label="FASTQ/FASTA file" help="FASTQ or FASTA files." /> 157 <param name="input_mate1" type="data" format="fastqsanger" label="Reads in FASTQ format" />
195 <param name="input_mate2" type="data" format="fastqsanger,fastqillumina,fastq,fasta" label="FASTQ/FASTA file" help="FASTQ or FASTA files." /> 158 <param name="input_mate2" type="data" format="fastqsanger" label="Reads in FASTQ format" />
196 <param name="trim1" type="boolean" truevalue="--trim1" falsevalue="" checked="False" label="Trims 1 bp off every read from its 3' end." help="" /> 159 <expand macro="paired_adapter_trimming" />
197 <param name="adapter2" type="text" value="" label="Optional adapter sequence to be trimmed off read 2"> 160 </when>
198 <validator type="regex" message="Adapter sequence must contain DNA characters only (A,C,T,G or N)">^[ACTGNactgn]*$</validator> 161 <when value="paired_collection">
199 </param> 162 <param name="input_mate_pairs" format="fastqsanger" type="data_collection" collection_type="paired"
163 label="Select a paired collection" help="See help section for an explanation of dataset collections"/>
164 <expand macro="paired_adapter_trimming" />
200 </when> 165 </when>
201 </conditional> 166 </conditional>
202
203 167
204 <conditional name="params"> 168 <conditional name="params">
205 <param name="settingsType" type="select" label="Trim galore! advanced settings" help="You can use the default settings or set custom values for any of Trim Galore's parameters."> 169 <param name="settingsType" type="select" label="Trim galore! advanced settings" help="You can use the default settings or set custom values for any of Trim Galore's parameters.">
206 <option value="default">Use Defaults</option> 170 <option value="default">Use Defaults</option>
207 <option value="custom">Full parameter list</option> 171 <option value="custom">Full parameter list</option>
208 </param> 172 </param>
209 <when value="default" /> 173 <when value="default" />
210 <!-- Full/advanced params. --> 174 <!-- Full/advanced params. -->
211 <when value="custom"> 175 <when value="custom">
212 <param name="quality" type="integer" value="20" label="Trim low-quality ends from reads in addition to adapter removal." help="For more information please see below." /> 176 <param name="quality" type="integer" value="20" label="Trim low-quality ends from reads in addition to adapter removal"
213 <param name="adapter" type="text" value="AGATCGGAAGAGC" label="Adapter sequence to be trimmed"> 177 help="For more information please see below." />
214 <validator type="regex" message="Adapter sequence must contain DNA characters only (A,C,T,G or N)">^[ACTGNactgn]*$</validator>
215 </param>
216 <param name="stringency" type="integer" value="1" label="Overlap with adapter sequence required to trim a sequence" /> 178 <param name="stringency" type="integer" value="1" label="Overlap with adapter sequence required to trim a sequence" />
217 <param name="error_rate" type="float" value="0.1" label="Maximum allowed error rate" /> 179 <param name="error_rate" type="float" value="0.1" label="Maximum allowed error rate" />
218 <param name="min_length" type="integer" value="20" label="Discard reads that became shorter than length INT" /> 180 <param name="min_length" type="integer" value="20" label="Discard reads that became shorter than length INT" />
219 181
220 <param name="clip_R1" type="integer" value="0" label="nstructs Trim Galore to remove INT bp from the 5' end of read 1" /> 182 <param name="clip_R1" type="integer" value="0" label="Instructs Trim Galore to remove INT bp from the 5' end of read 1" />
221 <param name="clip_R2" type="integer" value="0" label="nstructs Trim Galore to remove INT bp from the 5' end of read 2" /> 183 <param name="clip_R2" type="integer" value="0" label="Instructs Trim Galore to remove INT bp from the 5' end of read 2" />
222 184
223 <param name="report" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Generate a report file" help="" /> 185 <param name="report" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Generate a report file" help="" />
224 186
225 <conditional name="retain_unpaired"> 187 <conditional name="retain_unpaired">
226 <param name="settingsType" type="select" label="specify if you would like to retain unpaired reads"> 188 <param name="settingsType" type="select" label="specify if you would like to retain unpaired reads">
244 <option value="custom">Full parameter list</option> 206 <option value="custom">Full parameter list</option>
245 </param> 207 </param>
246 <when value="default" /> 208 <when value="default" />
247 <!-- Full/advanced params. --> 209 <!-- Full/advanced params. -->
248 <when value="custom"> 210 <when value="custom">
249 <param name="rrbs" type="boolean" truevalue="--rrbs" falsevalue="" checked="True" label="Specifies that the input file was an MspI digested RRBS sample" /> 211 <param name="rrbs" type="boolean" truevalue="--rrbs" falsevalue="" checked="True"
250 <param name="non_directional" type="boolean" truevalue="--non_directional" falsevalue="" checked="False" label="Selecting this option for non-directional RRBS libraries" /> 212 label="Specifies that the input file was an MspI digested RRBS sample" />
213 <param name="non_directional" type="boolean" truevalue="--non_directional" falsevalue="" checked="False"
214 label="Selecting this option for non-directional RRBS libraries" />
251 </when> <!-- full --> 215 </when> <!-- full -->
252 </conditional> <!-- params --> 216 </conditional> <!-- params -->
253 217
254 </inputs> 218 </inputs>
255 <outputs> 219 <outputs>
256 220
257 <data format="fastq" name="trimmed_reads_single" label="${tool.name} on ${on_string}: trimmed reads"> 221 <data format="fastqsanger" name="trimmed_reads_single" from_work_dir="input_singles_trimmed.fq" label="${tool.name} on ${on_string}: trimmed reads">
258 <filter>singlePaired['sPaired'] == "single"</filter> 222 <filter>singlePaired['sPaired'] == "single"</filter>
259 <actions> 223 </data>
260 <action type="format"> 224
261 <option type="from_param" name="singlePaired.input_singles" param_attribute="ext" /> 225 <collection name="trimmed_reads_paired_collection" type="paired" label="${tool.name} on ${on_string}: trimmed reads">
262 </action> 226 <filter>singlePaired['sPaired'] == "paired_collection"</filter>
263 </actions> 227 <data name="forward" format="fastqsanger" from_work_dir="input_mate1_val_1.fq" />
264 </data> 228 <data name="reverse" format="fastqsanger" from_work_dir="input_mate2_val_2.fq" />
265 229 </collection>
266 <data format="fastq" name="trimmed_reads_pair1" label="${tool.name} on ${on_string}: trimmed reads pair 1"> 230
231 <collection name="trimmed_reads_unpaired_collection" type="paired" label="${tool.name} on ${on_string}: unpaired reads">
232 <filter>
233 ((
234 params['settingsType'] == "custom" and
235 params['retain_unpaired']['settingsType'] == "retain_unpaired_output" and
236 singlePaired['sPaired'] == "paired_collection"
237 ))
238 </filter>
239 <data name="forward" format="fastqsanger" from_work_dir="input_mate1_unpaired_1.fq" />
240 <data name="reverse" format="fastqsanger" from_work_dir="input_mate2_unpaired_2.fq" />
241 </collection>
242
243
244 <data format="fastqsanger" name="trimmed_reads_pair1" from_work_dir="input_mate1_val_1.fq"
245 label="${tool.name} on ${on_string}: trimmed reads pair 1">
267 <filter>singlePaired['sPaired'] == "paired"</filter> 246 <filter>singlePaired['sPaired'] == "paired"</filter>
268 <actions> 247 </data>
269 <action type="format"> 248
270 <option type="from_param" name="singlePaired.input_mate1" param_attribute="ext" /> 249 <data format="fastqsanger" name="trimmed_reads_pair2" from_work_dir="input_mate2_val_2.fq"
271 </action> 250 label="${tool.name} on ${on_string}: trimmed reads pair 2">
272 </actions>
273 </data>
274
275 <data format="fastq" name="trimmed_reads_pair2" label="${tool.name} on ${on_string}: trimmed reads pair 2">
276 <filter>singlePaired['sPaired'] == "paired"</filter> 251 <filter>singlePaired['sPaired'] == "paired"</filter>
277 <actions> 252 </data>
278 <action type="format"> 253
279 <option type="from_param" name="singlePaired.input_mate1" param_attribute="ext" /> 254 <data format="fastqsanger" name="unpaired_reads_1" from_work_dir="input_mate1_val_1.fq"
280 </action> 255 label="${tool.name} on ${on_string}: unpaired reads (1)">
281 </actions> 256 <filter>
282 </data>
283
284 <data format="fastq" name="unpaired_reads_1" label="${tool.name} on ${on_string}: unpaired reads (1)">
285 <filter>
286 (( 257 ((
287 params['settingsType'] == "custom" and 258 params['settingsType'] == "custom" and
288 params['retain_unpaired']['settingsType'] == "retain_unpaired_output" 259 params['retain_unpaired']['settingsType'] == "retain_unpaired_output" and
260 singlePaired['sPaired'] == "paired"
289 )) 261 ))
290 </filter> 262 </filter>
291 <actions> 263 </data>
292 <action type="format"> 264
293 <option type="from_param" name="singlePaired.input_mate1" param_attribute="ext" /> 265 <data format="fastqsanger" name="unpaired_reads_2" from_work_dir="input_mate2_val_2.fq"
294 </action> 266 label="${tool.name} on ${on_string}: unpaired reads (2)">
295 </actions> 267 <filter>
296 </data>
297
298 <data format="fastq" name="unpaired_reads_2" label="${tool.name} on ${on_string}: unpaired reads (2)">
299 <filter>
300 (( 268 ((
301 params['settingsType'] == "custom" and 269 params['settingsType'] == "custom" and
302 params['retain_unpaired']['settingsType'] == "retain_unpaired_output" 270 params['retain_unpaired']['settingsType'] == "retain_unpaired_output" and
271 singlePaired['sPaired'] == "paired"
303 )) 272 ))
304 </filter> 273 </filter>
305 <actions>
306 <action type="format">
307 <option type="from_param" name="singlePaired.input_mate1" param_attribute="ext" />
308 </action>
309 </actions>
310 </data> 274 </data>
311 275
312 <data format="txt" name="report_file" label="${tool.name} on ${on_string}: report file"> 276 <data format="txt" name="report_file" label="${tool.name} on ${on_string}: report file">
313 <filter> 277 <filter>
314 (( 278 ((
315 params['settingsType'] == "custom" and 279 params['settingsType'] == "custom" and
316 params['report'] == True 280 params['report'] == True
317 )) 281 ))
318 </filter> 282 </filter>
319 </data> 283 </data>
320 284
321 </outputs> 285 </outputs>
322 <tests> 286 <tests>
287 <test>
288 <!-- Trim entire sequences; keep empty reads -->
289 <param name="input_singles" value="sanger_full_range_original_sanger.fastqsanger" ftype="fastqsanger" />
290 <param name="sPaired" value="single" />
291 <param name="settingsType" value="custom" />
292 <param name="report" value="true" />
293 <output name="trimmed_reads_single" file="sanger_full_range_results1.fastqsanger" ftype="fastqsanger"/>
294 <output name="report_file" file="sanger_full_range_report_results1.txt" ftype="txt" lines_diff="2" />
295 </test>
296
297 <test>
298 <!-- Trim entire sequences; keep empty reads -->
299 <param name="input_mate1" value="bwa-mem-fastq1.fq" ftype="fastqsanger" />
300 <param name="input_mate2" value="bwa-mem-fastq2.fq" ftype="fastqsanger" />
301 <param name="sPaired" value="paired" />
302 <param name="settingsType" value="custom" />
303 <param name="report" value="true" />
304 <output name="trimmed_reads_pair1" file="paired_example_pair1_results2.fastqsanger" ftype="fastqsanger"/>
305 <output name="trimmed_reads_pair2" file="paired_example_pair2_results2.fastqsanger" ftype="fastqsanger"/>
306 <output name="report_file" file="paired_example_results2.txt" ftype="txt" lines_diff="8" />
307 </test>
308
309 <test>
310 <!-- Trim entire sequences; keep empty reads -->
311 <param name="input_mate_pairs">
312 <collection type="paired">
313 <element name="forward" value="bwa-mem-fastq1.fq" />
314 <element name="reverse" value="bwa-mem-fastq2.fq" />
315 </collection>
316 </param>
317 <param name="sPaired" value="paired_collection" />
318 <param name="settingsType" value="custom" />
319 <param name="report" value="true" />
320 <param name="retain_unpaired" value="retain_unpaired_output" />
321
322 <output name="report_file" file="paired_collection_example_results3.txt" ftype="txt" lines_diff="8" />
323
324 <output_collection name="trimmed_reads_paired_collection" type="paired">
325 <element name="forward" file="paired_collection_example_pair1_results3.fastqsanger" ftype="fastqsanger"/>
326 <element name="reverse" file="paired_collection_example_pair2_results3.fastqsanger" ftype="fastqsanger"/>
327 </output_collection>
328
329 <output_collection name="trimmed_reads_unpaired_collection" type="paired">
330 <element name="forward" file="paired_collection_example_unpair1_results3.fastqsanger" ftype="fastqsanger"/>
331 <element name="reverse" file="paired_collection_example_unpair2_results3.fastqsanger" ftype="fastqsanger"/>
332 </output_collection>
333 </test>
323 </tests> 334 </tests>
324
325 <help> 335 <help>
336 <![CDATA[
326 337
327 **What it does** 338 **What it does**
328 339
329 TrimGalore!_ is a wrapper script that makes use of the publically available 340 TrimGalore_ is a wrapper script that makes use of the publically available
330 adapter trimming tool Cutadapt. 341 adapter trimming tool Cutadapt.
331 342
332 343 .. _TrimGalore: http://www.bioinformatics.babraham.ac.uk/projects/trim_galore/
333 .. _TrimGalore!: http://www.bioinformatics.babraham.ac.uk/projects/trim_galore/ 344
334 345
335 346 It is developed by Felix Krueger at the Babraham Institute.
336 It is developed by Krueger F at the Babraham Institute. 347
337 348
338 349 ]]>
339 </help> 350 </help>
340 </tool> 351 </tool>