【最近拿到了近1TB的全基因组测试数据,在数据分析以前,有必要对数据质量进行评价】html
在二代测序过程当中,测序仪经过荧光成像读出每个DNA或者RNA序列的碱基类型。在大量的阅读识别碱基过程当中,不免会有各类各样的错误。因此,当咱们拿到测序数据以后,不是急急忙忙地进行数据分析,而是首先应该对测序数据的质量进行评估,识别出可能存在的错误、错误的类型和对后续数据分析的潜在影响。git
一、文件完整性校验github
因为测序文件一般很大,在文件传输、存储过程当中,不免会形成文件不完整。为此,在得到测序数据的同时,测序公司还一般会提供一个MD5.txt的校验文件。若是测序文件不完整或者被修改(哪一个仅仅是多了一个空格),MD5校验码也会出现天壤之别。ide
上图是两个测序文件和一个MD5.txt校验文件(含有两个测序文件的校验码),在Linux下,经过md5sum命令来生成校验码,而后和MD5.txt中给出的校验码核对。
工具
二、FASTQ文件测试
FASTQ包含了每个读长最原始的信息,一般每4行来描述一个读长。编码
第一行:以@开头,而后是一串和测序过程相关的信息spa
第二行:具体的ACGT核酸序列3d
第三行:以+号开头,和第一行类似orm
第四行:一串字符组合,每个字符表明一个碱基的质量评分,因此该行的长度应该和第二行碱基的长度是一致的。
示例以下:
@SRR031716.1 HWI-EAS299_4_30M2BAAXX:3:1:944:1798 length=37
GTGGATATGGATATCCAAATTATATTTGCATAATTTG
+SRR031716.1 HWI-EAS299_4_30M2BAAXX:3:1:944:1798 length=37
IIIIIIIIIIIIIIIIIIIIIIIIIIIII8IIIIIII
表示该序列片断的名字为SRR031716.1,对应的DNA序列为GTGGATATGGATATCCAAATTATATTTGCATAATTTG,而后对应的每个碱基的质量评分为IIIIIIIIIIIIIIIIIIIIIIIIIIIII8IIIIIII。每个碱基的质量评分是用ASCII编码来表示的,也就是Phred quality score。分值越高,表示该碱基的准确性越好。
Phred Quality Score |
Probability of incorrect base call |
Base call accuracy |
10 |
1 in 10 |
90% |
20 |
1 in 100 |
99% |
30 |
1 in 1000 |
99.9% |
40 |
1 in 10,000 |
99.99% |
50 |
1 in 100,000 |
99.999% |
60 |
1 in 1,000,000 |
99.9999% |
三、读长质量评估
对测序数据质量的评估一般使用FastQC软件来完成,它是开源免费的工具,可以快速对测序数据进行检测,而且生成很详细的质量评估报告。
FastQC可以对整个测序文件中的读长数据进行质量评估,并完成以下汇总图:
其中X坐标轴表示每个读长中碱基的位置,y坐标轴表示质量评分。上图是一个150bp读长的测序,每个位置都表示出了该位置质量评分的分布状况。蓝线表示质量评分的平均值,背景颜色绿色表示高质量评分区间,黄色为可接受质量评分区间,红色为差质量评分区间。注意对于二代测序,在每个读长末端出现质量评分必定程度的下降是正常现象。
四、每一个序列质量评分
以每个读长序列为质量评价单位,检查是否存在一个读长序列的评分广泛偏低的状况。若是存在很大比例的读长序列评分偏低,多是因为该序列在测序过程当中没能被很好的显影(如在显影视界的边缘等)。
五、每一个测序方格(tile)的质量评分
描述每个测序方格的质量,冷色调表示该方格的碱基质量评分在平均水平(之上),暖色调表示在平均水平之下,一个理想的状况是整个图都是蓝色的冷色调。
六、每一个序列碱基含量(Per base sequence content)
该图表示在一个读长上每个位置的ACGT的比例。由一个随机测序文库产生的测序数据,ACGT四种碱基在一个读长的不一样位置的比例应该是一致的,即四条线应该平行。有些建库方法会形成读长开头和其余部分四种碱基分布不一致,这是一种建库形成的系统偏倚,它一般不会对下游数据分析形成影响,不过FastQC一般仍是会给出警告或错误提示。
七、每一个序列GC含量(per sequence GC content)
该图展现了一个读长序列中GC含量的分布,蓝线表示理论GC分布状况,红线表示实际GC分布。由一个随机测序文库产生的测序数据,其GC含量应该是蓝线的正态分布,峰值表示整个基因组GC含量的平均水平。若是红线不是正态分布类型,那么可能意味着测序文库污染,或其余偏倚的存在。
八、每一个碱基N含量(per base N content)
若是测序仪不能颇有把握的肯定一个碱基类型,那么一般会用N来代替这个位置可能的碱基。上图反应了每一个位置的N的比例。在测序中出现一些N是很正常的,尤为是在读长的末端。可是若是N的比例高达几个百分比,就须要引发咱们的注意。
九、序列重复水平(sequence duplication levels)
在一个理想的测序文库中,大多数的序列应该只出现一次。若是屡次重复出现,那么可能意味着存在必定程度的富集偏倚(如PCR过分扩增等)。FastQC软件可以计数每一种序列的重复出现次数。如上图,蓝线是表示测序文库中全部序列的重复次数分布状况,红线是去重以后的分布状况。正常状况下,蓝线和红线的峰值都应在在坐标轴作左端。而若是出现了过多的重复序列,那么峰值会变低,曲线变平。可能意味着存在测序文库的污染或者严重的技术偏倚致使过多的重复序列。
10、总结
二代测序的特色致使了其读长末端测序错误率增大,由于有必要对测序数据进行过滤和筛选,以提升数据质量,避免对下游数据分析产生影响。
应当剔除的读长序列:
· 平均质量评分太低
· 太短
· 含有过多不肯定碱基(N)
· GC含量偏倚严重
应当被屏蔽的序列区域:
· 质量评分较低的区域
· 序列的起始端和末端
· 测序配体(adaptor)
软件实现:
· FastQC:测序数据质量评价
· Cutadapt:对数据进行过滤删减,提高数据质量
===== THE END ====
参考资料:https://galaxyproject.github.io/training-material/topics/sequence-analysis/tutorials/quality-control/tutorial.html