annotate sickle.xml @ 2:8df4a4096ae2 default tip

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