annotate README.md @ 13:b105c7163a5b draft default tip

Deleted selected files
author nikhil-joshi
date Sat, 14 Mar 2015 18:29:47 -0400
parents 7939dd56c4b4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
1 # sickle - A windowed adaptive trimming tool for FASTQ files using quality
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
2
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
3 ## About
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
4
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
5 Most modern sequencing technologies produce reads that have
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
6 deteriorating quality towards the 3'-end and some towards the 5'-end
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
7 as well. Incorrectly called bases in both regions negatively impact
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
8 assembles, mapping, and downstream bioinformatics analyses.
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
9
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
10 Sickle is a tool that uses sliding windows along with quality and
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
11 length thresholds to determine when quality is sufficiently low to
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
12 trim the 3'-end of reads and also determines when the quality is
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
13 sufficiently high enough to trim the 5'-end of reads. It will also
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
14 discard reads based upon the length threshold. It takes the quality
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
15 values and slides a window across them whose length is 0.1 times the
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
16 length of the read. If this length is less than 1, then the window is
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
17 set to be equal to the length of the read. Otherwise, the window
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
18 slides along the quality values until the average quality in the
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
19 window rises above the threshold, at which point the algorithm
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
20 determines where within the window the rise occurs and cuts the read
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
21 and quality there for the 5'-end cut. Then when the average quality
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
22 in the window drops below the threshold, the algorithm determines
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
23 where in the window the drop occurs and cuts both the read and quality
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
24 strings there for the 3'-end cut. However, if the length of the
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
25 remaining sequence is less than the minimum length threshold, then the
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
26 read is discarded entirely (or replaced with an "N" record). 5'-end
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
27 trimming can be disabled.
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
28
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
29 Sickle supports three types of quality values: Illumina, Solexa, and
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
30 Sanger. Note that the Solexa quality setting is an approximation (the
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
31 actual conversion is a non-linear transformation). The end
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
32 approximation is close. Illumina quality refers to qualities encoded
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
33 with the CASAVA pipeline between versions 1.3 and 1.7. Illumina
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
34 quality using CASAVA >= 1.8 is Sanger encoded.
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
35
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
36 Note that Sickle will remove the 2nd fastq record header (on the "+"
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
37 line) and replace it with simply a "+". This is the default format for
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
38 CASAVA >= 1.8.
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
39
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
40 Sickle also supports gzipped file inputs and optional gzipped outputs. By default,
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
41 Sickle will produce regular (i.e. not gzipped) output, regardless of the input.
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
42 Sickle also has an option to truncate reads with Ns at the first N position.
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
43
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
44 There is also a sickle.xml file included in the package that can be used to add sickle to your
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
45 local [Galaxy](http://galaxy.psu.edu/) server.
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
46
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
47 ## Citation
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
48 Sickle doesn't have a paper, but you can cite it like this:
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
49
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
50 Joshi NA, Fass JN. (2011). Sickle: A sliding-window, adaptive, quality-based trimming tool for FastQ files
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
51 (Version 1.33) [Software]. Available at https://github.com/najoshi/sickle.
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
52
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
53 ## Requirements
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
54
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
55 Sickle requires a C compiler; GCC or clang are recommended. Sickle
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
56 relies on Heng Li's kseq.h, which is bundled with the source.
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
57
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
58 Sickle also requires Zlib, which can be obtained at
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
59 <http://www.zlib.net/>.
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
60
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
61 ## Building and Installing Sickle
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
62
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
63 To build Sickle, enter:
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
64
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
65 make
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
66
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
67 Then, copy or move "sickle" to a directory in your $PATH.
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
68
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
69 ## Usage
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
70
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
71 Sickle has two modes to work with both paired-end and single-end
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
72 reads: `sickle se` and `sickle pe`.
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
73
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
74 Running sickle by itself will print the help:
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
75
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
76 sickle
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
77
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
78 Running sickle with either the "se" or "pe" commands will give help
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
79 specific to those commands:
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
80
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
81 sickle se
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
82 sickle pe
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
83
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
84 ### Sickle Single End (`sickle se`)
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
85
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
86 `sickle se` takes an input fastq file and outputs a trimmed version of
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
87 that file. It also has options to change the length and quality
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
88 thresholds for trimming, as well as disabling 5'-trimming and enabling
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
89 truncation of sequences with Ns.
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
90
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
91 #### Examples
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
92
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
93 sickle se -f input_file.fastq -t illumina -o trimmed_output_file.fastq
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
94 sickle se -f input_file.fastq -t illumina -o trimmed_output_file.fastq -q 33 -l 40
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
95 sickle se -f input_file.fastq -t illumina -o trimmed_output_file.fastq -x -n
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
96 sickle se -t sanger -g -f input_file.fastq -o trimmed_output_file.fastq.gz
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
97 sickle se --fastq-file input_file.fastq --qual-type sanger --output-file trimmed_output_file.fastq
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
98
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
99 ### Sickle Paired End (`sickle pe`)
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
100
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
101 `sickle pe` can operate with two types of input. First, it can take
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
102 two paired-end files as input and outputs two trimmed paired-end files
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
103 as well as a "singles" file. The second form starts with a single
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
104 combined input file of reads where you have already interleaved the
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
105 reads from the sequencer. In this form, you also supply a single
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
106 output file name as well as a "singles" file. The "singles" file
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
107 contains reads that passed filter in either the forward or reverse
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
108 direction, but not the other. Finally, there is an option (-M) to only
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
109 produce one interleaved output file where any reads that did not pass
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
110 filter will be output as a FastQ record with a single "N" (whose quality
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
111 value is the lowest possible based upon the quality type), thus
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
112 preserving the paired nature of the data. You can also change the length
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
113 and quality thresholds for trimming, as well as disable 5'-trimming and
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
114 enable truncation of sequences with Ns.
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
115
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
116 #### Examples
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
117
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
118 sickle pe -f input_file1.fastq -r input_file2.fastq -t sanger \
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
119 -o trimmed_output_file1.fastq -p trimmed_output_file2.fastq \
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
120 -s trimmed_singles_file.fastq
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
121
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
122 sickle pe -f input_file1.fastq -r input_file2.fastq -t sanger \
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
123 -o trimmed_output_file1.fastq -p trimmed_output_file2.fastq \
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
124 -s trimmed_singles_file.fastq -q 12 -l 15
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
125
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
126 sickle pe -f input_file1.fastq -r input_file2.fastq -t sanger \
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
127 -o trimmed_output_file1.fastq -p trimmed_output_file2.fastq \
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
128 -s trimmed_singles_file.fastq -n
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
129
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
130 sickle pe -c combo.fastq -t sanger -m combo_trimmed.fastq \
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
131 -s trimmed_singles_file.fastq -n
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
132
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
133 sickle pe -t sanger -g -f input_file1.fastq -r input_file2.fastq \
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
134 -o trimmed_output_file1.fastq.gz -p trimmed_output_file2.fastq.gz \
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
135 -s trimmed_singles_file.fastq.gz
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
136
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
137 sickle pe -c combo.fastq -t sanger -M combo_trimmed_all.fastq
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
138
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
139 sickle pe --pe-file1 input_file1.fastq --pe-file2 input_file2.fastq --qual-type sanger \
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
140 --output-pe1 trimmed_output_file1.fastq --output-pe2 trimmed_output_file2.fastq \
7939dd56c4b4 Uploaded
nikhil-joshi
parents:
diff changeset
141 --output-single trimmed_singles_file.fastq