comparison trimmomatic.xml @ 3:f8a9a5eaca8a draft

Updated to version 0.32.3: add support for FASTQ pairs (dataset collections)
author pjbriggs
date Wed, 23 Sep 2015 08:59:23 -0400
parents a60283899c6d
children 14d05f2d511d
comparison
equal deleted inserted replaced
2:a60283899c6d 3:f8a9a5eaca8a
1 <tool id="trimmomatic" name="Trimmomatic" version="0.32.2"> 1 <tool id="trimmomatic" name="Trimmomatic" version="0.32.3">
2 <description>flexible read trimming tool for Illumina NGS data</description> 2 <description>flexible read trimming tool for Illumina NGS data</description>
3 <command interpreter="bash">trimmomatic.sh 3 <requirements>
4 <requirement type="package" version="0.32">trimmomatic</requirement>
5 </requirements>
6 <stdio>
7 <exit_code range="1:" />
8 </stdio>
9 <command interpreter="bash"><![CDATA[
10 trimmomatic.sh
4 -mx8G 11 -mx8G
5 -jar \$TRIMMOMATIC_DIR/trimmomatic-0.32.jar 12 -jar \$TRIMMOMATIC_DIR/trimmomatic-0.32.jar
6 #if $paired_end.is_paired_end 13 #if $paired_end.is_paired_end
7 PE -threads \${GALAXY_SLOTS:-6} -phred33 $fastq_r1_in $paired_end.fastq_r2_in $fastq_out_r1_paired $fastq_out_r1_unpaired $fastq_out_r2_paired $fastq_out_r2_unpaired 14 PE -threads \${GALAXY_SLOTS:-6} -phred33
15 #set $paired_input_type = $paired_end.paired_input_type_conditional.paired_input_type
16 #if $paired_input_type == "pair_of_files"
17 "${paired_end.paired_input_type_conditional.fastq_r1_in}"
18 "${paired_end.paired_input_type_conditional.fastq_r2_in}"
19 "${fastq_out_r1_paired}" "${fastq_out_r1_unpaired}"
20 "${fastq_out_r2_paired}" "${fastq_out_r2_unpaired}"
21 #else
22 "${paired_end.paired_input_type_conditional.fastq_pair.forward}"
23 "${paired_end.paired_input_type_conditional.fastq_pair.reverse}"
24 "${fastq_out_paired.forward}" "${fastq_out_unpaired.forward}"
25 "${fastq_out_paired.reverse}" "${fastq_out_unpaired.reverse}"
26 #end if
8 #else 27 #else
9 SE -threads \${GALAXY_SLOTS:-6} -phred33 $fastq_in $fastq_out 28 SE -threads \${GALAXY_SLOTS:-6} -phred33 "$fastq_in" "$fastq_out"
10 #end if 29 #end if
11 ## ILLUMINACLIP option 30 ## ILLUMINACLIP option
12 #if $illuminaclip.do_illuminaclip 31 #if $illuminaclip.do_illuminaclip
13 ILLUMINACLIP:\$TRIMMOMATIC_ADAPTERS_DIR/$illuminaclip.adapter_fasta:$illuminaclip.seed_mismatches:$illuminaclip.palindrome_clip_threshold:$illuminaclip.simple_clip_threshold 32 ILLUMINACLIP:\$TRIMMOMATIC_ADAPTERS_DIR/$illuminaclip.adapter_fasta:$illuminaclip.seed_mismatches:$illuminaclip.palindrome_clip_threshold:$illuminaclip.simple_clip_threshold
14 #end if 33 #end if
33 #end if 52 #end if
34 #if str( $op.operation.name ) == "HEADCROP" 53 #if str( $op.operation.name ) == "HEADCROP"
35 HEADCROP:$op.operation.headcrop 54 HEADCROP:$op.operation.headcrop
36 #end if 55 #end if
37 #end for 56 #end for
38 </command> 57 ]]></command>
39 <requirements>
40 <requirement type="package" version="0.32">trimmomatic</requirement>
41 </requirements>
42 <inputs> 58 <inputs>
43 <conditional name="paired_end"> 59 <conditional name="paired_end">
44 <param name="is_paired_end" type="boolean" label="Paired end data?" truevalue="yes" falsevalue="no" checked="on" /> 60 <param name="is_paired_end" type="boolean" label="Paired end data?" truevalue="yes" falsevalue="no" checked="on" />
45 <when value="no"> 61 <when value="no">
46 <param name="fastq_in" type="data" format="fastqsanger" label="Input FASTQ file" /> 62 <param name="fastq_in" type="data" format="fastqsanger" label="Input FASTQ file" />
47 </when> 63 </when>
48 <when value="yes"> 64 <when value="yes">
49 <param name="fastq_r1_in" type="data" format="fastqsanger" 65 <conditional name="paired_input_type_conditional">
50 label="Input FASTQ file (R1/first of pair)" /> 66 <param name="paired_input_type" type="select" label="Input Type">
51 <param name="fastq_r2_in" type="data" format="fastqsanger" 67 <option value="pair_of_files" selected="true">Pair of datasets</option>
52 label="Input FASTQ file (R2/second of pair)" /> 68 <option value="collection">Dataset collection pair</option>
69 </param>
70 <when value="pair_of_files">
71 <param name="fastq_r1_in" type="data" format="fastqsanger"
72 label="Input FASTQ file (R1/first of pair)" />
73 <param name="fastq_r2_in" type="data" format="fastqsanger"
74 label="Input FASTQ file (R2/second of pair)" />
75 </when>
76 <when value="collection">
77 <param name="fastq_pair" format="fastqsanger" type="data_collection"
78 collection_type="paired"
79 label="Select FASTQ dataset collection with R1/R2 pair" />
80 </when>
81 </conditional>
53 </when> 82 </when>
54 </conditional> 83 </conditional>
55 <conditional name="illuminaclip"> 84 <conditional name="illuminaclip">
56 <param name="do_illuminaclip" type="boolean" label="Perform initial ILLUMINACLIP step?" help="Cut adapter and other illumina-specific sequences from the read" truevalue="yes" falsevalue="no" checked="off" /> 85 <param name="do_illuminaclip" type="boolean" label="Perform initial ILLUMINACLIP step?" help="Cut adapter and other illumina-specific sequences from the read" truevalue="yes" falsevalue="no" checked="off" />
57 <when value="yes"> 86 <when value="yes">
99 </when> 128 </when>
100 </conditional> 129 </conditional>
101 </repeat> 130 </repeat>
102 </inputs> 131 </inputs>
103 <outputs> 132 <outputs>
104 <data format="fastqsanger" name="fastq_out_r1_paired" label="${tool.name} on ${on_string} (R1 paired)"> 133 <data format="fastqsanger" name="fastq_out_r1_paired" label="${tool.name} on ${paired_end.paired_input_type_conditional.fastq_r1_in.name} (R1 paired)">
105 <filter>paired_end['is_paired_end']</filter> 134 <filter>paired_end['is_paired_end']</filter>
106 </data> 135 <filter>paired_end['paired_input_type_conditional']['paired_input_type'] == "pair_of_files"</filter>
107 <data format="fastqsanger" name="fastq_out_r1_unpaired" label="${tool.name} on ${on_string} (R1 unpaired)"> 136 </data>
108 <filter>paired_end['is_paired_end']</filter> 137 <data format="fastqsanger" name="fastq_out_r2_paired" label="${tool.name} on ${paired_end.paired_input_type_conditional.fastq_r2_in.name} (R2 paired)">
109 </data> 138 <filter>paired_end['is_paired_end']</filter>
110 <data format="fastqsanger" name="fastq_out_r2_paired" label="${tool.name} on ${on_string} (R2 paired)"> 139 <filter>paired_end['paired_input_type_conditional']['paired_input_type'] == "pair_of_files"</filter>
111 <filter>paired_end['is_paired_end']</filter> 140 </data>
112 </data> 141 <data format="fastqsanger" name="fastq_out_r1_unpaired" label="${tool.name} on ${paired_end.paired_input_type_conditional.fastq_r1_in.name} (R1 unpaired)">
113 <data format="fastqsanger" name="fastq_out_r2_unpaired" label="${tool.name} on ${on_string} (R2 unpaired)"> 142 <filter>paired_end['is_paired_end']</filter>
114 <filter>paired_end['is_paired_end']</filter> 143 <filter>paired_end['paired_input_type_conditional']['paired_input_type'] == "pair_of_files"</filter>
115 </data> 144 </data>
116 <data format="fastqsanger" name="fastq_out" label="${tool.name} on ${on_string}"> 145 <data format="fastqsanger" name="fastq_out_r2_unpaired" label="${tool.name} on ${paired_end.paired_input_type_conditional.fastq_r2_in.name} (R2 unpaired)">
146 <filter>paired_end['is_paired_end']</filter>
147 <filter>paired_end['paired_input_type_conditional']['paired_input_type'] == "pair_of_files"</filter>
148 </data>
149 <data format="fastqsanger" name="fastq_out" label="${tool.name} on ${paired_end.fastq_in.name}">
117 <filter>not paired_end['is_paired_end']</filter> 150 <filter>not paired_end['is_paired_end']</filter>
118 </data> 151 </data>
152 <collection name="fastq_out_paired" type="paired" label="${tool.name} on ${paired_end.paired_input_type_conditional.fastq_pair.name}: paired">
153 <data name="forward" format="fastqsanger" label="${tool.name} on ${paired_end.paired_input_type_conditional.fastq_pair.forward.name} (R1 paired)" />
154 <data name="reverse" format="fastqsanger" label="${tool.name} on ${paired_end.paired_input_type_conditional.fastq_pair.reverse.name} (R2 paired)" />
155 <filter>paired_end['is_paired_end']</filter>
156 <filter>paired_end['paired_input_type_conditional']['paired_input_type'] == "collection"</filter>
157 </collection>
158 <collection name="fastq_out_unpaired" type="paired" label="${tool.name} on ${paired_end.paired_input_type_conditional.fastq_pair.name}: unpaired">
159 <data name="forward" format="fastqsanger" label="${tool.name} on ${paired_end.paired_input_type_conditional.fastq_pair.forward.name} (R1 unpaired)" />
160 <data name="reverse" format="fastqsanger" label="${tool.name} on ${paired_end.paired_input_type_conditional.fastq_pair.reverse.name} (R2 unpaired)" />
161 <filter>paired_end['is_paired_end']</filter>
162 <filter>paired_end['paired_input_type_conditional']['paired_input_type'] == "collection"</filter>
163 </collection>
119 </outputs> 164 </outputs>
120 <tests> 165 <tests>
121 <test> 166 <test>
122 <!-- Single-end example --> 167 <!-- Single-end example -->
123 <param name="is_paired_end" value="no" /> 168 <param name="is_paired_end" value="no" />
157 tool (which is the order they will be written to the history) - the 202 tool (which is the order they will be written to the history) - the
158 test framework seems to use the order and ignores the "name" attribute 203 test framework seems to use the order and ignores the "name" attribute
159 --> 204 -->
160 <output name="fastq_out" file="trimmomatic_se_out2.fastq" /> 205 <output name="fastq_out" file="trimmomatic_se_out2.fastq" />
161 </test> 206 </test>
207 <test>
208 <!-- Paired-end with dataset collection -->
209 <param name="is_paired_end" value="yes" />
210 <param name="paired_input_type" value="collection" />
211 <param name="fastq_pair">
212 <collection type="paired">
213 <element name="forward" value="Illumina_SG_R1.fastq" ftype="fastqsanger" />
214 <element name="reverse" value="Illumina_SG_R2.fastq" ftype="fastqsanger"/>
215 </collection>
216 </param>
217 <param name="operations_0|operation|name" value="SLIDINGWINDOW" />
218 <output_collection name="fastq_out_paired" type="paired">
219 <element name="forward" file="trimmomatic_pe_r1_paired_out1.fastq" />
220 <element name="reverse" file="trimmomatic_pe_r2_paired_out1.fastq" />
221 </output_collection>
222 <output_collection name="fastq_out_unpaired" type="paired">
223 <element name="forward" file="trimmomatic_pe_r1_unpaired_out1.fastq" />
224 <element name="reverse" file="trimmomatic_pe_r2_unpaired_out1.fastq" />
225 </output_collection>
226 </test>
162 </tests> 227 </tests>
163 <help> 228 <help><![CDATA[
164 .. class:: infomark 229 .. class:: infomark
165 230
166 **What it does** 231 **What it does**
167 232
168 Trimmomatic performs a variety of useful trimming tasks for illumina paired-end and 233 Trimmomatic performs a variety of useful trimming tasks for illumina paired-end and
189 254
190 ------------- 255 -------------
191 256
192 .. class:: infomark 257 .. class:: infomark
193 258
259 **Inputs**
260
261 For single-end data this Trimmomatic tool accepts a single FASTQ file; for
262 paired-end data it will accept either two FASTQ files (R1 and R2), or a
263 dataset collection containing the R1/R2 FASTQ pair.
264
265 .. class:: infomark
266
194 **Outputs** 267 **Outputs**
195 268
196 For paired-end data a particular strength of Trimmomatic is that it retains the 269 For paired-end data a particular strength of Trimmomatic is that it retains the
197 pairing of reads (from R1 and R2) in the filtered output files: 270 pairing of reads (from R1 and R2) in the filtered output files:
198 271
199 * Two FASTQ files (R1-paired and R2-paired) contain one read from each pair where 272 * Two FASTQ files (R1-paired and R2-paired) contain one read from each pair where
200 both have survived filtering. 273 both have survived filtering.
201 * Additionally two FASTQ files (R1-unpaired and R2-unpaired) contain reads where 274 * Additionally two FASTQ files (R1-unpaired and R2-unpaired) contain reads where
202 one of the pair failed the filtering steps. 275 one of the pair failed the filtering steps.
203 276
277 .. class:: warningmark
278
279 If the input consists of a dataset collection with the R1/R2 FASTQ pair then
280 the outputs will also inclue two dataset collections: one for the 'paired'
281 outputs and one for the 'unpaired' (as described above)
282
204 Retaining the same order and number of reads in the filtered output fastq files is 283 Retaining the same order and number of reads in the filtered output fastq files is
205 essential for many downstream analysis tools. 284 essential for many downstream analysis tools.
206 285
207 For single-end data the output is a single FASTQ file containing just the filtered 286 For single-end data the output is a single FASTQ file containing just the filtered
208 reads. 287 reads.
226 * Bolger, A.M., Lohse, M., &amp; Usadel, B. (2014). Trimmomatic: A flexible trimmer 305 * Bolger, A.M., Lohse, M., &amp; Usadel, B. (2014). Trimmomatic: A flexible trimmer
227 for Illumina Sequence Data. Bioinformatics, btu170. 306 for Illumina Sequence Data. Bioinformatics, btu170.
228 307
229 Please kindly acknowledge both this Galaxy tool and the Trimmomatic program if you 308 Please kindly acknowledge both this Galaxy tool and the Trimmomatic program if you
230 use it. 309 use it.
231 </help> 310 ]]></help>
232 <citations> 311 <citations>
233 <!-- 312 <!--
234 See https://wiki.galaxyproject.org/Admin/Tools/ToolConfigSyntax#A.3Ccitations.3E_tag_set 313 See https://wiki.galaxyproject.org/Admin/Tools/ToolConfigSyntax#A.3Ccitations.3E_tag_set
235 Can be either DOI or Bibtex 314 Can be either DOI or Bibtex
236 Use http://www.bioinformatics.org/texmed/ to convert PubMed to Bibtex 315 Use http://www.bioinformatics.org/texmed/ to convert PubMed to Bibtex