作用
质量分析
下载安装
官网:http://www.bioinformatics.babraham.ac.uk/projects/fastqc
unzip fastqc_v0.11.8.zip
cd FastQC
chmod 755 fastqc
echo 'export PATH=/home/li.han/Softwares/FastQC:$PATH' >> ~/.bashrc
参数
-h --help Print this help file and exit
-v --version Print the version of the program and exit
-o --outdir 生成报告文件的储存路径
--extract 使用这个参数是让程序不打包(默认会打包成一个压缩文件)
--noextract 结果文件压缩
-t --threads 选择程序运行的线程数,每个线程会占用250MB内存(一般与文件数量一致就好)
-q --quiet 安静运行模式(不选这个选项,程序会实时报告运行的状况)
-f --format 输入文件格式.支持bam,sam,fastq文件格式
-c --contaminants 制定污染序列。文件格式 name[tab]sequence
-a --adapters 指定接头序列。文件格式 name[tab]sequence
-k --kmers 指定kmers长度(2-10bp,默认7bp)
运行
fastqc -t <n> *.gz
结果解读
1. Basic Statistics
%GC: GC含量,可以帮助区别物种,人类细胞42%左右
2. Per base sequence quality
reads上每个碱基的质量
- 横轴:测序序列的每个碱基
- 纵轴:质量得分,使用Fred quality,Q=-10*lg(p),p为碱基测序错误概率。
红色表示中位数,蓝线是平均数,黄色是25%-75%区间,触须是10%-90%区间。
一般能用的数据都要求至少Q20,若每个碱基的下四分位线在30分以上,则认为测序质量非常好。二代测序,最好是达到Q20的碱基要占95%以上(最差不低于90%),Q30要求大于85%(最差也不要低于80%)
一般情况下,reads首尾质量较差,刚开始测序,合成反应还不是很稳定,但是酶的质量还很好,所以会在高质量区域内有一定的波动(这里的1-30bp),后来稳定了,但是随着时间的推移,酶的活力逐渐下降,特异性也变差,所以越往后出错几率越大。
若任一位置的下四分位数低于10或中位数低于25,报"WARN";
若任一位置的下四分位数低于5或中位数低于20,报"FAIL"。
3. Per tile sequence quality
显示各个tile的序列质量情况,检查reads中每一个碱基位置在不同的测序小孔之间的偏离度,蓝色表示低于平均偏离度,偏离度小,质量好;越红表示偏离平均质量越多,质量也越差。如果出现质量问题可能是短暂的,如有气泡产生,也可能是长期的,如在某一小孔中存在残骸,问题不大。
4. Per sequence quality scores
每条序列的测序质量分布
- 横轴:序序质量Q值
- 纵轴:每个质量值对应的reads数目
一般认为90%的reads测序质量在35分以上,则认为该测序质量非常好,只要大部分都高于20就说明比较正常
当测序质量峰值小于27(错误率0.2%)时报"WARN";
当峰值小于20(错误率1%)时报"FAIL"。
5. Per base sequence content
统计reads每个位置ATCG四种碱基的分布:
- 横轴:碱基位置
- 纵轴:百分比
因为随机的文库中,正常情况下所有位置出现某种碱基的概率是相近的,因此好的测序结果中四条线应该平行且接近。
当部分位置碱基的比例出现bias时,即四条线在某些位置纷乱交织,往往提示我们有overrepresented sequence的污染。
当所有位置的碱基比例一致表现出bias时,即四条线平行但分开,往往代表文库有bias (建库过程或本身特点),或者是测序中的系统误差。
当任一位置的A/T比例与G/C比例相差超过10%,报"WARN";
当任一位置的A/T比例与G/C比例相差超过20%,报"FAIL"。
6. Per sequence GC content
统计reads的平均GC含量分布
- 横轴:平均GC含量
- 纵轴:每个GC含量对应的序列数量
红线是实际情况,蓝线是理论分布(正态分布,均值不一定在50%,而是由平均GC含量推断的)。
曲线形状偏差的原因:
- 文库的污染,GC可以作为物种特异性根据,这里出现了其他的峰有可能混入了其他物种的DNA
- 目前二代测序基本都会有序列偏向性(所说的 bias),也就是某些特定区域会被反复测序,以至于高于正常水平,变相说明测序过程不够随机。这种现象会对以后的变异检测以及CNV分析造成影响
形状接近正态但偏离理论分布的情况提示我们可能有系统偏差。
偏离理论分布的reads超过15%时,报"WARN"
偏离理论分布的reads超过30%时,报"FAIL"。
7. Per base N content
统计reads每个位置N的比率
reads某个位置无法确定是何种碱基时,使用N代替;
正常情况下,N的比例是很小的,所以图上常常看到一条直线,但放大Y轴之后会发现还是有N的存在,这不算问题。当Y轴在0%-100%的范围内也能看到“鼓包”时,说明测序系统出了问题。
当任意位置的N的比例超过5%,报"WARN";
当任意位置的N的比例超过20%,报"FAIL"。
8. Sequence Length Distribution
reads长度分布
为了防止建库或者测序时有一些不规则长度的序列也被进行测序而进行的一个对长度的统计,当所有序列的长度不一样,fastqc就会警告。
当reads长度不一致时报"WARN";
当有长度为0的read时报“FAIL”。
9. Sequence Duplication Levels
序列完全一样的reads的频率
- 横坐标:重复的次数
- 纵坐标:duplicated reads占unique reads种数百分比
fastqc抽取reads文件前100,000条reads统计其重复情况。重复数目大于等于10的reads被合并统计,这也是为什么我们看到上图的最右侧略有上扬。大于75bp的reads只取50bp进行比较。由于reads越长错误率越高,所以其重复程度仍有可能被低估。
产生duplication的原因:
- 测序本身就会产生重复reads,测序深度越高,reads重复数越大
- 如果重复出现峰值,就提示可能存在偏差(如建库过程中的PCR duplication)
- 一般转录组测序的结果中duplication level都比较高,外显子组测序中duplication level比较低
当非unique的reads占总数的比例大于20%时,报"WARN";
当非unique的reads占总数的比例大于50%时,报"FAIL“。
10. Overrepresented sequences
过度重复出现的序列的统计信息
取前200,000进行统计,大于75bp只取50bp
发现超过总reads数0.1%的reads时报”WARN“
发现超过总reads数1%的reads时报”FAIL“
11. Adapter Content
Adapter序列在reads中出现概率
软件内置了四种常用的测序接头序列, fastqc 有一个参数-a可以自定义接头序列
接头序列统计,>5%时是Warning,>10%时是Failure。
12. Kmer content
重复短序列
出现的原因:
- 没有去除软件内置的adapter或者没有使用-a参数自定义adapter
- 序列本身重复度较高,例如在建库PCR过程出现序列偏向性bias,这在转录组测序中确实存在