Table 1.
Comparison of ngsShoRT with other publically available pre-processing tools
Tool | Programming language | Targeted NGS platform | Input format | PE reads handling | Parallel processing | NGS artifacts handling | Quality score-based trimming | Output format | Summary report |
---|---|---|---|---|---|---|---|---|---|
ngsShoRT (2.1) |
Perl |
454, Illumina |
FastQ, Illumina QSEQ |
Yes |
Yes |
Yes |
Yes: 3'-end, quality window and filter out low quality reads |
FastQ |
Yes |
NGS QC toolkit (v.2.3.2) [15] |
Perl |
454, Illumina1 |
FastQ, FastA (+ .qual) |
Yes |
Yes |
Yes |
Yes: filter out low quality reads |
FastA (+.qual), FastQ |
Yes |
FASTX toolkit (v. 0.0.13.2) [26] |
C/C++ |
Non-specific |
FastQ2, FastA (not .qual) |
No |
No |
No |
Yes: filter out low quality reads |
FastA, FastQ |
No |
SeqTrim [25] |
Perl |
Non-specific3 |
FastA (+ .qual), Phred |
No |
No |
No |
Yes: filter out low quality reads |
FastA (+.qual) |
Yes |
CutAdapt (v.1.3) [14] |
Python4 |
454, Illumina, SOLID5 |
FastQ, SOLID’s cs.FastA + cs.FastA.qual |
No |
No |
No |
Yes: filter out low quality reads |
FastQ, SOLID’s cs.FastA + cs.FastA.qual |
No |
Btrim [27] |
C++6 |
Illumina |
FastQ6 |
No |
No |
No |
Yes: quality window |
FastQ |
No |
SolexaQA (v.2.2) [8] |
Perl |
Illumina |
FastQ |
Yes |
No |
No7 |
Yes: quality window and filter out low quality reads |
FastQ |
Yes |
Sickle [28] |
C/C++8 |
Illumina |
FastQ |
Yes |
No |
No |
Yes: quality window |
FastQ |
Yes |
Scythe [24] |
C/C++8 |
Illumina |
FastQ |
No |
No |
Yes, but only 3’ |
No |
FastQ |
Yes |
Trimmomatic (v.0.32) [16] | Java | Illumina | FastQ | Yes | Yes | Yes | Yes: quality window and filter out low quality reads | FastQ | Yes |
1NGS QC’s IlluQC only works for FastQ file, and 454QC only works for FastA (+.qual) file [15].
2FASTX toolkit does not accept multi-line FastQ file and requires reformatting to one-line FastQ file using provided tools [26].
3While SeqTrim isn’t platform-specific, it can only take FastA file (with/without .qual and chromatogram) [25].
4Most of CutAdapt is in python, but the alignment algorithm was written in C for speedup [14].
5CutAdapt was designed with RNA-Seq technology in mind [14].
6Btrim’s C++ implementation is designed for single reads. The tool website offers an un-optimized Perl script that organizes separately trimmed paired-end files [27].
7SolexaQA does not provide primer/adapter trimming [8].
8Scythe and Sickle require Zlib (http://www.zlib.net/) [24,28].