NGS

测序数据之质量控制

二代测序下的质量控制

Posted by Mr.Children on April 26, 2018

Illumina 测序

单端测序的结果只有一个Fastq 文件,如果是双端测序有2个Fastq文件:

  1. 一般情况下,两个Fastq文件分别包含数字1和2分别代表先后得到的数据
  2. 这两个文件的行数一致
  3. 这两个文件相同行上的数据来自于同一条DNA片段双末端的测序数据
  4. Fastq 文件每4行表示一条read序列

    1. 质量值

Q(Phred 值) = -10log10(P) P为碱基错误率

大部分采用的是 Phred33 的这个体系,而且33也恰好是ASCII的第一个可见字符, 由此可见Phred的值越大,表明碱基的质量越高。

2. FastQC 的质量控制

由于二代测序一边合成一边测序的技术,聚合酶会随着链的延长而活性降低, 链的后面碱基错误率会越来越高.

FastQC 可以用来检测整个fastq文件的所有reads的质量情况综合起来进行分析

参数选择:

-o  指定输出路径,必须先建立文件夹否则结果生成到输入文件的文件夹
-f  指定文件的输入格式,bam,sam,bam_mapped,sam_mapped and fastq 格式
-t  并行计算的最大任务数  

fastqc 结果的意义

  1. Basic statistics 基础的统计信息,GC含量,序列的长度等
  2. Per base sequence scores 红线表示中间值,低于25warning,低于20为failure,黄色表示25%-75%的区域低于10为不合格,低于5为失败,上下分割线代表10%-90%的区域,蓝色的线代表平均值
  3. Per sequence quality scores 统计序列平均质量的频数,频数最大的碱基质量低于27为warning,低于20为failure
  4. Per base sequence content 统计序列每个位点的碱基含量如果AT或GC的含量差异超过10%结果为warning,20%为failure
  5. Per sequence GC content 统计每个序列的GC含量的频数,如果蓝色线与红色线的偏差总值超过所有reads的15%,warning;30%,failure
  6. Per base N content 每个位点的N含量,如果>5%,warning;>20%,failure
  7. Sequence Length Distribution 如果序列长度不一样warning,有序列长度为failure.
  8. Sequence Length Distribution 统计重复序列的含量,x轴为reads重复的次数,y轴为重复次数对应的reads占 uniq reads的比例,如果>20%,warning;50%,failure
  9. Overrepresented sequences 统计过表达的序列。一条序列占总序列的0.1%,为过表达。大于1%,failure

    3. barcode 序列

illumina 平台为了更好的区分样品,就给不同的样本加上barcode (index),本质上有两种加barcode的策略:

  • inline barcode: 出现在一条read的碱基序列中
  • index barcode: 出现在一条read的ID部分

图A表示数据只在一条lane,不需要区分数据

图B中的Barcode就是inline code,它在接头的5’端即测序引物那部分上,和DNA片段邻近,在测序的时候,加入引物,然后一边合成一边测序,于是在最后的序列中就会引入barcode。

图C的Index是index barcode,在接头的3’端,测序的时候也是先加第一个引物(SP1),然后一边合成一边测序,等读完之后,再加入index引物(IP)去测index的部分,对样本进行区分,因此不会占用读长。

下面的图表示illumina测序的引物,接头,与barcode(index)的位置,barcode在反向接头中

序列的顺序:

正向接头(包含正向引物序列)+插入片段+反向接头(包含反向引物序列+index/barcodes)

4. Trimmomatic 进行reads的修剪与过滤

它的过滤数据的步骤与命令行中过滤参数的顺序有关,因此第一步就去接头

java -jar trimmomatic-0.36.jar PE -phred33 -threads 4 reads1.fastq reads2.fastq reads1.clean.fastq reads1.unpaired.fastq reads2.clean.fastq reads2.unpaired.fastq  
ILLUMINACLIP:TruSeq3-PE.fa:2:30:10  
LEADING:3 TRAILING:3 SLIDINGWINDOW:4:15 MINLEN:36 TOPHRED33   
参数设定: 
PE/SE   单端测序与双端测序的设定  
-phred33 | -phred64 默认是phred64  
ILLUMINACLIP:1.fa:2:30:10  
切掉adapter序列,参数后面为adapter文件:允许最大的mismatch数:palindrome模式下匹配碱基数阈值  
:simple模式下的匹配碱基数阈值.TruSeq3文件对应着Illumina Hiseq和MiSeq测序的adapter序列;  
TruSeq3文件对应着特定的illumina仪器的接头序列 
LEADING:3   切除首端碱基质量小于3的碱基  
TRAILING:3  切除尾端碱基质量小于3的碱基  
SLIDINGWINDOW:4:15  5`端开始滑动当滑动位点的序列(window)的平均碱基低于阈值  
从该处进行切除,windows的size是4个碱基,平均碱基质量小于15,则切除  
MINLEN:50   保留最小的reads长度  
CROP:<length>   截断尾部序列,保留reads到指定长度  
HEADCROP:<length>   在reads的首端切除指定的长度  
TOPHRED33   将碱基的质量转换为pred33格式  
TOPHRED64   将碱基的质量转换为pred64格式

PE模式下,有两个输入文件,过滤之后有四个文件,过滤之后两端都保留的是paired,其中一端过滤后被丢弃,另一端序列保留下来了就是unpaired.