Mercurial > repos > pjbriggs > trimmomatic
comparison trimmomatic.xml @ 6:141bba0e9a77 draft
Uploaded v0.36.2 (adds support for compressed fastq inputs)
author | pjbriggs |
---|---|
date | Fri, 24 Feb 2017 05:12:32 -0500 |
parents | f80107cdc406 |
children | 6eeacf19a38e |
comparison
equal
deleted
inserted
replaced
5:f80107cdc406 | 6:141bba0e9a77 |
---|---|
1 <tool id="trimmomatic" name="Trimmomatic" version="0.36.1"> | 1 <tool id="trimmomatic" name="Trimmomatic" version="0.36.2"> |
2 <description>flexible read trimming tool for Illumina NGS data</description> | 2 <description>flexible read trimming tool for Illumina NGS data</description> |
3 <macros> | 3 <macros> |
4 <import>trimmomatic_macros.xml</import> | 4 <import>trimmomatic_macros.xml</import> |
5 </macros> | 5 </macros> |
6 <requirements> | 6 <requirements> |
7 <requirement type="package" version="0.36">trimmomatic</requirement> | 7 <requirement type="package" version="0.36">trimmomatic</requirement> |
8 </requirements> | 8 </requirements> |
9 <stdio> | 9 <command detect_errors="aggressive"><![CDATA[ |
10 <exit_code range="1:" /> | |
11 </stdio> | |
12 <command><![CDATA[ | |
13 @CONDA_TRIMMOMATIC_JAR_PATH@ && | 10 @CONDA_TRIMMOMATIC_JAR_PATH@ && |
14 @CONDA_TRIMMOMATIC_ADAPTERS_PATH@ && | 11 @CONDA_TRIMMOMATIC_ADAPTERS_PATH@ && |
15 java -mx8G -jar \$TRIMMOMATIC_JAR_PATH/trimmomatic.jar | 12 #if $readtype.single_or_paired == "pair_of_files" |
16 #if $paired_end.is_paired_end | 13 #set r1_ext = $readtype.fastq_r1_in.extension |
14 #set r2_ext = $readtype.fastq_r2_in.extension | |
15 ln -s '$readtype.fastq_r1_in' fastq_r1.'$r1_ext' && | |
16 ln -s '$readtype.fastq_r2_in' fastq_r2.'$r2_ext' && | |
17 #elif $readtype.single_or_paired == "collection" | |
18 #set r1_ext = $readtype.fastq_pair.forward.extension | |
19 #set r2_ext = $readtype.fastq_pair.reverse.extension | |
20 ln -s '$readtype.fastq_pair.forward' fastq_r1.'$r1_ext' && | |
21 ln -s '$readtype.fastq_pair.reverse' fastq_r2.'$r2_ext' && | |
22 #else | |
23 ln -s '$fastq_in' fastq_in.'$fastq_in.extension' && | |
24 #end if | |
25 java \${_JAVA_OPTIONS:--Xmx8G} -jar \$TRIMMOMATIC_JAR_PATH/trimmomatic.jar | |
26 #if $readtype.single_or_paired in ["pair_of_files","collection"] | |
17 PE -threads \${GALAXY_SLOTS:-6} -phred33 | 27 PE -threads \${GALAXY_SLOTS:-6} -phred33 |
18 #set $paired_input_type = $paired_end.paired_input_type_conditional.paired_input_type | 28 fastq_r1.'$r1_ext' fastq_r2.'$r2_ext' |
19 #if $paired_input_type == "pair_of_files" | 29 fastq_out_r1_paired.'$r1_ext' fastq_out_r1_unpaired.'$r1_ext' |
20 "${paired_end.paired_input_type_conditional.fastq_r1_in}" | 30 fastq_out_r2_paired.'$r2_ext' fastq_out_r2_unpaired.'$r2_ext' |
21 "${paired_end.paired_input_type_conditional.fastq_r2_in}" | |
22 "${fastq_out_r1_paired}" "${fastq_out_r1_unpaired}" | |
23 "${fastq_out_r2_paired}" "${fastq_out_r2_unpaired}" | |
24 #else | |
25 "${paired_end.paired_input_type_conditional.fastq_pair.forward}" | |
26 "${paired_end.paired_input_type_conditional.fastq_pair.reverse}" | |
27 "${fastq_out_paired.forward}" "${fastq_out_unpaired.forward}" | |
28 "${fastq_out_paired.reverse}" "${fastq_out_unpaired.reverse}" | |
29 #end if | |
30 #else | 31 #else |
31 SE -threads \${GALAXY_SLOTS:-6} -phred33 "$fastq_in" "$fastq_out" | 32 SE -threads \${GALAXY_SLOTS:-6} -phred33 fastq_in.'$fastq_in.extension' fastq_out.'$fastq_in.extension' |
32 #end if | 33 #end if |
33 ## ILLUMINACLIP option | 34 ## ILLUMINACLIP option |
34 #if $illuminaclip.do_illuminaclip | 35 #if $illuminaclip.do_illuminaclip |
35 ILLUMINACLIP:\$TRIMMOMATIC_ADAPTERS_PATH/$illuminaclip.adapter_fasta:$illuminaclip.seed_mismatches:$illuminaclip.palindrome_clip_threshold:$illuminaclip.simple_clip_threshold | 36 ILLUMINACLIP:\$TRIMMOMATIC_ADAPTERS_PATH/$illuminaclip.adapter_fasta:$illuminaclip.seed_mismatches:$illuminaclip.palindrome_clip_threshold:$illuminaclip.simple_clip_threshold |
36 #end if | 37 #end if |
63 MAXINFO:$op.operation.target_length:$op.operation.strictness | 64 MAXINFO:$op.operation.target_length:$op.operation.strictness |
64 #end if | 65 #end if |
65 #end for | 66 #end for |
66 2>&1 | tee trimmomatic.log && | 67 2>&1 | tee trimmomatic.log && |
67 if [ -z "\$(tail -1 trimmomatic.log | grep "Completed successfully")" ]; then echo "Trimmomatic did not finish successfully" >&2 ; exit 1 ; fi | 68 if [ -z "\$(tail -1 trimmomatic.log | grep "Completed successfully")" ]; then echo "Trimmomatic did not finish successfully" >&2 ; exit 1 ; fi |
69 && | |
70 #if $readtype.single_or_paired == "pair_of_files" | |
71 mv fastq_out_r1_paired.'$r1_ext' '${fastq_out_r1_paired}' && | |
72 mv fastq_out_r1_unpaired.'$r1_ext' '${fastq_out_r1_unpaired}' && | |
73 mv fastq_out_r2_paired.'$r2_ext' '${fastq_out_r2_paired}' && | |
74 mv fastq_out_r2_unpaired.'$r2_ext' '${fastq_out_r2_unpaired}' | |
75 #elif $readtype.single_or_paired == "collection" | |
76 mv fastq_out_r1_paired.'$r1_ext' '${fastq_out_paired.forward}' && | |
77 mv fastq_out_r1_unpaired.'$r1_ext' '${fastq_out_unpaired.forward}' && | |
78 mv fastq_out_r2_paired.'$r2_ext' '${fastq_out_paired.reverse}' && | |
79 mv fastq_out_r2_unpaired.'$r2_ext' '${fastq_out_unpaired.reverse}' | |
80 #else | |
81 mv fastq_out.'$fastq_in.extension' '${fastq_out}' | |
82 #end if | |
68 ]]></command> | 83 ]]></command> |
69 <inputs> | 84 <inputs> |
70 <conditional name="paired_end"> | 85 <conditional name="readtype"> |
71 <param name="is_paired_end" type="boolean" label="Paired end data?" truevalue="yes" falsevalue="no" checked="on" /> | 86 <param name="single_or_paired" type="select" label="Single-end or paired-end reads?"> |
72 <when value="no"> | 87 <option value="se" selected="true">Single-end</option> |
73 <param name="fastq_in" type="data" format="fastqsanger" label="Input FASTQ file" /> | 88 <option value="pair_of_files">Paired-end (two separate input files)</option> |
89 <option value="collection">Paired-end (as collection)</option> | |
90 </param> | |
91 <when value="se"> | |
92 <param name="fastq_in" type="data" format="fastqsanger,fastqsanger.gz" label="Input FASTQ file" /> | |
74 </when> | 93 </when> |
75 <when value="yes"> | 94 <when value="pair_of_files"> |
76 <conditional name="paired_input_type_conditional"> | 95 <param name="fastq_r1_in" type="data" format="fastqsanger,fastqsanger.gz" |
77 <param name="paired_input_type" type="select" label="Input Type"> | 96 label="Input FASTQ file (R1/first of pair)" /> |
78 <option value="pair_of_files" selected="true">Pair of datasets</option> | 97 <param name="fastq_r2_in" type="data" format="fastqsanger,fastqgsanger.gz" |
79 <option value="collection">Dataset collection pair</option> | 98 label="Input FASTQ file (R2/second of pair)" /> |
80 </param> | |
81 <when value="pair_of_files"> | |
82 <param name="fastq_r1_in" type="data" format="fastqsanger" | |
83 label="Input FASTQ file (R1/first of pair)" /> | |
84 <param name="fastq_r2_in" type="data" format="fastqsanger" | |
85 label="Input FASTQ file (R2/second of pair)" /> | |
86 </when> | |
87 <when value="collection"> | |
88 <param name="fastq_pair" format="fastqsanger" type="data_collection" | |
89 collection_type="paired" | |
90 label="Select FASTQ dataset collection with R1/R2 pair" /> | |
91 </when> | |
92 </conditional> | |
93 </when> | 99 </when> |
100 <when value="collection"> | |
101 <param name="fastq_pair" format="fastqsanger,fastqsanger.gz" type="data_collection" collection_type="paired" label="Select FASTQ dataset collection with R1/R2 pair" /> | |
102 </when> | |
94 </conditional> | 103 </conditional> |
95 <conditional name="illuminaclip"> | 104 <conditional name="illuminaclip"> |
96 <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" /> | 105 <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="False" /> |
97 <when value="yes"> | 106 <when value="yes"> |
98 <param name="adapter_fasta" type="select" label="Adapter sequences to use"> | 107 <param name="adapter_fasta" type="select" label="Adapter sequences to use"> |
99 <option value="TruSeq2-SE.fa">TruSeq2 (single-ended, for Illumina GAII)</option> | 108 <option value="TruSeq2-SE.fa">TruSeq2 (single-ended, for Illumina GAII)</option> |
100 <option value="TruSeq3-SE.fa">TruSeq3 (single-ended, for MiSeq and HiSeq)</option> | 109 <option value="TruSeq3-SE.fa">TruSeq3 (single-ended, for MiSeq and HiSeq)</option> |
101 <option value="TruSeq2-PE.fa">TruSeq2 (paired-ended, for Illumina GAII)</option> | 110 <option value="TruSeq2-PE.fa">TruSeq2 (paired-ended, for Illumina GAII)</option> |
102 <option value="TruSeq3-PE.fa">TruSeq3 (paired-ended, for MiSeq and HiSeq)</option> | 111 <option value="TruSeq3-PE.fa">TruSeq3 (paired-ended, for MiSeq and HiSeq)</option> |
103 <option value="TruSeq3-PE-2.fa">TruSeq3 (additional seqs) (paired-ended, for MiSeq and HiSeq)</option> | 112 <option value="TruSeq3-PE-2.fa">TruSeq3 (additional seqs) (paired-ended, for MiSeq and HiSeq)</option> |
104 <option value="NexteraPE-PE.fa">Nextera (paired-ended)</option> | 113 <option value="NexteraPE-PE.fa">Nextera (paired-ended)</option> |
105 </param> | 114 </param> |
106 <param name="seed_mismatches" type="integer" label="Maximum mismatch count which will still allow a full match to be performed" value="2" /> | 115 <param name="seed_mismatches" type="integer" label="Maximum mismatch count which will still allow a full match to be performed" value="2" /> |
107 <param name="palindrome_clip_threshold" type="integer" label="How accurate the match between the two 'adapter ligated' reads must be for PE palindrome read alignment" value="30" /> | 116 <param name="palindrome_clip_threshold" type="integer" label="How accurate the match between the two 'adapter ligated' reads must be for PE palindrome read alignment" value="30" /> |
108 <param name="simple_clip_threshold" type="integer" label="How accurate the match between any adapter etc. sequence must be against a read" value="10" /> | 117 <param name="simple_clip_threshold" type="integer" label="How accurate the match between any adapter etc. sequence must be against a read" value="10" /> |
109 </when> | 118 </when> |
110 <when value="no" /> <!-- empty clause to satisfy planemo lint --> | 119 <when value="no" /> <!-- empty clause to satisfy planemo lint --> |
111 </conditional> | 120 </conditional> |
112 <repeat name="operations" title="Trimmomatic Operation" min="1"> | 121 <repeat name="operations" title="Trimmomatic Operation" min="1"> |
113 <conditional name="operation"> | 122 <conditional name="operation"> |
114 <param name="name" type="select" label="Select Trimmomatic operation to perform"> | 123 <param name="name" type="select" label="Select Trimmomatic operation to perform"> |
115 <option selected="true" value="SLIDINGWINDOW">Sliding window trimming (SLIDINGWINDOW)</option> | 124 <option selected="true" value="SLIDINGWINDOW">Sliding window trimming (SLIDINGWINDOW)</option> |
116 <option value="MINLEN">Drop reads below a specified length (MINLEN)</option> | 125 <option value="MINLEN">Drop reads below a specified length (MINLEN)</option> |
117 <option value="LEADING">Cut bases off the start of a read, if below a threshold quality (LEADING)</option> | 126 <option value="LEADING">Cut bases off the start of a read, if below a threshold quality (LEADING)</option> |
118 <option value="TRAILING">Cut bases off the end of a read, if below a threshold quality (TRAILING)</option> | 127 <option value="TRAILING">Cut bases off the end of a read, if below a threshold quality (TRAILING)</option> |
119 <option value="CROP">Cut the read to a specified length (CROP)</option> | 128 <option value="CROP">Cut the read to a specified length (CROP)</option> |
120 <option value="HEADCROP">Cut the specified number of bases from the start of the read (HEADCROP)</option> | 129 <option value="HEADCROP">Cut the specified number of bases from the start of the read (HEADCROP)</option> |
121 <option value="AVGQUAL">Drop reads with average quality lower than a specified level (AVGQUAL)</option> | 130 <option value="AVGQUAL">Drop reads with average quality lower than a specified level (AVGQUAL)</option> |
122 <option value="MAXINFO">Trim reads adaptively, balancing read length and error rate to maximise the value of each read (MAXINFO)</option> | 131 <option value="MAXINFO">Trim reads adaptively, balancing read length and error rate to maximise the value of each read (MAXINFO)</option> |
123 </param> | 132 </param> |
124 <when value="SLIDINGWINDOW"> | 133 <when value="SLIDINGWINDOW"> |
125 <param name="window_size" type="integer" label="Number of bases to average across" value="4" /> | 134 <param name="window_size" type="integer" label="Number of bases to average across" value="4" /> |
126 <param name="required_quality" type="integer" label="Average quality required" value="20" /> | 135 <param name="required_quality" type="integer" label="Average quality required" value="20" /> |
127 </when> | 136 </when> |
128 <when value="MINLEN"> | 137 <when value="MINLEN"> |
129 <param name="minlen" type="integer" label="Minimum length of reads to be kept" value="20" /> | 138 <param name="minlen" type="integer" label="Minimum length of reads to be kept" value="20" /> |
130 </when> | 139 </when> |
131 <when value="LEADING"> | 140 <when value="LEADING"> |
132 <param name="leading" type="integer" label="Minimum quality required to keep a base" value="3" help="Bases at the start of the read with quality below the threshold will be removed" /> | 141 <param name="leading" type="integer" label="Minimum quality required to keep a base" value="3" help="Bases at the start of the read with quality below the threshold will be removed" /> |
133 </when> | 142 </when> |
134 <when value="TRAILING"> | 143 <when value="TRAILING"> |
135 <param name="trailing" type="integer" label="Minimum quality required to keep a base" value="3" help="Bases at the end of the read with quality below the threshold will be removed" /> | 144 <param name="trailing" type="integer" label="Minimum quality required to keep a base" value="3" help="Bases at the end of the read with quality below the threshold will be removed" /> |
136 </when> | 145 </when> |
137 <when value="CROP"> | 146 <when value="CROP"> |
138 <param name="crop" type="integer" label="Number of bases to keep from the start of the read" value="" /> | 147 <param name="crop" type="integer" label="Number of bases to keep from the start of the read" value="" /> |
139 </when> | 148 </when> |
140 <when value="HEADCROP"> | 149 <when value="HEADCROP"> |
141 <param name="headcrop" type="integer" label="Number of bases to remove from the start of the read" value="" /> | 150 <param name="headcrop" type="integer" label="Number of bases to remove from the start of the read" value="" /> |
142 </when> | 151 </when> |
143 <when value="AVGQUAL"> | 152 <when value="AVGQUAL"> |
144 <param name="avgqual" type="integer" label="Minimum average quality required to keep a read" value="" /> | 153 <param name="avgqual" type="integer" label="Minimum average quality required to keep a read" value="" /> |
145 </when> | 154 </when> |
146 <when value="MAXINFO"> | 155 <when value="MAXINFO"> |
147 <param name="target_length" type="integer" label="Target read length" value="" help="The read length which is likely to allow the location of the read within the target sequence to be determined." /> | 156 <param name="target_length" type="integer" label="Target read length" value="" help="The read length which is likely to allow the location of the read within the target sequence to be determined." /> |
148 <param name="strictness" type="float" label="Strictness" value="" help="Set between zero and one - specifies the balance between preserving read length versus removal of incorrect bases; low values (<0.2) favours longer reads, high values (>0.8) favours read correctness." /> | 157 <param name="strictness" type="float" label="Strictness" value="" help="Set between zero and one - specifies the balance between preserving read length versus removal of incorrect bases; low values (<0.2) favours longer reads, high values (>0.8) favours read correctness." /> |
149 </when> | 158 </when> |
150 </conditional> | 159 </conditional> |
151 </repeat> | 160 </repeat> |
152 </inputs> | 161 </inputs> |
153 <outputs> | 162 <outputs> |
154 <data format="fastqsanger" name="fastq_out_r1_paired" label="${tool.name} on ${paired_end.paired_input_type_conditional.fastq_r1_in.name} (R1 paired)"> | 163 <data name="fastq_out_r1_paired" label="${tool.name} on ${readtype.fastq_r1_in.name} (R1 paired)" format_source="fastq_r1_in"> |
155 <filter>paired_end['is_paired_end']</filter> | 164 <filter>readtype['single_or_paired'] == "pair_of_files"</filter> |
156 <filter>paired_end['paired_input_type_conditional']['paired_input_type'] == "pair_of_files"</filter> | 165 </data> |
157 </data> | 166 <data name="fastq_out_r2_paired" label="${tool.name} on ${readtype.fastq_r2_in.name} (R2 paired)" format_source="fastq_r2_in"> |
158 <data format="fastqsanger" name="fastq_out_r2_paired" label="${tool.name} on ${paired_end.paired_input_type_conditional.fastq_r2_in.name} (R2 paired)"> | 167 <filter>readtype['single_or_paired'] == "pair_of_files"</filter> |
159 <filter>paired_end['is_paired_end']</filter> | 168 </data> |
160 <filter>paired_end['paired_input_type_conditional']['paired_input_type'] == "pair_of_files"</filter> | 169 <data name="fastq_out_r1_unpaired" label="${tool.name} on ${readtype.fastq_r1_in.name} (R1 unpaired)" format_source="fastq_r1_in"> |
161 </data> | 170 <filter>readtype['single_or_paired'] == "pair_of_files"</filter> |
162 <data format="fastqsanger" name="fastq_out_r1_unpaired" label="${tool.name} on ${paired_end.paired_input_type_conditional.fastq_r1_in.name} (R1 unpaired)"> | 171 </data> |
163 <filter>paired_end['is_paired_end']</filter> | 172 <data name="fastq_out_r2_unpaired" label="${tool.name} on ${readtype.fastq_r2_in.name} (R2 unpaired)" format_source="fastq_r2_in"> |
164 <filter>paired_end['paired_input_type_conditional']['paired_input_type'] == "pair_of_files"</filter> | 173 <filter>readtype['single_or_paired'] == "pair_of_files"</filter> |
165 </data> | 174 </data> |
166 <data format="fastqsanger" name="fastq_out_r2_unpaired" label="${tool.name} on ${paired_end.paired_input_type_conditional.fastq_r2_in.name} (R2 unpaired)"> | 175 <data name="fastq_out" label="${tool.name} on ${readtype.fastq_in.name}" format_source="fastq_in"> |
167 <filter>paired_end['is_paired_end']</filter> | 176 <filter>readtype['single_or_paired'] == 'se'</filter> |
168 <filter>paired_end['paired_input_type_conditional']['paired_input_type'] == "pair_of_files"</filter> | 177 </data> |
169 </data> | 178 <collection name="fastq_out_paired" type="paired" label="${tool.name} on ${readtype.fastq_pair.name}: paired"> |
170 <data format="fastqsanger" name="fastq_out" label="${tool.name} on ${paired_end.fastq_in.name}"> | 179 <filter>readtype['single_or_paired'] == "collection"</filter> |
171 <filter>not paired_end['is_paired_end']</filter> | 180 <data name="forward" label="${tool.name} on ${readtype.fastq_pair.forward.name} (R1 paired)" format_source="fastq_pair['forward']"/> |
172 </data> | 181 <data name="reverse" label="${tool.name} on ${readtype.fastq_pair.reverse.name} (R2 paired)" format_source="fastq_pair['reverse']"/> |
173 <collection name="fastq_out_paired" type="paired" label="${tool.name} on ${paired_end.paired_input_type_conditional.fastq_pair.name}: paired"> | |
174 <data name="forward" format="fastqsanger" label="${tool.name} on ${paired_end.paired_input_type_conditional.fastq_pair.forward.name} (R1 paired)" /> | |
175 <data name="reverse" format="fastqsanger" label="${tool.name} on ${paired_end.paired_input_type_conditional.fastq_pair.reverse.name} (R2 paired)" /> | |
176 <filter>paired_end['is_paired_end']</filter> | |
177 <filter>paired_end['paired_input_type_conditional']['paired_input_type'] == "collection"</filter> | |
178 </collection> | 182 </collection> |
179 <collection name="fastq_out_unpaired" type="paired" label="${tool.name} on ${paired_end.paired_input_type_conditional.fastq_pair.name}: unpaired"> | 183 <collection name="fastq_out_unpaired" type="paired" label="${tool.name} on ${readtype.fastq_pair.name}: unpaired"> |
180 <data name="forward" format="fastqsanger" label="${tool.name} on ${paired_end.paired_input_type_conditional.fastq_pair.forward.name} (R1 unpaired)" /> | 184 <filter>readtype['single_or_paired'] == "collection"</filter> |
181 <data name="reverse" format="fastqsanger" label="${tool.name} on ${paired_end.paired_input_type_conditional.fastq_pair.reverse.name} (R2 unpaired)" /> | 185 <data name="forward" label="${tool.name} on ${readtype.fastq_pair.forward.name} (R1 unpaired)" format_source="fastq_pair['forward']"/> |
182 <filter>paired_end['is_paired_end']</filter> | 186 <data name="reverse" label="${tool.name} on ${readtype.fastq_pair.reverse.name} (R2 unpaired)" format_source="fastq_pair['reverse']"/> |
183 <filter>paired_end['paired_input_type_conditional']['paired_input_type'] == "collection"</filter> | |
184 </collection> | 187 </collection> |
188 | |
185 </outputs> | 189 </outputs> |
186 <tests> | 190 <tests> |
187 <test> | 191 <test> |
188 <!-- Single-end example --> | 192 <!-- Single-end example --> |
189 <param name="is_paired_end" value="no" /> | 193 <param name="single_or_paired" value="se" /> |
190 <param name="fastq_in" value="Illumina_SG_R1.fastq" ftype="fastqsanger" /> | 194 <param name="fastq_in" value="Illumina_SG_R1.fastq" ftype="fastqsanger" /> |
191 <param name="operations_0|operation|name" value="SLIDINGWINDOW" /> | 195 <param name="operations_0|operation|name" value="SLIDINGWINDOW" /> |
192 <!-- | |
193 **NB** outputs have to be specified in order that they appear in the | |
194 tool (which is the order they will be written to the history) - the | |
195 test framework seems to use the order and ignores the "name" attribute | |
196 --> | |
197 <output name="fastq_out" file="trimmomatic_se_out1.fastq" /> | 196 <output name="fastq_out" file="trimmomatic_se_out1.fastq" /> |
198 </test> | 197 </test> |
199 <test> | 198 <test> |
199 <!-- Single-end example - gzipped --> | |
200 <param name="single_or_paired" value="se" /> | |
201 <param name="fastq_in" value="Illumina_SG_R1.fastq.gz" ftype="fastqsanger.gz" /> | |
202 <param name="operations_0|operation|name" value="SLIDINGWINDOW" /> | |
203 <output name="fastq_out" file="trimmomatic_se_out1.fastq.gz" /> | |
204 </test> | |
205 <test> | |
206 <!-- Paired-end example - gzipped --> | |
207 <param name="single_or_paired" value="pair_of_files" /> | |
208 <param name="fastq_r1_in" value="Illumina_SG_R1.fastq.gz" ftype="fastqsanger.gz" /> | |
209 <param name="fastq_r2_in" value="Illumina_SG_R2.fastq.gz" ftype="fastqsanger.gz" /> | |
210 <param name="operations_0|operation|name" value="SLIDINGWINDOW" /> | |
211 <output name="fastq_out_r1_paired" file="trimmomatic_pe_r1_paired_out1.fastq.gz" /> | |
212 <output name="fastq_out_r1_unpaired" file="trimmomatic_pe_r1_unpaired_out1.fastq.gz" /> | |
213 <output name="fastq_out_r2_paired" file="trimmomatic_pe_r2_paired_out1.fastq.gz" /> | |
214 <output name="fastq_out_r2_unpaired" file="trimmomatic_pe_r2_unpaired_out1.fastq.gz" /> | |
215 </test> | |
216 <test> | |
200 <!-- Paired-end example --> | 217 <!-- Paired-end example --> |
201 <param name="is_paired_end" value="yes" /> | 218 <param name="single_or_paired" value="pair_of_files" /> |
202 <param name="fastq_r1_in" value="Illumina_SG_R1.fastq" ftype="fastqsanger" /> | 219 <param name="fastq_r1_in" value="Illumina_SG_R1.fastq" ftype="fastqsanger" /> |
203 <param name="fastq_r2_in" value="Illumina_SG_R2.fastq" ftype="fastqsanger" /> | 220 <param name="fastq_r2_in" value="Illumina_SG_R2.fastq" ftype="fastqsanger" /> |
204 <param name="operations_0|operation|name" value="SLIDINGWINDOW" /> | 221 <param name="operations_0|operation|name" value="SLIDINGWINDOW" /> |
205 <!-- | |
206 **NB** outputs have to be specified in order that they appear in the | |
207 tool (which is the order they will be written to the history) - the | |
208 test framework seems to use the order and ignores the "name" attribute | |
209 --> | |
210 <output name="fastq_out_r1_paired" file="trimmomatic_pe_r1_paired_out1.fastq" /> | 222 <output name="fastq_out_r1_paired" file="trimmomatic_pe_r1_paired_out1.fastq" /> |
211 <output name="fastq_out_r1_unpaired" file="trimmomatic_pe_r1_unpaired_out1.fastq" /> | 223 <output name="fastq_out_r1_unpaired" file="trimmomatic_pe_r1_unpaired_out1.fastq" /> |
212 <output name="fastq_out_r2_paired" file="trimmomatic_pe_r2_paired_out1.fastq" /> | 224 <output name="fastq_out_r2_paired" file="trimmomatic_pe_r2_paired_out1.fastq" /> |
213 <output name="fastq_out_r2_unpaired" file="trimmomatic_pe_r2_unpaired_out1.fastq" /> | 225 <output name="fastq_out_r2_unpaired" file="trimmomatic_pe_r2_unpaired_out1.fastq" /> |
214 </test> | 226 </test> |
215 <test> | 227 <test> |
216 <!-- Single-end example (cropping) --> | 228 <!-- Single-end example (cropping) --> |
217 <param name="is_paired_end" value="no" /> | 229 <param name="single_or_paired" value="se" /> |
218 <param name="fastq_in" value="Illumina_SG_R1.fastq" ftype="fastqsanger" /> | 230 <param name="fastq_in" value="Illumina_SG_R1.fastq" ftype="fastqsanger" /> |
219 <param name="operations_0|operation|name" value="CROP" /> | 231 <param name="operations_0|operation|name" value="CROP" /> |
220 <param name="operations_0|operation|crop" value="10" /> | 232 <param name="operations_0|operation|crop" value="10" /> |
221 <!-- | |
222 **NB** outputs have to be specified in order that they appear in the | |
223 tool (which is the order they will be written to the history) - the | |
224 test framework seems to use the order and ignores the "name" attribute | |
225 --> | |
226 <output name="fastq_out" file="trimmomatic_se_out2.fastq" /> | 233 <output name="fastq_out" file="trimmomatic_se_out2.fastq" /> |
227 </test> | 234 </test> |
228 <test> | 235 <test> |
229 <!-- Paired-end with dataset collection --> | 236 <!-- Paired-end with dataset collection --> |
230 <param name="is_paired_end" value="yes" /> | 237 <param name="single_or_paired" value="collection" /> |
231 <param name="paired_input_type" value="collection" /> | |
232 <param name="fastq_pair"> | 238 <param name="fastq_pair"> |
233 <collection type="paired"> | 239 <collection type="paired"> |
234 <element name="forward" value="Illumina_SG_R1.fastq" ftype="fastqsanger" /> | 240 <element name="forward" value="Illumina_SG_R1.fastq" ftype="fastqsanger" /> |
235 <element name="reverse" value="Illumina_SG_R2.fastq" ftype="fastqsanger"/> | 241 <element name="reverse" value="Illumina_SG_R2.fastq" ftype="fastqsanger"/> |
236 </collection> | 242 </collection> |
237 </param> | 243 </param> |
238 <param name="operations_0|operation|name" value="SLIDINGWINDOW" /> | 244 <param name="operations_0|operation|name" value="SLIDINGWINDOW" /> |
239 <output_collection name="fastq_out_paired" type="paired"> | 245 <output_collection name="fastq_out_paired" type="paired"> |
240 <element name="forward" file="trimmomatic_pe_r1_paired_out1.fastq" /> | 246 <element name="forward" file="trimmomatic_pe_r1_paired_out1.fastq" /> |
241 <element name="reverse" file="trimmomatic_pe_r2_paired_out1.fastq" /> | 247 <element name="reverse" file="trimmomatic_pe_r2_paired_out1.fastq" /> |
242 </output_collection> | 248 </output_collection> |
243 <output_collection name="fastq_out_unpaired" type="paired"> | 249 <output_collection name="fastq_out_unpaired" type="paired"> |
244 <element name="forward" file="trimmomatic_pe_r1_unpaired_out1.fastq" /> | 250 <element name="forward" file="trimmomatic_pe_r1_unpaired_out1.fastq" /> |
245 <element name="reverse" file="trimmomatic_pe_r2_unpaired_out1.fastq" /> | 251 <element name="reverse" file="trimmomatic_pe_r2_unpaired_out1.fastq" /> |
246 </output_collection> | 252 </output_collection> |
247 </test> | 253 </test> |
248 <test> | 254 <test> |
255 <!-- Paired-end with dataset collection - gzipped --> | |
256 <param name="single_or_paired" value="collection" /> | |
257 <param name="fastq_pair"> | |
258 <collection type="paired"> | |
259 <element name="forward" value="Illumina_SG_R1.fastq.gz" ftype="fastqsanger.gz" /> | |
260 <element name="reverse" value="Illumina_SG_R2.fastq.gz" ftype="fastqsanger.gz"/> | |
261 </collection> | |
262 </param> | |
263 <param name="operations_0|operation|name" value="SLIDINGWINDOW" /> | |
264 <output_collection name="fastq_out_paired" type="paired"> | |
265 <element name="forward" file="trimmomatic_pe_r1_paired_out1.fastq.gz" /> | |
266 <element name="reverse" file="trimmomatic_pe_r2_paired_out1.fastq.gz" /> | |
267 </output_collection> | |
268 <output_collection name="fastq_out_unpaired" type="paired"> | |
269 <element name="forward" file="trimmomatic_pe_r1_unpaired_out1.fastq.gz" /> | |
270 <element name="reverse" file="trimmomatic_pe_r2_unpaired_out1.fastq.gz" /> | |
271 </output_collection> | |
272 </test> | |
273 <test> | |
249 <!-- Single-end using AVGQUAL --> | 274 <!-- Single-end using AVGQUAL --> |
250 <param name="is_paired_end" value="no" /> | 275 <param name="single_or_paired" value="se" /> |
251 <param name="fastq_in" value="Illumina_SG_R1.fastq" ftype="fastqsanger" /> | 276 <param name="fastq_in" value="Illumina_SG_R1.fastq" ftype="fastqsanger" /> |
252 <param name="operations_0|operation|name" value="AVGQUAL" /> | 277 <param name="operations_0|operation|name" value="AVGQUAL" /> |
253 <param name="operations_0|operation|avgqual" value="30" /> | 278 <param name="operations_0|operation|avgqual" value="30" /> |
254 <output name="fastq_out" file="trimmomatic_avgqual.fastq" /> | 279 <output name="fastq_out" file="trimmomatic_avgqual.fastq" /> |
255 </test> | 280 </test> |
256 <test> | 281 <test> |
257 <!-- Single-end using MAXINFO --> | 282 <!-- Single-end using MAXINFO --> |
258 <param name="is_paired_end" value="no" /> | 283 <param name="single_or_paired" value="se" /> |
259 <param name="fastq_in" value="Illumina_SG_R1.fastq" ftype="fastqsanger" /> | 284 <param name="fastq_in" value="Illumina_SG_R1.fastq" ftype="fastqsanger" /> |
260 <param name="operations_0|operation|name" value="MAXINFO" /> | 285 <param name="operations_0|operation|name" value="MAXINFO" /> |
261 <param name="operations_0|operation|target_length" value="75" /> | 286 <param name="operations_0|operation|target_length" value="75" /> |
262 <param name="operations_0|operation|strictness" value="0.8" /> | 287 <param name="operations_0|operation|strictness" value="0.8" /> |
263 <output name="fastq_out" file="trimmomatic_maxinfo.fastq" /> | 288 <output name="fastq_out" file="trimmomatic_maxinfo.fastq" /> |
280 * **LEADING:** Cut bases off the start of a read, if below a threshold quality | 305 * **LEADING:** Cut bases off the start of a read, if below a threshold quality |
281 * **TRAILING:** Cut bases off the end of a read, if below a threshold quality | 306 * **TRAILING:** Cut bases off the end of a read, if below a threshold quality |
282 * **CROP:** Cut the read to a specified length | 307 * **CROP:** Cut the read to a specified length |
283 * **HEADCROP:** Cut the specified number of bases from the start of the read | 308 * **HEADCROP:** Cut the specified number of bases from the start of the read |
284 * **AVGQUAL:** Drop the read if the average quality is below a specified value | 309 * **AVGQUAL:** Drop the read if the average quality is below a specified value |
285 * **MAXINFO:** Trim reads adaptively, balancing read length and error rate to | 310 * **MAXINFO:** Trim reads adaptively, balancing read length and error rate to |
286 maximise the value of each read | 311 maximise the value of each read |
287 | 312 |
288 If ILLUMINACLIP is requested then it is always performed first; subsequent options | 313 If ILLUMINACLIP is requested then it is always performed first; subsequent options |
289 can be mixed and matched and will be performed in the order that they have been | 314 can be mixed and matched and will be performed in the order that they have been |
290 specified. | 315 specified. |
332 .. class:: infomark | 357 .. class:: infomark |
333 | 358 |
334 **Credits** | 359 **Credits** |
335 | 360 |
336 This Galaxy tool has been developed within the Bioinformatics Core Facility at the | 361 This Galaxy tool has been developed within the Bioinformatics Core Facility at the |
337 University of Manchester. It runs the Trimmomatic program which has been developed | 362 University of Manchester, with contributions from Peter van Heusden and Marius |
363 van den Beek. | |
364 | |
365 It runs the Trimmomatic program which has been developed | |
338 within Bjorn Usadel's group at RWTH Aachen university. | 366 within Bjorn Usadel's group at RWTH Aachen university. |
339 | 367 |
340 Trimmomatic website (including documentation): | 368 Trimmomatic website (including documentation): |
341 | 369 |
342 * http://www.usadellab.org/cms/index.php?page=trimmomatic | 370 * http://www.usadellab.org/cms/index.php?page=trimmomatic |
343 | 371 |
344 The reference for Trimmomatic is: | 372 The reference for Trimmomatic is: |
345 | 373 |
346 * Bolger, A.M., Lohse, M., & Usadel, B. (2014). Trimmomatic: A flexible trimmer | 374 * Bolger, A.M., Lohse, M., & Usadel, B. (2014). Trimmomatic: A flexible trimmer |
347 for Illumina Sequence Data. Bioinformatics, btu170. | 375 for Illumina Sequence Data. Bioinformatics, btu170. |