conda activate mNGS
1.测序文件准备
J35_NDME10119_1.clean.fq
J35_NDME10119_2.clean.fq # 双端测序数据一个样本对应两个数据文件,用1.fq.gz和_2.fq.gz进行区分
2.测序数据质控
fastqc /mnt/d/mNGS/input/J35_NDME10119_1.clean.fq /mnt/d/mNGS/input/J35_NDME10119_2.clean.fq -o /mnt/d/mNGS/output/01_质控/
质控结果文件解读:
- read各个位置的碱基质量值分布:所有read数据综合起来一起分析的。
- 碱基的总体质量值分布:对于二代测序,达到Q20的碱基要在95%以上(最差不低于90%),Q30要大于85%(最差不要低于80%)。
- read各个位置上碱基分布比例:A和T比例应该差不多,C和G的比例也应该差不多。
- GC含量分布:基因组GC含量一般40%左右,如果GC含量的图谱明显偏离这个值,说明测序过程存在较高的序列偏向性,结果不准确,影响后续分析。
- read各位置的N含量:N在测序数据中一般是不应该出现的,如果出现则意味着,测序的光学信号无法被清晰分辨,如果这种情况多的话,往往意味着测序系统或者测序试剂的错误。
- read测序是否测到了接头序列:一般的WGS测序是不会测到这些接头序列的,因为构建WGS测序的文库序列(插入片段)都比较长,约几百bp,而read的测序长度都在100bp-150bp。不过在进行一些RNA测序的时候,它们的文库序列本来就比较短,很多只有几十bp,很容易出现read测通的现象,即read末尾包含了接头序列。
- read重复率,这个是实验的扩增过程所引入的。
3.切除测序接头序列和测序低质量序列
- Trimmomatic(java程序)
- 可以用来切除illumina测序平台的接头序列,还可以去除由我们自己指定的特定接头序列,而且同时也能够过滤read末尾的低质量序列。
- 具体的原理就是通过滑动一定长度的窗口,计算窗口内的碱基平均质量,如果过低,就直接把此处往后的序列全部切除。
- 如果下机的fq数据中不含有测序接头序列,也可以使用trimmomatic.
- 包里面有一个adapters文件夹,默认存放的是illumina测序平台的接头序列(fasta格式),也可以自定义。
HiSeq PE测序
Trimmomatic PE -phred33 -threads 8 \ # 默认是Phred64,但我们现在的测序数据基本都是用的Phred33
-trimlog logfile \
reads_1.fq.gz \ # 输入文件,可以用-basein和-baseout指定,也可以不用
reads_2.fq.gz \ # 输入文件
out.read_1.fq.gz \ # 输出文件
out.trim.read_1.fq.gz \ # 被过滤掉的read信息
out.read_2.fq.gz \ # 输出文件
out.trim.read_2.fq.gz \ # 被过滤掉的read信息
ILLUMINACLIP:TruSeq3-PE.fa:2:30:10 \
SLIDINGWINDOW:5:20 \
LEADING:5 \
TRAILING:5 MINLEN:50
HiSeq SE测序
Trimmomatic SE -phred33 -threads 8 \
-trimlog se.logfile \
untreated.fq.gz \
out.untreated.fq.gz \
# 不需要指定文件来存放被过滤掉的read信息
ILLUMINACLIP:TruSeq3-SE.fa:2:30:10 \
SLIDINGWINDOW:5:20 \
LEADING:5 \
TRAILING:5 \
MINLEN:50
LLUMINACLIP: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(接头)了,需要进行去除。
【注】测序的时候往往只会在测到一些部分的adapter,因此read和adaper的时候肯定是不需要要求百分百匹配率的,上述30%和10%其实是比较推荐的值。
SLIDINGWINDOW:5:20
窗口长度为5,窗口中的平均质量值至少为20,否则会开始切除。
LEADING
规定read开头的碱基是否要被切除的质量阈值。
TRAILING
规定read末尾的碱基是否要被切除的质量阈值。
MINLEN
规定read被切除后至少需要保留的长度,如果低于该长度,会被丢掉。