缺失基因型填充

作者:陈美佳

一、问题描述

基因型数据的缺失分为遗传性缺失和检测性缺失:

1、遗传性缺失:个体遗传信息的变异(例如,这个位点DNA片段真实缺失)导致的基因型缺失。
2、检测性缺失:由于检测技术的局限、错误等导致的信息丢失。各类基因型检测技术都会产生检测性的基因型缺失。低深度全基因组重测序(一般平均深度低于10X),不可避免会产生大量随机缺失。

重测序概念:全基因组重测序指在已知某物种基因组序列的基础上, 对该物种不同个体的整个基因组序列进行测序, 差异性分析个体或群体,可以找到大量的变异位点。

二、为什么要进行基因型填充

1、有些软件分析过程中不允许有缺失值。
2、高密度基因分型(或测序)是昂贵的,填充基因型数据可以比基因分型便宜得多。增加标记密度,节省成本。

三、基因型填充的原理

基因型填充基于血统的同一性(IBD)。如果两个或两个以上子代的等位基因序列遗传同一祖先等位基因,并未发生重组,两个子代具有相同的等位基因序列,这就是血统同一性。因此具有已知亲缘关系的个体之间具有共享的单倍型,单倍型随祖先一起遗传,反映连锁不平衡。

连锁不平衡区块的存在就意味着我们可以通过构建相关的数学模型,来把这样的连锁关系求解出来。通过构建基于隐马尔可夫模型(HMM)等的Phasing算法就可以依据测序数据,反推出每个个体最有可能的单倍型。定相(Phasing)后形成的单倍型参考序列集(Reference panel)是基因型填充必须的数据材料。

参考群体完整的基因型信息可以提供单倍型信息,通过对比待填充样本和参考模板,找到两者之间共有的单倍型,然后就可以将匹配上的参考模板中的位点复制到待填充样本中。

相关概念:
1.连锁不平衡:两个等位基因如果恰好在同一条染色体上,那么它们在遗传给子代的时候就不是随机分配的了,基本上在一起传递,我们就称两个基因是存在连锁关系的,基因在遗传时出现连锁的现象就叫做连锁不平衡。
2.单倍型:单倍体基因型的简称,指同一染色体上若干个决定同一性状的紧密连锁的基因构成的基因型,单倍型可以指至少两个基因座或整个染色体。
3.定相:现在流行的NGS测序技术,都是把序列打乱混在一起测序的,测完之后,我们是无法直接区分这些序列中哪一个是父源,哪一个是母源的。我们通常都只是检测出基因组上有哪些变异,以及这些变异的碱基组成(纯合、杂合),也就是平时所说的基因型(Genotype)。只有经过定相,才能够实现这个区分。

四、基因型填充的步骤

1、从参考模板非缺失的位点中,总结这个区域的基因型规律,并分类。其实就是分析各个区域的单倍型组成;
2、根据某样本缺失位点的上下其他非缺失位点,判断这个区域属于哪种单倍型。然后根据所属单倍型的基因型补充该样本的缺失位点;
例如:根据缺失样本有限的基因型信息(仅有3个位点),就可以判断这个样本与参考单倍型集中的哪种单倍型最为相似。然后,将对应的最相似的单倍型赋予给该样本,从而让该样本获得完整的基因型。


五、两种基本的填充场景

1、从一个高密度的基因型参考面板到一个标记密度较低的实验群体的填充

这种方法依赖于这样一种假设,即参考群体准确地代表了要填充个体的单倍型群体频率,因此待填充个体应该从与参考基因型集相同的群体中取样。我们使用模拟数据对500个个体在两个常染色体上的SNPs进行研究。应该注意的是,在这个例子中,我们模拟了连锁不平衡相对较低的标记(标记间的平均r2=0.05)。这是有效种群规模较大的种群的典型情况。

r2表示连锁不平衡的程度,当r2=1,表示连锁完全不平衡,没有重组;当r2=0,表示连锁完全平衡,随机组合。

我们对数据进行分割,以创建两个个集合。
(1)第一个集合包含一个由100个个体组成的简化面板,我们对其进行填充。对于这些个体,每五个标记保留一个标记的信息,其余标记删除。
(2)剩下的400个个体被放在一个参考集中,在这个参考集中所有的标记都是基因分型的。

