usadellab/Trimmomatic (github.com)
Quick start
单末端测序数据:
trimmomatic SE -phred33 input.fq.gz output.fq.gz \
ILLUMINACLIP:TruSeq3-SE:2:30:10 LEADING:3 TRAILING:3 SLIDINGWINDOW:4:15 MINLEN:36
双末端测序数据:
trimmomatic PE -phred33 \
input_forward.fq.gz input_reverse.fq.gz \
output_forward_paired.fq.gz output_forward_unpaired.fq.gz \
output_reverse_paired.fq.gz output_reverse_unpaired.fq.gz \
ILLUMINACLIP:TruSeq3-PE.fa:2:30:10 LEADING:3 TRAILING:3 SLIDINGWINDOW:4:15 MINLEN:36
* <input 1> <input 2> <paired output 1> <unpaired output 1> <paired output 2> <unpaired output 2>
1. PE 模式的两个输入文件:sample_R1.fastq sample_R2.fastq
2. 以及四个输出文件:sample_**paired_**R1.clean.fastq\ sample_**unpaired**_R1.clean.fastq\ sample_paired_R1.clean.fastq\ sample_unpaired_R1.clean.fastq
常用参数:
* ILLUMINACLIP: 过滤 reads 中的 Illumina 测序接头和引物序列,并决定是否去除反向互补的 R1/R2 中的 R2。
* SLIDINGWINDOW: 从 reads 的 5' 端开始,进行滑窗质量过滤,切掉碱基质量平均值低于阈值的滑窗。
* MAXINFO: 一个自动调整的过滤选项,在保证 reads 长度的情况下尽量降低测序错误率,最大化 reads 的使用价值。
* LEADING: 从 reads 的开头切除质量值低于阈值的碱基。
* TRAILING: 从 reads 的末尾开始切除质量值低于阈值的碱基。
* CROP: 从 reads 的末尾切掉部分碱基使得 reads 达到指定长度。
* HEADCROP: 从 reads 的开头切掉指定数量的碱基。
* MINLEN: 如果经过剪切后 reads 的长度低于阈值则丢弃这条 reads。
* AVGQUAL: 如果 reads 的平均碱基质量值低于阈值则丢弃这条 reads。
* TOPHRED33: 将 reads 的碱基质量值体系转为 phred-33。
* TOPHRED64: 将 reads 的碱基质量值体系转为 phred-64。
几种reads trimmed 情况
-
A 模式:测序 reads 从起始位置开始就包含了完整的接头序列,那么根据 Illumina 测序原理,这整条 reads 都不可能包含有用序列了,整条 reads 被丢弃。
-
B 模式:这种相对常见,由于文库插入片段比测序读长短,会在 reads 末端包含部分接头序列,若是这部分接头序列足够长是可以识别并去除的,但如果接头序列太短,比接头匹配参数设置的最短长度还短,那么就无法去除。但是,如果是 PE 测序,可以按照 D 模式去除 reads 末端的很短的接头序列。
-
C 模式:PE 测序可能出现这种情况,正向测序和反向测序有部分完全反向互补,但是空载的文库,两个接头直接互连,这样的 reads 不包含任何有用序列,正反向测序 reads 都被丢弃。
-
D 模式:是 Trimmomatic 利用 PE 测序进行短接头序列去除的典范,如果文库插入片段比测序读长短,利用正反向测序 reads 中一段碱基可以完全反向互补的特点,将两个接头序列与 reads 进行比对,同时两条 reads 之间也互相比对,可以将 3' 末端哪怕只有 1bp 的接头序列都可以被准确去除,相对 B 模式去除接头污染更彻底。
网友评论