注意:软件工具一般会定期进行迭代更新,如果使用出现问题,请查看官方文档。
可以用来切除illumina测序平台的接头序列,还可以去除由我们自己指定的特定接头序列,而且同时也能够过滤read末尾的低质量序列。具体的原理就是通过滑动一定长度的窗口,计算窗口内的碱基平均质量,如果过低,就直接往后全部切除,不是挖掉read中的这部分低质量序列,而是像切菜一样,直接从低质量区域开始把这条read后面的所有其它碱基全部剁掉,否则就是在人为改变实际的基因组序列情况。
adapters文件夹
使用方法:
PE和SE两种方式,详见说明文档
java -jar trimmomatic-0.36.jar
Usage:
PE [-version] [-threads <threads>] [-phred33|-phred64] [-trimlog <trimLogFile>] [-quiet] [-validatePairs] [-basein <inputBase> | <inputFile1> <inputFile2>] [-baseout <outputBase> | <outputFile1P> <outputFile1U> <outputFile2P> <outputFile2U>] <trimmer1>...
SE [-version] [-threads <threads>] [-phred33|-phred64] [-trimlog <trimLogFile>] [-quiet] <inputFile> <outputFile> <trimmer1>...
-version
# 例:paired-end
java -jar /path/Trimmomatic/trimmomatic-0.36.jar PE -phred33 reads_1.fq.gz reads_2.fq.gz out.read_1.fq.gz out.trim.read_1.fq.gz out.read_2.fq.gz out.trim.read_2.fq.gz ILLUMINACLIP:/path/Trimmomatic/adapters/TruSeq3-PE.fa:2:30:10 SLIDINGWINDOW:5:20 LEADING:5 TRAILING:5 MINLEN:50
## 在SE模式中,是不需要指定文件来存放被过滤掉的read信息的,后面直接就接Trimmer信息!这是需要注意到的一个地方
PE/SE
设定对Paired-End或Single-End的reads进行处理,其输入和输出参数稍有不一样。-threads
设置多线程运行数-phred33
设置碱基的质量格式,默认是pred64ILLUMINACLIP:TruSeq3-PE.fa:2:30:10
TruSeq3-PE.fa是接头序列,2是比对时接头序列时所允许的最大错配数;30指的是要求PE的两条read同时和PE的adapter序列比对,匹配度加起来超30%,那么就认为这对PE的read含有adapter,并在对应的位置需要进行切除。10和前面的30不同,它指的是,我就什么也不管,反正只要这条read的某部分和adpater序列有超过10%的匹配率,那么就代表含有adapter了,需要进行去除数:palindrome模式下匹配碱基数阈值:simple模式下的匹配碱基数阈值。LEADING:3
切除首端碱基质量小于3的碱基TRAILING:3
切除尾端碱基质量小于3的碱基SLIDINGWINDOW:4:15
从5‘端开始进行滑动,当滑动位点周围一段序列(window)的平均碱基低于阈值,则从该处进行切除。Windows的size是4个碱基,其平均碱基质量小于15,则切除。MINLEN:50
规定read被切除后至少需要保留的长度,如果低于该长度,会被丢掉CROP:<length>
保留reads到指定的长度HEADCROP:<length>
在reads的首端切除指定的长度TOPHRED33
将碱基质量转换为pred33格式TOPHRED64
将碱基质量转换为pred64格式如果下机的fq数据中不含有这些测序接头,那么我们除了trimmomatic之外,也可以直接使用sickle(同时支持PE和SE数据)或者seqtk(仅支持SE),这两个处理起来会更快,消耗的计算资源也更少。
原文:https://www.cnblogs.com/dataanaly/p/13197977.html