声明:本文部分内容和部分图片来源于网络。本文为生信小白学习笔记,不能保证专业名词和内容全部正确或权威。
下图为某一条RNAseq从数据预处理,序列回帖到数据可视化的工作流程,包含了较多的软件(Linux环境运行)和若干个包(R语言环境运行),本系列将按下图,对每一个步骤进行学习和理解。

某RNAseq分析方法
承接本RNAseq分析上一部分,FastQC可以得到较详尽的测序结果质量评估报告,并可以通过分析得到导致测序结果质量较低的原因以利于下一步数据清洗和过滤。
Trimmomatic是2014年发表于Bioinformatics,已经引用19074次。主要针对Illumina平台结果进行分析,其他测序平台可选择相应数据清洗软件。
特点:Trimmomatic支持多线程,处理速度很快,主要用来去除 Illumina 平台的 Fastq 序列中的接头(adapter),并根据碱基质量值对 Fastq 进行修剪。软件有两种过滤模式,分别对应 SE 和 PE 测序数据,同时支持 gzip 和 bzip2 压缩文件。
简单应用
双端测序
对于大部分测序数据,都可以使用较温和的质量修整和接头修剪。大部分情况下,不需要前端和末尾修剪(leading and traling clipping)。通常,处理双端测序文件,*keepBothReads*很有用,这将保留多余的信息,但也会使分析流程更加可供处理。注意,在*keepBothReads*前的2是指在palindrome模式的最小adapter长度,可以被设置为1(默认值为8)。
需要注意的是:Trimmomatic过滤数据的命令顺序决定其过滤步骤,为了更有效地去除接头,可在其他过滤命令前,第一步就去除。
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
不同命令的功能:
- 移除接头(ILLUMINACLIP:TruSeq3-PE.fa:2:30:10)
- 移除前端低质量序列或N碱基(低于质量3)(LEADING:3)
- 移除尾端低质量序列或N碱基(低于质量3)(TRAILING:3)
- 使用4碱基宽度的滑窗扫描读段,当每碱基平均质量低于15时,进行修剪(SLIDINGWINDOW:4:15)
- 去除长度小于36碱基的读段(MINLEN:36)
单端测序
命令参数:
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
这段命令具体功能见双端测序。
Trimmomatic介绍
针对Illumina双端测序和单端测序,Trimmomatic呈现了多种有用的修剪工具。修剪步骤的选择及其相关的参数可在命令行上实现。
现有的修剪步骤:
-
ILLUMINACLIP:从读段中,修剪接头和其他Illumina特有的序列。
-
SLIDINGWINDOW:提供了一个滑窗修剪工具,一旦在该窗口的平均质量低于某个阈值,即删除该碱基。
-
LEADING:减去低于质量阈值的读段首端。
-
TRAILING:减去低于质量阈值的读段末端。
-
CROP:将读段剪切为特定的长度
-
HEADCROP:从读段的首端减去特定长度的碱基。
-
MINLEN:如果低于一定长度,删除该读段。
-
TOPHRED33:将质量分数转换为Phred-33
-
TOPHRED64:将质量分数转换为Phred-64
对单端测序,需要指定一个输入和一个输出文件,加上相应的处理步骤;对双端测序文件,需要指定两个输入文件和四个输出文件,其中两个为‘paired’输出文件(包含一对均经过筛选后留下的读段)和两个相应的‘unpaired’输出文件(包含仅有一个读段成功经过筛选)。
Trimmomatic运行
双端模式
java -jar <path to trimmomatic.jar> PE [-threads <threads] [-phred33 | -phred64] [-trimlog <logFile>] <input 1> <input 2> <paired output 1> <unpaired output 1> <paired output 2> <unpaired output 2> <step 1> ...
或
java -classpath <path to trimmomatic jar> org.usadellab.trimmomatic.TrimmomaticPE [-threads <threads>] [-phred33 | -phred64] [-trimlog <logFile>] <input 1> <input 2> <paired output 1> <unpaired output 1> <paired output 2> <unpaired output 2> <step 1> ...
单端模式
java -jar <path to trimmomatic jar> SE [-threads <threads>] [-phred33 | -phred64] [-trimlog <logFile>] <input> <output> <step 1> ...
或
java -classpath <path to trimmomatic jar> org.usadellab.trimmomatic.TrimmomaticSE [-threads <threads>] [-phred33 | -phred64] [-trimlog <logFile>] <input> <output> <step 1> ...
网友评论