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 (or replaced with an "N" record). 5'-end trimming can be disabled.
sickle se -t [solexa|illumina|sanger] -f input_reads.fastq -o output_reads_trimmed.fastq
sickle se
takes an input fastq file and outputs a trimmed version of that file. It also has options to change the length and quality thresholds for trimming, as well as disabling 5'-trimming and enabling truncation of sequences with Ns.
Examples
sickle se -f input_file.fastq -t illumina -o trimmed_output_file.fastq
sickle se -f input_file.fastq -t illumina -o trimmed_output_file.fastq -q 33 -l 40
sickle se -f input_file.fastq -t illumina -o trimmed_output_file.fastq -x -n
sickle se -t sanger -g -f input_file.fastq -o trimmed_output_file.fastq.gz
sickle se --fastq-file input_file.fastq --qual-type sanger --output-file trimmed_output_file.fastq