GATK是Genome Analysis Toolkit的缩写,是用来处理高通量测序数据的一套软件。最初,GATK被设计用来分析人类基因组和外显子,主要用来寻找SNP和indel。后开,GATK的功能越来越丰富,增加了short variant calling、计算copy number(CNV)和结构变异(SV)等新功能。同时,GATK也越来越广泛地应用于其他物种的数据分析中。现在,GATK已经成为了基因组和RNA-seq分析过程中,寻找变异的行业标准。
数据类型:Illumina数据
软件版本:Gatk 4.1.8.1、fastp 0.20.0、bwa 0.7.17、samtools 1.9
测试数据:
GATK的使用流程:
Gatk的使用流程共3个步骤:原始数据的处理,变异检测,过滤质控
第一部份:原始数据的处理
1. 对原始数据进行质控,去除掉质量较低的reads
2. 建立ref的dict索引,便于对ref文件的查询
后续比对,建立panel normal,bed文件处理等
文件格式:软件的版本,染色体号,染色体长度,MD5,来源
3. 创建参考基因组的索引,用于bwa的比对
建立完成后文件夹下有 hg19.fa.amb、hg19.fa.ann、hg19.fa.bwt 、hg19.fa.pac、hg19.fa.sa,5个文件
4. 将质控后的文件与数据库文件做比对
@RG:reads group,ID:reads的id号, PL:下机数据的平台,例如:Illumina,SM:样本名 这个步骤直接将比对后的sam文件转化为了bam
5. 比对后bam文件排序,统计比对情况
将比对后的文件进行排序
建立索引便于查询和搜索
统计比对后的信息,查看比对情况
6. 标记重复序列
将pcr过程中的多拷贝或高密度的flowcell使得测序的通量显著提升产生的重复,进行标记
7. 将bed文件转化为GATK的所需的格式,同时进行窗口划分
–bin-length:为你创建的窗口的大小,interval-merging-rule :OVERLAPPING_onLY 有重叠区域时合并窗口
第二部分:变异检测
1. somatic call SNP 和INDEL的流程图
call somatic 变异的流程图 对于成对样本的somatic变异检测,将normal的样本创建为panel of normal ,通过GATK的Mutect2的算法进行tumor样本的变异进行筛选
mutect2 的算法基本原理,根据Normal panel,划分活跃区域,对区域内的序列重新组装,建立相似性矩阵,确定基因型,从而获得变异信息
构建normal panel
对normal样本进行call变异处理
本次未引入其他数据库,如有需要自行下载
获取tumor样本中的原始变异信息
获取原始变异时,按照变异的频率进行筛选,过滤掉低频率的变异信息
成对样本tumor and normal的变异检测
将假阳性的结果进行标记
tumor-only 的变异检测
somatic变异检测中对于panel of normal 的构建会帮你去除掉许多的变异,变异结果更为的准确
2. Germline SNP和INDEL的变异检测
对于Germline的变异检测
3. 拷贝数变异检测
统计每个窗口中ref的GC含量百分比
contig所在的位置,起止位置,GC复制比率
获取样本的read counts
统计bam文件在每个窗口的reads数,成对样本请处理normal 和tumor
创建正常样本的CNV
降噪DenoiseReadCounts
进行标准化和降噪处理,去除掉创建normal时引入的噪音
计算单倍体的拷贝数,用于下面的拷贝数变异统计
ModelSegments
将结果信息存放在file文件夹下,文件的名字以name为字段的一部分
获取拷贝数变异结果
结果中的name.igv.seg文件可以使用igv进行查看 【1】contig所在的染色体 【2】【3】【4】【5】平均拷贝的比率,大于 0.14 就是扩增,小于 -0.15 就是缺失,其他的为正常【6】检测结果,+、-、0,分别代表这增加,减少,正常
第三部分:过滤质控
1. 硬过滤标准
对文件进行过滤分析,按照深度对vcf进行过滤,剔除低深度的变异
低于该深度的会在info中进行相应的展示 过滤掉低深度的变异信息
按照变异类型将文件中的SNP、INDEL进行筛选 ,将文件拆分为两种类型的变异,拆分过程可能会丢失数据,请在原数据中进行查找
不同的变异检测hard filter标准不同
过滤后的vcf文件重新整理为新的vcf
2. 软过滤标准
该过滤过程是对结果文件通过机器学习的方式,需多种变异数据库的变异检测结果
构建重新校准模型,为筛选目的对变体质量进行评分
训练集名字,这个名字是可以随便改动的 known:该数据是否作为已知变异数据集,用于对变异数据的标注; training:该数据是否作为模型训练的数据集,用于训练VQSR模型; truth:该数据是否作为验证模型训练的真集数据,这个数据同时还是VQSR训练bad model时自动进行参数选择的重要数据; prior:该数据集在VQSR模型训练中的权重,或者叫Prior likelihood(这里转化为Phred-scale,比如20代表的是0.99)
附录
由下机数据的fastq格式文件到比对后的sam,转换格式之后的bam文件,call变异之后的VCF文件,各种格式文件的内容及所便是的含义如下
fastq文件的格式
第一行:必须以“@”开头,后面跟着唯一的序列ID标识符,然后跟着可选的序列描述内容,标识符与描述内容用空格分开。 第二行:序列字符。 第三行:必须以“+”开头,后面跟着可选的ID标识符和可选的描述内容,如果“+”后面有内容,该内容必须与第一行“@”后的内容相同。 第四行:碱基质量字符,每个字符对应第二行相应位置碱基或氨基酸的质量,该字符可以按一定规则转换为碱基质量得分,碱基质量得分可以反映该碱基的错误率。这行的字符数与第二行中的字符数必须相同。
sam文件的格式
bam文件的格式
共计11个字符段 【1】reads的ID标识符 【2】标记数字 【3】比对到的染色体 【4】 比对到的染色体的位置 【5】比对的质量值 【6】比对结果的CIGAR字符串 M:匹配,I:插入,D:删除 【7】 "="表示正确匹配到序列上、"X"表示错误匹配到序列上 【8】mate在序列上的名称【9】mate在序列上的位置 【10】reads的序列 11.reads序列的碱基质量 【11】AS:i 匹配的得分、XS:i 第二好的匹配的得分、S:i mate 序列匹配的得分、XN:i 在参考序列上模糊碱基的个数、XM:i 错配的个数、XO:i gap open的个数、XG:i gap 延伸的个数、NM:i 经过编辑的序列、YF:i 说明为什么这个序列被过滤的字符串、YT:Z、MD:Z? 代表序列和参考序列错配的字符串