基因流分析——D统计

基本概念

基因渗入(introgression): 是在遗传学中,指两个基因库间的基因流动,通常是经过种间杂交产生。基因渗入是一个长期的过程,它可能需要许多代杂交才能产生回交。

ABBA BABA test(也称为D统计):为偏离严格的分叉进化历史提供了简单而有力的统计测试。因此,它们经常使用它研究SNP基因组层面的基因渗入。

不完全谱系分选:基因树与物种谱系树或种群树不一致的现象。

基因流?

在群体遗传学上,基因流(也称基因迁移)是指从一个物种的一个种群向另一个种群引入新的遗传物质,从而改变群体“基因库”的组成。通过基因交流向群体中引入新的等位基因,是遗传变异一个非常重要的来源,影响群体遗传多样性,产生新的性状组合。

举个例子:

假设在一个鸟类群体中,某个时期在该地理位置发生地壳运动,形成一座山脉(地质事件)将群体分割开来。一段时间后鸟类为了适应其所处的地理环境,被山脉分割的两个群体羽毛颜色发生改变(一个群体是阴性红色hh,一个群体是显性蓝色HH),其它羽毛颜色的鸟类不适应环境逐渐灭绝。如果两个群体还没有产生生殖隔离,在某段时间鸟类迁徙、人类活动等事件影响,两个群体都由外来个体引入,即每个亚群都由新的等位基因引入,那么群体的基因频率和基因型频率都会发生改变,结果就是原来蓝色鸟类群体会有红色羽毛鸟类,同样红色羽毛群体中也会存在蓝色羽毛鸟类。

基因流例子

基因流可以塑造、改变生态系统和物种多样性,这对自然和科学研究感兴趣的人来说非常重要。
使用D统计量来测量基因的渗入

群体遗传结构和基因流关系

物种很少会形成单一的大群体,通常以某种方式细分为多个子群体(亚群)。实际上,子群体不可能是一些明显的单一的群体或亚结构,应该是连续的。然而,即使在有效的连续群体中,不同地理分布的亚群也有不同的基因频率(不同亚群的部分个体因某种形式的隔离不能随机交配)。

一些个体从一个群体迁移到另一个群体就会把基因带到新的群体,从而产生基因流动。基因流越大,群体间的相似性越大,会导致群体间基因频率和基因型频率呈现哈迪-温伯格平衡(在一个随机交配的大群体中,没有突变、选择等外界环境因素的影响,基因频率和基因型频率世代恒定)。自然选择和遗传漂变会使群体之间的差异增加,而基因流的作用是“弱化”群体间的遗传差异,群体之间趋于一致。

人类GWAS研究中,常把哈迪-温伯格平衡作为标记过滤的重要参数。

近年来,研究者通过基因流,对群体之间的关系进行研究。可以说,基因流是影响群体进化的一个重要因素。目前,基因流研究的几种模式包括:陆岛模式、海岛模式、阶石模式、距离隔离模式、层次模式等。

陆岛模式(Continent-Island Model),在陆地和岛屿之间一些种群发生基因交流。由于陆地上种群足够大,岛屿比较小,基因流向应该是从陆地到岛屿,即使存在部分个体由岛屿到陆地,这种微弱的基因流并不能改变陆地上群体的基因型频率,可以忽略。岛屿上基因频率的改变主要由岛屿和陆地之间基因频率差异的大小以及迁移个体的数量决定。

海岛模式(Island Model),前面说过,亚群之间在空间上应该是连续的,但不排除群体结构的极端类型—不连续,我们将彻底的不连续的亚群分布称作海岛模式。基因流可发生在不同亚群之间,各个亚群基因频率变化呈现跳跃式而不具有连续性。海岛模式适合于对一个物种有利的生境区域及其类似区域被不利生境分隔开来的情况。

阶石模式(Stepping-Stone Model),它是一维的海岛模式,基因交流多发生在邻近亚群之间,导致相邻亚群具有更大的遗传相似性。

距离隔离模式(Isolation-By-Distance Model),一般针对活动范围有限,出生到死亡基本没有较大范围移动过的物种。各个亚群在空间上连续分布,根据个体间能够随机交配范围的限制,将群体划分为许多邻里,每个邻里就是不同亚群间个体能够随机交配的区域,基因频率在邻里间差异小,不同亚群在地理位置和遗传距离之间存在关系。

基因流研究方法

目前针对基因流的研究,主要基于上述群体结构模式,检验亚群间存在基因流的指标有基因频率、基因型频率、Fst、Nm等。如果研究者不了解群体结构,一般都会选择“海岛模式”,基因流在群体间是随机的、均一的而且群体也要达到漂变-迁移平衡,迁移个体来自所有其他群体中随机的一个遗传变异群体。

ABBA-BABA(D统计)

如下图,H1和H2为姊妹群体,H3为基因交流可能来源的群体,H4为外群,假设一个祖先位点基因型为A,进化过程中产生突变基因型B,则H1群体和H2群体得到基因型A或基因型B的概率均为50%。

在实际项目分析中,一般研究四群体之间的基因渗入(introgression)事件,检测其是否符合ABBA还是BABA模式。

ABBA-BABA原理图1

根据D-统计的原理,我们可以通过计数ABBA、BABA、BBAA的模式数目进行基因流的判断(如下图),由于P1和P2是姊妹群,它们之间共有的等位基因数实际上是最多的,只需要判断ABBA和BABA的模式数目,可以大致判断基因流。

ABBA-BABA原理图2

