|
20 | 20 | #end if |
21 | 21 |
|
22 | 22 | #if str($readtype.single_or_paired) == "pe_combo": |
23 | | - pe -c $input_combo -m $output_combo -s $output_combo_single |
| 23 | + #if $readtype.output_n: |
| 24 | + pe -c $input_combo -M $output_combo |
| 25 | + #else |
| 26 | + pe -c $input_combo -m $output_combo -s $output_combo_single |
| 27 | + #end if |
24 | 28 |
|
25 | 29 | #if $input_combo.ext == "fastq": |
26 | 30 | -t sanger |
|
61 | 65 | -x |
62 | 66 | #end if |
63 | 67 |
|
64 | | - #if $discard_n: |
| 68 | + #if $trunc_n: |
65 | 69 | -n |
66 | 70 | #end if |
67 | 71 |
|
|
73 | 77 | <param name="single_or_paired" type="select" optional="false" label="Single-End or Paired-End reads?" help="Note: Sickle will infer the quality type of the file from its datatype. I.e., if the datatype is fastqsanger, then the quality type is sanger. The default is fastqsanger."> |
74 | 78 | <option value="se" selected="true">Single-End</option> |
75 | 79 | <option value="pe_combo">Paired-End (one interleaved input file)</option> |
76 | | - <option value="pe_sep">Paired-End (two separate input files)</option> |
| 80 | + <option value="pe_sep">Paired-End (two separate input files)</option> |
77 | 81 | </param> |
78 | 82 |
|
79 | 83 | <when value="se"> |
|
82 | 86 |
|
83 | 87 | <when value="pe_combo"> |
84 | 88 | <param format="fastq, fastqsanger, fastqillumina, fastqsolexa" name="input_combo" type="data" optional="false" label="Paired-End Interleaved FastQ Reads"/> |
| 89 | + <param name="output_n" type="boolean" label="Output only one file with all reads" help="This will output only one file with all the reads, where the reads that did not pass filter will be replaced with a single 'N'"/> |
85 | 90 | </when> |
86 | 91 |
|
87 | 92 | <when value="pe_sep"> |
|
99 | 104 | </param> |
100 | 105 |
|
101 | 106 | <param name="no_five_prime" type="boolean" label="Don't do 5' trimming"/> |
102 | | - <param name="discard_n" type="boolean" label="Discard sequences with Ns"/> |
| 107 | + <param name="trunc_n" type="boolean" label="Truncate sequences with Ns at first N position"/> |
103 | 108 | </inputs> |
104 | 109 |
|
105 | 110 | <outputs> |
|
113 | 118 |
|
114 | 119 | <data format_source="input_combo" name="output_combo_single" label="Singletons from Paired-End interleaved output of ${tool.name} on ${on_string}"> |
115 | 120 | <filter>(readtype['single_or_paired'] == 'pe_combo')</filter> |
| 121 | + <filter>(readtype['output_n'] == False)</filter> |
116 | 122 | </data> |
117 | 123 |
|
118 | 124 | <data format_source="input_paired1" name="output_paired1" label="Paired-End forward strand output of ${tool.name} on ${on_string}"> |
|
129 | 135 | </outputs> |
130 | 136 |
|
131 | 137 | <help> |
132 | | -Most modern sequencing technologies produce reads that have deteriorating quality towards the 3'-end and some towards the 5'-end as well. Incorrectly called bases in both regions negatively impact assembles, mapping, and downstream bioinformatics analyses. |
| 138 | +**Sickle - A windowed adaptive trimming tool for FASTQ files using quality** |
| 139 | + |
| 140 | +.. class:: infomark |
| 141 | + |
| 142 | +**About** |
| 143 | + |
| 144 | +Most modern sequencing technologies produce reads that have |
| 145 | +deteriorating quality towards the 3'-end and some towards the 5'-end |
| 146 | +as well. Incorrectly called bases in both regions negatively impact |
| 147 | +assembles, mapping, and downstream bioinformatics analyses. |
| 148 | + |
| 149 | +Sickle is a tool that uses sliding windows along with quality and |
| 150 | +length thresholds to determine when quality is sufficiently low to |
| 151 | +trim the 3'-end of reads and also determines when the quality is |
| 152 | +sufficiently high enough to trim the 5'-end of reads. It will also |
| 153 | +discard reads based upon the length threshold. It takes the quality |
| 154 | +values and slides a window across them whose length is 0.1 times the |
| 155 | +length of the read. If this length is less than 1, then the window is |
| 156 | +set to be equal to the length of the read. Otherwise, the window |
| 157 | +slides along the quality values until the average quality in the |
| 158 | +window rises above the threshold, at which point the algorithm |
| 159 | +determines where within the window the rise occurs and cuts the read |
| 160 | +and quality there for the 5'-end cut. Then when the average quality |
| 161 | +in the window drops below the threshold, the algorithm determines |
| 162 | +where in the window the drop occurs and cuts both the read and quality |
| 163 | +strings there for the 3'-end cut. However, if the length of the |
| 164 | +remaining sequence is less than the minimum length threshold, then the |
| 165 | +read is discarded entirely (or replaced with an "N" record). 5'-end |
| 166 | +trimming can be disabled. |
| 167 | + |
| 168 | +Sickle also has an option to truncate reads with Ns at the first N position. |
| 169 | + |
| 170 | +Sickle supports three types of quality values: Illumina, Solexa, and |
| 171 | +Sanger. Note that the Solexa quality setting is an approximation (the |
| 172 | +actual conversion is a non-linear transformation). The end |
| 173 | +approximation is close. Illumina quality refers to qualities encoded |
| 174 | +with the CASAVA pipeline between versions 1.3 and 1.7. Illumina |
| 175 | +quality using CASAVA >= 1.8 is Sanger encoded. |
133 | 176 |
|
134 | | -Sickle is a tool that uses sliding windows along with quality and length thresholds to determine when quality is sufficiently low to trim the 3'-end of reads and also determines when the quality is sufficiently high enough to trim the 5'-end of reads. It will also discard reads based upon the length threshold. It takes the quality values and slides a window across them whose length is 0.1 times the length of the read. If this length is less than 1, then the window is set to be equal to the length of the read. Otherwise, the window slides along the quality values until the average quality in the window rises above the threshold, at which point the algorithm determines where within the window the rise occurs and cuts the read and quality there for the 5'-end cut. Then when the average quality in the window drops below the threshold, the algorithm determines where in the window the drop occurs and cuts both the read and quality strings there for the 3'-end cut. However, if the length of the remaining sequence is less than the minimum length threshold, then the read is discarded entirely. 5'-end trimming can be disabled. |
| 177 | +Note that Sickle will remove the 2nd fastq record header (on the "+" |
| 178 | +line) and replace it with simply a "+". This is the default format for |
| 179 | +CASAVA >= 1.8. |
135 | 180 |
|
136 | | -Sickle also has an option to discard reads with any Ns in them. |
| 181 | +Sickle also supports gzipped file inputs and optional gzipped outputs. By default, |
| 182 | +Sickle will produce regular (i.e. not gzipped) output, regardless of the input. |
137 | 183 |
|
138 | | -Sickle supports three types of quality values: Illumina, Solexa, and Sanger. Note that the Solexa quality setting is an approximation (the actual conversion is a non-linear transformation). The end approximation is close. Illumina quality refers to qualities encoded with the CASAVA pipeline between versions 1.3 and 1.7. Illumina quality using CASAVA >= 1.8 is Sanger encoded. Sickle will get the quality type from the datatype of the file. |
| 184 | +.. class:: infomark |
139 | 185 |
|
140 | | -Note that Sickle will remove the 2nd fastq record header (on the "+" line) and replace it with simply a "+". This is the default format for CASAVA >= 1.8. |
| 186 | +**Citation** |
141 | 187 |
|
142 | | -Sickle also supports gzipped file inputs. |
| 188 | +Sickle doesn't have a paper, but you can cite it like this:: |
| 189 | + |
| 190 | + Joshi NA, Fass JN. (2011). Sickle: A sliding-window, adaptive, quality-based trimming tool for FastQ files |
| 191 | + (Version 1.33) [Software]. Available at https://github.com/najoshi/sickle. |
| 192 | + |
| 193 | +----- |
143 | 194 |
|
144 | 195 | Copyright: Nikhil Joshi |
| 196 | + |
145 | 197 | http://bioinformatics.ucdavis.edu |
| 198 | + |
146 | 199 | http://github.com/ucdavis-bioinformatics |
| 200 | + |
147 | 201 | http://github.com/najoshi |
| 202 | + |
148 | 203 | </help> |
149 | 204 |
|
150 | 205 | </tool> |
0 commit comments