标签归档:Filter

突变注释后的过滤-variant filter

一个全基因组或者全外显子组会产生几万、几十万乃至百万数量的突变。而目标突变往往只有几个或者几十个。我们需要大海捞针似得把我们想要分析的突变找到。突变过滤就是尽可能的将无关突变过滤掉,尽可能的保留目标突变,找出最可能致病的突变。关联性分析则不需要,因为关联性分析根据的是突变在对照和研究人群中的分布。

突变的过滤需要根据分析需要,比如需要寻找一个完全没有研究过的突变,则需要根据dbSNP来过滤等。如果需要寻找新生突变,要同时用到父母双方的突变数据。

常用的过滤条件可以分为一下几类:
1)根据突变频率进行过滤:每个位点的基因型在人群中频率是不一样的,一般来说,在人群中频率高的基因型往往没有致病性,而是背景突变,只是人群中的多态性。通常用到的频率数据库有gnomAD,ESP,ExAC,1000 Genome等,这些项目检测或搜集了从上千到成万的样本数据,并把数据开放给学术界和产业界。一般过滤的阈值有0.05,0.01,0.001等。
2)根据突变位置进行过滤:不同的分析目的,关注的突变并不一样。有人关于调控区域的突变,有人关注编码区的突变,有人关注剪切位点突变等。根据分析目的不同,需要将非关注的区域内的突变过滤掉。如果关注编码区突变,则需要将基因间、内含子、非编码区的突变过滤掉。
3)根据突变类型进行过滤:编码区的突变,有同义突变、错义突变、终止密码子突变等。同义突变虽然可能会导致疾病的发生,导致调控紊乱,但一般分析会将同意突变过滤掉(和分析目的有关,如果想要研究同义突变,则不能过滤)。往往移码突变和终止密码子突变是需要关注的。
4)根据突变危害预测进行过滤:现在有很多算法在预测位点导致的氨基酸变化的危害性,通常这些算法会分析致病的突变所处的区域、氨基酸变化类型等特征,比如PolyPhen、SIFT等,进而预测出检测出的突变危害性。有些算法会分析序列的保守型,预测突变所处区域是否保守,比如PhastCon,保守区域的突变较非保守区域的突变危害性大。此外,还可以根据氨基酸类型的带电性变化进行过滤,或者根据BLOSUM等打分矩阵分值进行过滤。不同的算法预测的危害性不一定一致。一般统计多个算法预测中,预测危害性较大的比例。
5)根据先验知识库进行过滤:注释软件可以注释关联性分析的信息,也可以注释Clinvar相关数据,这些信息在后续的突变位点解读和分析中有很重要的作用。这些信息可以告诉分析人员位点和哪些疾病有关,或者在Clinvar中的致病性评级。可以根据显著性、是否为良性突变、疾病信息等内容对突变 进行过滤。
6)根据数据库标识进行过滤:注释软件会注释突变在dbSNP、COSMIC等数据库中的编号。如果研究的疾病非常非常罕见,以往没有研究过,可以尝试寻找非dbSNP数据库中的突变。如果研究和癌症相关的突变,可以寻找COSMIC数据库中出现的突变。
7)根据遗传方式进行过滤:如果疾病呈现家族性分布,可以根据系谱图推断出的遗传类型进行过滤。比如如果是隐形突变,则只考虑病人中的纯合突变。如果有线索指示突变为新生突变,则需要根据父母双方的突变数据,将后代中同样位点的突变过滤掉。
8)根据其他条件进行过滤:突变过滤还可以有其他的方式,最终还是要根据分析目的进行选择。比如有四个散发样本的突变数据,同样的表型,往往寻找四个样本在相同基因内是否都发生突变,或者是否有相同的高危害突变(比如移码突变)。

#####################################################################
#版权所有 转载请告知 版权归作者所有 如有侵权 一经发现 必将追究其法律责任
#Author: Jason
#####################################################################

VCF文件中的原始突变过滤–filter raw variants in vcf

Hard filter突变的传统过滤方式

此时VCF文件中的突变,与刚开始下机得到的FASTQ文件类似,称为raw data。此时的突变集合中,有很多假阳性突变,这些突变需要在突变分析之前过滤掉。
传统的过滤方式,直接根据每个突变的注释信息,进行过滤。最直接和最常见的是根据DP标签过滤,即根据该突变位点的测序深度进行过滤。通常,深度越低,支持该突变的reads数目越少,该突变越不可信。还可以根据前面提到的QUAL质量分值进行过滤,分值越低越不可信。Forward reads和Reverse reads的比例。通过,设定一定的阈值,看这些注释信息是高于还是低于该阈值。

这种直接根据突变信息进行过滤的方式,GATK成为hard filter。GATK常用的hard filter参数还有DP < 10,QD < 2.0,FS > 60.0,MQ < 10.0,MQRankSum < -12.5,ReadPosRankSum < -8.0等方式。这些阈值通过GATK的VariantFiltration工具进行过滤,突变满足其中一条,就会被过滤。 这种过滤方式直接根据特定阈值就将突变过滤掉,考虑的维度较少,真实突变可能因为某一注释没有到达阈值而被错误的过滤掉。如果为了保留这些真实的突变,而放松阈值,又可能同样将假阳性突变保留。 Hard filter常用于panel测序,panel测序得到的突变位点较少,不足以通过机器学习的方式进行过滤。

VQSR突变质量分值再校准

虽然这步叫做Varaint Quality Score Recalibrate,但该步并没有再校准突变质量分值,而是重新生成了一个叫做VQSLOD (for variant quality score log-odds)的分值,且认为该分值是被充分校准的。

VQSR不同于传统的hard filter。VQSR整合突变的多种维度的信息,如下图,通过机器学习的方式,得到好的突变good variant和坏的突变bad variant的特征范式,对突变进行过滤,从而挑选出聚簇在一起的好的突变。需要注意的是,VQSR只利用INFO的注释信息,而没有利用样本特异性的SAMPLE信息。

通常用于训练的数据集,是通过分析得到的raw variant data数据集与hapmap、omni、1000Genome等(hapma和omni中的突变通常被认为是高质量的、验证过的,1000 Genome中的突变可信度次之)进行比较,得到raw variant data数据集中高可信的突变集合,集合中的突变注释信息将被用于机器学习训练模型。同理,低质量假阳性突变的数据也同样。通过机器学习,会对训练数据集高可信的突变的分布进行建模和聚类。同时,也对所有突变进行建模,计算VQSLOD值。通常离聚类形成的簇核心近的突变,VQSLOD值越高,越可信。

在最终过滤突变的时候,GATK VQSR并没有一个直接的阈值进行过滤,而是通过引入sensitivity灵敏度的概念。比如过滤的阈值是99%,则意味着训练数据集中有99%的突变也位于hapmap中,此时的VQSLOD值就是用于突变过滤的阈值。VQSLOD值高于该阈值的突变会被标为PASS,低于的则被过滤,并在FILTER列标记。
因为SNP和INDEL的特征不同,VQSR通常将SNP和INDEL分开进行过滤。

#####################################################################
#版权所有 转载请告知 版权归作者所有 如有侵权 一经发现 必将追究其法律责任
#Author: Jason
#####################################################################