请注意,两个文件中的个体样本(列)不同。参考面板具有400个个体,目标样本有100个个体,两者个体名称不重叠。还要注意,参考面板的标记(行)比填充集多得多;文件之间红色的标记是相同的。参考数据集中有但在目标集中没有的标记将被填充并在输出文件中输出。

待填充的目标文件:


参考文件:

现在我们已经为Beagle创建了正确的输入文件,我们需要安装并运行该软件。

首先,用户应该安装beagle程序文件(带有.jar扩展名的)。来自这个网站:
https://faculty.washington.edu/browning/beagle/·beagle.html。

beagle程序文件使用java运行,要运行Beagle,请在命令提示符下输入以下命令:
其中[GB]是内存池的上限,单位为千兆字节(例如Xmx50g),[arguments]是参数。

.jar文件这是对程序本身的调用。两个主要参数:gt:待填充个体的低密度基因型文件和ref:用于指导填充的参考面板基因型文件。impute=TRUE,告诉Beagle执行填充,默认为TRUE。out参数:指定输出文件的前缀。


为了将实际基因型与填充的基因型进行比较,我们只需从填充的基因型中减去原始值,对于任何不同于0的值(如果填充值是正确的,则结果为0),我们将值指定为1。然后,我们获得错误率,即每行错误的平均比例。

在本例子中(100个个体、4000个位点被填充),我们获得了大约0.67的精确度。错误率包括正确但定相错误的杂合子 (例如,0|1而不是1|0)。忽略定相的准确性,在这种情况下,精度提高到约0.70。填充精度将取决于参考群体中的个体数量、要填充的标记数量、它们在基因组中的分布、它们的等位基因频率以及样本的整体LD结构。如前所述,在当前示例中,数据是用低LD生成的,因此填充精度相对较低。

2、仅使用实验群体本身来填充缺失的基因型

在一些物种中,没有高密度的参考基因型或序列可用于估计单倍型群体频率。或者,可用的高密度基因分型样本可能无法提供目标的特定育种群体中单倍型频率的合理估计。在这些情况下,可以使用仅来自目标群体中的样本的信息来进行填充。在某些情况下,基因型数据是从相对较低的覆盖范围测序中获得的,这是由于某些下一代测序平台的随机性质,丢失了许多个体的基因型。因此,研究人员可能会面临样本中许多缺失基因型的情况,但没有可靠的参考面板来填充。在这种情况下,缺失数据的结构与前面描述的高密度参考面板到低密度目标群体的情况不同。与低密度基因分型平台中缺失一组标记不同,缺失数据将更接近随机分布在SNPs和个体之间。在这种情况下,填充可以通过仅从当前可用数据中推断单倍型频率来进行。

这种方法的准确性很大程度上取决于样本中缺失数据的比例和连锁不平衡的程度,更广泛的连锁不平衡有助于填充的准确性。

它采用与前一节相同的初始数据,但不是将数据分成参考面板和密度较低的目标集,而是将500个个体的整个样本放在一个公共数据集内,并随机引入20%的缺失数据。

前两个标记的数据如下:

请注意,在第一个标记处丢失基因型的个体与在其他标记处丢失基因型的个体是不同的。每个SNP和每个个体都有一个独特的丢失数据的模式。

在本例中,Beagle仅使用‘ gt ’文件执行填充,而‘ ref ’填充文件选项未被使用。例如,执行imputation的参数为:

由于我们执行Beagle时没有填充参考面板,所以Beagle仅使用填充基因型文件中提供的数据来估计单倍型频率,我们填充的是相同的样本。

在这个例子中,准确率非常低,只有大约43%。由于缺失的数据量大,LD水平低,单倍型频率的估计非常困难。因此,为了提高填充的准确性,最好先质控掉缺失率高的snp,尝试只填充具有合理数据量的位点。

参考资料:
1.群体遗传学习笔记-基因型缺失数据的填充 https://www.jianshu.com/p/dafd1e6e4a98
2.GWAS的基因型填充是怎么回事 http://www.360doc.com/content/18/0112/03/50153987_721216942.shtml
3.人类基因组的Phasing原理是什么?https://www.jianshu.com/p/a30de54b83c3
4.《Genetic Data Analysis for Plant and Animal Breeding》Chapter 10:Imputing Missing Genotypes
作者:Fikret Isik • James Holland • Christian Maltecca
资料来源于网络,如有侵权,请联系,删

你可能感兴趣的:(缺失基因型填充)