D-统计原理

在不完全谱系分选的情况下,两种姐妹物种与第三种密切相关的物种共享大约相同比例的衍生等位基因。也就是说:如果物种“H1”和“H2”是姐妹而“H3”是密切相关的物种,那么由“H1”和“H3”共享但不和“H2”共享的衍生的等位基因的数量,应该和由“H2”和“H3”共享但不和“H1”共享的衍生的等位基因的数量应该大致相似。如果杂交导致物种“H3”与两个物种“H1”和“H2”中的一个之间的发生基因渗入,则“H3”应该与该物种共享更多的衍生等位基因,导致"H1"和"H2"的衍生等位基因中产生不对称共享。

上述,即所谓的“ABBA-BABA test”的基础,其量化的D统计量可以用来测量基因渗入的程度。除了三种“H1”,“H2”和“H3”之外,ABBA-BABA test还需要第四种“H4”,它应该是“H1”,“H2”和“H3”的共同外群。仅用于确定哪个等位基因是祖先等位基因,然后将祖先等位基因标记为“A”,将衍生等位基因标记为“B”。在最简单的情况下,其中仅从四个物种中的每一个中采样单个单倍体序列,“ABBA位点”是物种“H2”和“H3”共享衍生的等位基因“B”而“H1”保留祖先等位基因,“BABA位点”是“H1”和“H3”共享衍生的等位基因“B”而“H2”保留祖先等位基因“A”。D统计量定义为ABBA位点和BABA位点的数量差与两种类型位点的总和的比值。

D = [sum(ABBA) – sum(BABA)] / [sum(ABBA) + sum(BABA)]

如果没有基因渗入,这个D统计量预计为0;在没有不完整谱系排序并在“H2”和“H3”之间进行基因交流的极端情况下为1,在“H1”和"H3"之间发生基因交流的极端情况下为-1 ;但按惯例,如果“H1”变得更接近“H3”,则交换“H1”和“H2”,这样D统计量保持在区间[0, 1]间。


D-统计实操(SNP data)

上面的基本概念还是要了解清楚才能往下分析,不然结果就是,和我之前一样一脸懵逼照着别人的步骤走,啥都不知道。。。。

我的数据是前期call好的SNP,对于SNP的获得之后有时间我再分享一下,坑也是大大的大。

VCF文件处理

给VCF文件添加ID

SNP data通常都是以VCF格式文件呈现,拿到VCF文件的第一件事情就是添加各个SNP位点的ID。

先看一下最开始生成的VCF文件:

原始VCF文件

可以看到,ID列都是".",需要我们自己加上去。我用的是某不知名大神写好的perl脚本,可以去我的github上下载(https://github.com/Wanyi-Huang/VCF_add_id),用法:

`perl path2file/VCF_add_id.pl YourDataName.vcf YourDataName-id.vcf`

当然也可以用excel手工添加。添加后的文件如下图所示(格式:CHROMID__POS):


添加ID后的VCF文件

SNP位点过滤

原始Call出来的SNP实在是太多了,而且有一些低频位点会影响后续的分析,不仅仅会影响速度,也会影响最后结果的准确性,因此我们去掉他们。此处用到强大的plink软件,用法:

`plink --vcf YourDataName-id.vcf --maf 0.05 --geno 0.2 --recode vcf-iid -out YourDataName-id-maf0.05 --allow-extra-chr`

参数解释:--maf 0.05:过滤掉次等位基因频率低于0.05的位点;--geno 0.2:过滤掉有20%的样品缺失的SNP位点;--allow-extra-chr:我的参考数据是Contig级别的,个数比常见分析所用的染色体多太多,所以需要加上此参数。

查看软件使用方法

推荐使用Dsuite,很方便快捷。自行查看和下载软件:Dsuite (https://github.com/millanek/Dsuite.git)

调用Dsuite会看到如下图所示几个模块,计算D-统计用Dtrios即可:

Dsuite脚本空运行结果

运行Dtrios模块可以看到如下帮助信息:

Dsuite脚本Dtrios模块空运行结果  

准备样品分组信息表

对于软件运行后看到的帮助信息,我们得知对于D-统计,最重要的一部分就是要告诉软件,你的H1、H2姊妹群体,H3基因交流来源群体和H4外群是什么?因此,准备如下的样品信息表(H1, H2, H3用群名命名就行,H4要标注为Outgroup):

样品信息表

运行软件计算D值

一切准备就绪,运行以下这条命令,即可获得结果。

`Dsuite Dtrios YourDataName-id-maf0.05.vcf sample-group.txt`

结果文件共有4个:

Dsuite Dtrios脚本运行结果

大家自行查看combine.txt、BBAA.txt、Dmin.txt三个文件,其中记录的信息差不多。Dmin.txt文件,报告了对于给定三物种统计后可能的最低D值,即在该文件中报告的是D -statistic的保守估计值;BBAA.txt文件中报告的值基于确保C-BBAA > C-ABBA > C-BABA的重新排列,通常可以更好地反应了D -statistic的真实情况,因此我们后续分析作图用BBAA.txt文件中的结果,我的结果如下:

BBAA.txt中的信息(前三列为样品信息表中给定的组名,这里我做了简单化处理)

第四列是每组给定三个物种的的D-统计量,第五列是基于对D = 0 的零假设(H0)归一化的p值


参考:

1:https://www.sohu.com/a/208281339_761120

2:https://www.jianshu.com/p/e97eb7b4b2ca

你可能感兴趣的:(基因流分析——D统计)