一文了解Trimmomatic及使用方法
一、写在前面
Trimmomatic是一个处理高通量测序数据常用的工具,尤其是对于 Illumina 测序数据。它提供了包括去除接头序列(adapter trimming)、质量过滤(quality filtering)、去除低质量序列(trimming low-quality bases)等在内的功能,以帮助提高序列数据的质量和可靠性。值得一提的是,虽然刊载Trimmomatic的杂志
Trimmomatic 的主要功能和特点有:
接头序列去除:Illumina 测序过程中,常常会在末端添加一些引物序列(接头),这些序列可能会干扰后续的分析。Trimmomatic 能够检测并去除这些接头序列,提高数据的准确性。
质量过滤:测序过程中,序列的质量通常不均匀,Trimmomatic 可以根据用户指定的阈值进行质量过滤,去除低质量的序列,提高数据的可靠性。
序列修剪:Trimmomatic 可以根据用户指定的参数对序列进行修剪,包括去除低质量的碱基、修剪序列的末端等,以提高数据的质量和可靠性。
灵活性:Trimmomatic 提供了丰富的参数选项,可以根据实际需求进行灵活的设置和调整,以适应不同类型和质量的测序数据。
高效性:Trimmomatic 是一个高效的工具,能够处理大规模的测序数据,并在短时间内完成预处理任务(当然也要视你的机器而定)。
如果你对下面的教程比较迷茫,那么你可以先行学习Linux教程:
十小时学会Linux
生信Linux及服务器使用技巧如果你的计算机不足以支持下面流程的计算,可按需选用适合自己的计算资源:
共享(经济实惠):足够支持你完成硕博生涯的生信环境
独享(省电省心):生信分析不求人
实体(稳定高效):为实验室准备一份生物信息学不动产
访问链接:https://biomamba.xiyoucloud.net/
二、知识背景
主要功能为移除测序过程中的technical sequence、不包含有效信息的read以及低质量的的reads。
下图中 A、B、C、D 四种情况就是 Trimmomatic 去除接头和引物的四种模式:
红色条形——被切除的序列
绿色条形——保留下来的有效读长
深蓝色条形——接头序列
浅蓝色条形——引物序列
Trimmomatic 四种模式原理图解:
A 模式:测序 reads 从起始位置开始就包含了完整的接头序列,那么根据 Illumina 测序原理,这整条 reads 都不可能包含有用序列了(不存在互补),整条 reads 被丢弃。
B 模式:这种相对常见,由于文库插入片段比测序读长短,会在 reads 末端包含部分接头序列,若是这部分接头序列足够长是可以识别并去除的,但如果接头序列太短,比接头匹配参数设置的最短长度还短,那么就无法去除。但是,如果是 PE 测序,可以按照 D 模式去除 reads 末端的很短的接头序列。
C 模式:PE 测序可能出现这种情况,正向测序和反向测序有部分完全反向互补,但是空载的文库,两个接头直接互连,这样的 reads 不包含任何有用序列,正反向测序 reads 都被丢弃。
D 模式:是 Trimmomatic 利用 PE 测序进行短接头序列去除的典范,如果文库插入片段比测序读长短,利用正反向测序 reads 中一段碱基可以完全反向互补的特点,将两个接头序列与 reads 进行比对,同时两条 reads 之间也互相比对,可以将 3' 末端哪怕只有 1bp 的接头序列都可以被准确去除,相对 B 模式去除接头污染更彻底。
palindrome模式:
Tips:
1、trimmomatic建议在所有分析的最上游进行。
2、在双端测序的情况D中,trimmomatic的识别效率最高,甚至能去除单碱基的接头序列。
3、trimmomatic的风格不会删除少数极端低质量的演技影响,但对于连续低质量的reads会删除
4、为了保证具有足够多的序列以保留信息量的同时去除有害的低质量序列,作者设定了推定修剪的长度ScoreLT(l)、覆盖度ScoreCov、error rte scroreErr、等参数共同决定是否对序列进行”trimmer“
5、在后续比对的过程中,即使允许9个碱基错配,能够与基因组比对上的序列不足25%。而修剪后的序列能够比对上78%(同样的原始数据)。contig50也大大增加。
三、使用教程
安装:
用conda可以一键安装,conda的教程可参考:生信软件管家——conda的安装、使用、卸载
# 一键安装:
mamba install trimmomatic
#将trimmomatic.jar的路径写入,以免调用路径过长:
echo 'export PATH="/home/biomamba/miniconda3/envs/rnaseq/share/trimmomatic-0.39-2:$PATH"'/
>> ~/.bashrc
# 激活环境配置:
source ~/.bashrc
1、双端测序:
1.1、最简单的演示:
java -jar trimmomatic-0.39.jar PE /
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:2:True LEADING:3 TRAILING:3 MINLEN:36
1.2、对接头的敏感性更低:
java -jar trimmomatic-0.35.jar 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
1.3、对应的意义为:
Remove adapters (ILLUMINACLIP:TruSeq3-PE.fa:2:30:10)
Remove leading low quality or N bases (below quality 3) (LEADING:3)
Remove trailing low quality or N bases (below quality 3) (TRAILING:3)
Scan the read with a 4-base wide sliding window, cutting when the average quality per base drops below 15 (SLIDINGWINDOW:4:15)
Drop reads below the 36 bases long (MINLEN:36)
2、单端测序:
java -jar trimmomatic-0.35.jar SE -phred33 input.fq.gz output.fq.gz ILLUMINACLIP:TruSeq3-SE:2:30:10 LEADING:3 TRAILING:3 SLIDINGWINDOW:4:15 MINLEN:36
3、其他参数:
ILLUMINACLIP: Cut adapter and other illumina-specific sequences from the read.
SLIDINGWINDOW: Perform a sliding window trimming, cutting once the average quality within the window falls below a threshold.
LEADING: Cut bases off the start of a read, if below a threshold quality
TRAILING: Cut bases off the end of a read, if below a threshold quality
CROP: Cut the read to a specified length
HEADCROP: Cut the specified number of bases from the start of the read
MINLEN: Drop the read if it is below a specified length
TOPHRED33: Convert quality scores to Phred-33
TOPHRED64: Convert quality scores to Phred-64
#注:phred + 33 or phred + 64(默认)无需指定,V0.32后的版本均可自动识别。trimmomatic也会根据文件的后缀名自动压缩为对应的格式
4、详细语法:
4.1 PE:
java -jar PE /
[-threads ] /
/
...
或:
java -classpath /
org.usadellab.trimmomatic.TrimmomaticPE /
[-threads ] [-phred33 | -phred64] /
[-trimlog ] /
/
...
4.2 SE:
java -jar SE /
[-threads ] /
[-phred33 | -phred64] /
[-trimlog ]
或:
java -classpath /
org.usadellab.trimmomatic.TrimmomaticSE /
[-threads ] /
[-phred33 | -phred64] /
[-trimlog ]
5.3 其他可选选项:
(1)ILLUMINACLIP:
fastaWithAdaptersEtc: specifies the path to a fasta file containing all the adapters, PCR sequences etc. The naming of the various sequences within this file determines how they are used. See below.
seedMismatches: specifies the maximum mismatch count which will still allow a full match to be performed
palindromeClipThreshold: specifies how accurate the match between the two 'adapter ligated' reads must be for PE palindrome read alignment.
simpleClipThreshold: specifies how accurate the match between any adapter etc. sequence must be against a read.
(2)SLIDINGWINDOW:
windowSize: specifies the number of bases to average across
requiredQuality: specifies the average quality required.
(3)LEADING:
quality: Specifies the minimum quality required to keep a base.
(4)TRAILING:
quality: Specifies the minimum quality required to keep a base.
(5)CROP:
length: The number of bases to keep, from the start of the read.
(6)HEADCROP:
length: The number of bases to remove from the start of the read.
(7)MINLEN:
length: Specifies the minimum length of reads to be kept.
5、运行日志:
Specifying a trimlog file creates a log of all read trimmings, indicating the following details:
the read name
the surviving sequence length
the location of the first surviving base, aka. the amount trimmed from the start
the location of the last surviving base in the original read
the amount trimmed from the end
参考:
Bolger AM, Lohse M, Usadel B. Trimmomatic: a flexible trimmer for Illumina sequence data. Bioinformatics. 2014 Aug 1;30(15):2114-20. doi: 10.1093/bioinformatics/btu170. Epub 2014 Apr 1.
共有 0 条评论