annotate sickle.xml @ 3:13837e38aad2

depending on zlib dependency
author nilesh
date Mon, 15 Jul 2013 11:08:48 -0500
parents b04d24abd573
children 7ebde7d1281c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
1 <tool id="sickle" name="Sickle">
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
2 <description>Windowed Adaptive Trimming of FastQ data</description>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
3 <requirements>
2
b04d24abd573 separated into two dependencies
nilesh
parents: 0
diff changeset
4 <requirement type="package" version="1.2.8">zlib</requirement>
0
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
5 <requirement type="package" version="1.21.0">sickle</requirement>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
6 </requirements>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
7 <command>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
8 sickle $readtype.single_or_paired --quiet
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
9
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
10 #if str($readtype.single_or_paired) == "se":
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
11 -f $input_single -t $qual_type -o $output_single
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
12 #end if
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
13
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
14 #if str($readtype.single_or_paired) == "pe":
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
15 -f $input_paired1 -r $input_paired2 -o $output_paired1 -p $output_paired2 -s $output_paired_single -t $qual_type
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
16 #end if
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
17
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
18 #if str($qual_threshold) != "":
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
19 -q $qual_threshold
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
20 #end if
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
21
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
22 #if str($length_threshold) != "":
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
23 -l $length_threshold
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
24 #end if
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
25
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
26 #if $no_five_prime:
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
27 -x
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
28 #end if
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
29
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
30 #if $discard_n:
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
31 -n
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
32 #end if
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
33 </command>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
34
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
35 <inputs>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
36 <conditional name="readtype">
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
37 <param name="single_or_paired" type="select" optional="false" label="Single-End or Paired-End reads?">
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
38 <option value="se" selected="true">Single-End</option>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
39 <option value="pe">Paired-End</option>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
40 </param>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
41
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
42 <when value="se">
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
43 <param format="fastq, fastqsanger" name="input_single" type="data" optional="false" label="Single-End FastQ Reads"/>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
44 </when>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
45
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
46 <when value="pe">
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
47 <param format="fastq, fastqsanger" name="input_paired1" type="data" optional="false" label="Paired-End Forward Strand FastQ Reads"/>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
48 <param format="fastq, fastqsanger" name="input_paired2" type="data" optional="false" label="Paired-End Reverse Strand FastQ Reads"/>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
49 </when>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
50 </conditional>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
51
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
52 <param name="qual_type" type="select" optional="false" label="Quality type">
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
53 <option value="illumina" selected="true">Illumina</option>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
54 <option value="solexa">Solexa</option>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
55 <option value="sanger">Sanger</option>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
56 </param>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
57
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
58 <param name="qual_threshold" value="20" type="integer" optional="true" label="Quality Threshold">
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
59 <validator type="in_range" min="0" message="Minimum value is 0"/>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
60 </param>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
61
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
62 <param name="length_threshold" value="20" type="integer" optional="true" label="Length Threshold">
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
63 <validator type="in_range" min="0" message="Minimum value is 0"/>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
64 </param>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
65
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
66 <param name="no_five_prime" type="boolean" label="Don't do 5' trimming"/>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
67 <param name="discard_n" type="boolean" label="Discard sequences with Ns"/>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
68 </inputs>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
69
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
70 <outputs>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
71 <data format_source="input_single" name="output_single" label="Single-End output of ${tool.name} on ${on_string}">
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
72 <filter>(readtype['single_or_paired'] == 'se')</filter>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
73 </data>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
74
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
75 <data format_source="input_paired1" name="output_paired1" label="Paired-End forward strand output of ${tool.name} on ${on_string}">
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
76 <filter>(readtype['single_or_paired'] == 'pe')</filter>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
77 </data>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
78
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
79 <data format_source="input_paired2" name="output_paired2" label="Paired-End reverse strand output of ${tool.name} on ${on_string}">
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
80 <filter>(readtype['single_or_paired'] == 'pe')</filter>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
81 </data>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
82
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
83 <data format_source="input_paired1" name="output_paired_single" label="Singletons from Paired-End output of ${tool.name} on ${on_string}">
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
84 <filter>(readtype['single_or_paired'] == 'pe')</filter>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
85 </data>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
86 </outputs>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
87 <tests>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
88 <param name="single_or_paired" value="pe"/>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
89 <param name="input_paired1" value="test.f.fastq"/>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
90 <param name="input_paired2" value="test.r.fastq"/>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
91 <param name="qual_type" value="illumina"/>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
92 <param name="qual_threshold" value="20"/>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
93 <param name="length_threshold" value="20"/>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
94 <param name="no_five_prime" value="false"/>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
95 <param name="discard_n" value="false"/>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
96 <output name="output_paired1" value="output.f.fastq"/>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
97 <output name="output_paired2" value="output.r.fastq"/>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
98 <output name="output_paired_single" value="output.fastq"/>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
99 </tests>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
100
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
101 <help>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
102 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.
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
103
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
104 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.
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
105
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
106 Sickle also has an option to discard reads with any Ns in them.
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
107
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
108 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.
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
109
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
110 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.
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
111
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
112 Sickle also supports gzipped file inputs.
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
113 </help>
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
114
12f0ce236f6e Uploaded
nilesh
parents:
diff changeset
115 </tool>