1-群体遗传的基础介绍

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1-群体遗传的基础介绍相关的知识,希望对你有一定的参考价值。

参考技术A

群体遗传学狭义上是指分子群体遗传学,主要是研究基因组内突变在群体中频率的升高或降低。
研究内容有:群体结构,迁移史,群体有效群体大小。
通过一些模型对上述内容进行分析。

4条序列,每条15个核苷酸,并且都来自同一个位点:

在这个比对图中,我们能够看到某些位点是不同的,但我们主要关注的是双等位位点(因为它们是最常见的变异类型,尽管在一个位点上可能有 2 个以上的变异)。有许多的术语用于描述这种 DNA 序列上的差异。我们可以看到在我们的样品中有 6 个多态性,或者单核苷酸多态性(SNP)。
一个单一序列上所有等位基因的集合叫做单倍型(haplotype)
突变(mutations)可以用来表示 DNA 发生变化的过程或该过程中产生的新的等位基因。有时候突变是多态性的同义词;在更注重医学的人体群体遗传学中,仅仅是指稀有的多态性(发生的次数 <1-5%,或者仅仅是单一序列)。
替换(substitution)表示的那些在物种间观察到的 DNA 差异,以区别于物种内的变异。
通常, 我们认为indel(insertion/deletion)不是分离位点(虽然有时候插入 1bp 的碱基也算作分离位点)。这样的划分的原因是当两段序列有多个核苷酸插入时,很难区分真真正正的差异碱基数目。
这样的划分的原因是当两段序列有多个核苷酸插入时,很难区分真真正正的差异碱基数目。

遗传漂泊(genetic drift)能够改变等位基因的频率。其对等位基因频率的影响时随机的。

遗传漂变模型能够解释群体中的个体是如何一代代进行更替的。最常见的模型是Wright-Fisher 模型。
假设群体中的个体是二倍体,因此在该群体的每一代中就有 2N 条染色体(常染色体)。如果我们把性染色体加入到该模型中,那就有 1.5N 条 X 染色体或 Z 染色体,0.5N 条 Y 染色体或 W 染色体,以及 0.5N 条线粒体或叶绿体基因组(这些数量取决于我们研究的生物)。
为了形成下一代个体,我们假设个体间是随机结合的并统一对染色体进行采样并分配给下一代。没有个体存活到下一代,相反,整个群体都被新一代个体所取代。这个模型最适用于一年生植物和昆虫(只存活一年这一类)等没有世代重叠的群体(一年生脊椎动物很少但是确实是存在的)。
遗传漂变对Wright-Fisher模型中等位频率的影响。假设某个核苷酸位点上有两种等位基因:A 1 , 和A 2 。在第 t 代中,有 i 条染色体携带了A 1 ,则频率为:
P t = i / 2N
也就是说有2N-i条染色体携带了A 2 ,频率为: q t = 1 - p t
下一代染色体采用相当于从参数为2N和i/2N的二项分布进行抽样,因此,wright-Fisher模型中下一代的 p 的均值和方差为:

E(.)表示一个随机变量的期望(均值), Var(.)示的是方差。这些式子表示当只有遗传漂变在发挥作用时(没有突变没有选择),也就意味着随着时间的改变,等位基因的频率在期望上是不变的。因为我们的期望中,等位基因频率是不会改变的,所以我们并不能对任何一个等位基因进行预测。另外,在这个过程中,方差是和群体大小直接相关的。因此,在小群体中,等位基因频率会有更大的改变。更重要的是,即使我们预计不会发生重大的变化,以相同的等位基因频率开始的独立群体将不可避免地在平均等位基因频率上产生差异,这样一来就形成了 进化趋异。等位基因通常是朝着 0 或 1 进行漂变的。如果某个等位基因的在群体中的频率是 1, 我们就称其fixed。一旦发生‘固定’,那就不会有其他的变化发生,因为两个 alleles 中的其中一个已经从群体中消失了。

当遗传漂变是唯一的进化力量时,对一个群体来说,遗传变异的水平是会下降的。
杂合度(heterozygosity)义为随机选择的两个染色体具有不同等位基因的概率的话,那在一个随机交配的群体中一个双等位基因的杂合度就是 2pq .如果其中一个 allele 比另外一个更常见的话,杂合度就会降低。在Wright-Fisher 模型中,期望在每代中杂合度降低的速率为1/2N。 虽然杂合度下降并不能用于衡量等位基因频率的变化,但是上述的这些结果表明当遗传漂变是唯一的进化力量时,等位基因变化的速率是极低的。

其在某些方面比Wright-Fisher更接近真实情况,也更容易在数学上进行某些处理.
在Moran模型中,不同年龄的个体是可以共存的,也就不用像Wright-Fishe那样,新的一代完全取代上一代。
严格讲Moran模型只能用于单倍体群体,但是为了和Wright-Fisher比较,,我们假设一个固定大小的群体中有 2N 个单倍体个体。在一个给定的时间点,一个个体随机被选择然后进行繁衍,另外一个个体被随机选择后面对死亡。如果我们将这个过程重复 2N 遍,我们将得到和Wright-Fisher模型一样的大小的一代群体。可以理解为:平均来说,每个个体会被下一代取代;但是某些个体存活的时间少于 1 代,而有的个体存活的时间超过一代(编者注:就像有的人超过人类平均年龄后才去世,但是有的人在平均年龄之前就去世了)。
在这个模型中,当携带一个等位基因的个体进行繁殖而另外一个个体面临死亡时,等位基因的频率才会发生改变。当然,也可能是携带相同等位基因的两个个体都死亡了,那现在的情况是没有等位基因频率发生变化。在经过 2N 次的出生 - 死亡迭代后,我们能够知道下一代中等位基因频率的均值和方差。还是考虑一个和 Wright-Fisher模型相同的双等位基因位点。在Moran模型的下一代中,等位基因频率 p 的均值和方差分别是:

和 Wright-Fisher模型相同,平均等位基因频率的均值是不变的,但是此时的方差是Wright-Fisher模型的两倍,这是因为Moran模型中,每个个体后代的数量是Wright-Fisher模型的两倍。
这种差异的结果就是咋Moran模型中,遗传漂泊的次数是Wright-Fisher模型的两倍。
杂合度也就降低了一半:1/N。

此处的两种模型对大多数物种来说都是 “不真实的”。在某些应用场景下需要的是更接近真实情况的模型,Cannings模型就是其中之一。在这个模型中,子代数可以有任意的方差。这个模型属于 Wright-Fisher模型的推广模型。
但 Wright-Fisher模型不仅直观,还能从中推导出一些重要的进化结论。Wright-fisher模型还可以对其他模型的结果进行验证,相当于一个可以用于验证其他模型的模型。

有效群体大小(effective population size)是群体遗传学的核心概念之一,通常表示成N e (Wright 1931)。
有效群体大小是个抽象值,它可以将一个真实的群体模式化成具有等量遗传漂变的 Wright-Fisher 群体.
对一个自然群体来说,有许多因素会增大后代数量的方差(超过了 Wright-Fisher * 模型的方差),因此有效群体大小通常小于普查群体大小。
有效群体大小让我们能够在同一个参照系(Wright-Fisher 群体模型中预期的遗传漂变)对不同的群体或物种进行比较。基于此,我们就能利用一个单一的值去量化突变、选择、重组及迁徙对遗传漂变的适应性的影响。甚至我们可以对基因组的不同区域设置不同的有效群体大小,即每个种群的历史都与具有不同遗传漂变水平的 Wright-Fisher 种群的历史相同。这些差异可以表现为整个基因组在许多进化过程中的差异。
然而,有效群体大小在一定程度上也是个模糊且被广泛误解的概念。其中的一个问题是,至少有 4 种方法来表示漂变的影响,因此一个特定的种群可以通过 4 种不同的方式来等效于 Wright-Fisher 群体某些方面的遗传漂变。这就导致了有多种关于有效群体大小的定义:
the variance effective size;
the inbreeding effective size;
the eigenvalue effective size;
the coalescent size.(聚结大小)
在满足 Wright-Fisher 模型的均衡群体中,上述的 4 种定义中的有效群体大小是等价的。但是在一个非平衡历史的群体中,这些有效群体大小的估计值很可能是大相径庭的,甚至是完全无法估计的。
对分子序列数据来说,使用得最广泛的有效群体大小是 coalescent effective population size(尽管在某些情况下仍然不确定)。
在此定义下,我们将遗传漂变的量等同于合并的速率(the rate of coalescence)。

有效群体大小这个概念通常也被滥用,或者至少是不必要地扩大了其含义和应用范围。正如 Ewens 强调的那样,“如果将‘有效’这个词替换成‘在某种意义上相当于 Wright-Fisher 模型的等效物,则更能说明该概念的含义。一个理想的 Wright-Fisher 群体模型和 N e 的联系通常是被遗忘或者说被夸大了。正如在前面讨论到的,Wright-Fisher 模型是许多理论群体遗传学的基础,在比较不同群体时该模型作为一个比较的参照中心。但是 Wright-Fisher 群体大小并不等于 the effective number of breeding individuals、the number of individuals contributing wo the next generation 或任何” 真实的 “群体大小。我们可以简单地把有效大小定义为等同于具有相同遗传漂变量的 Moran 群体的有效大小(在这种情况下 N e 的大小只是一半)。上面这些只表明了一点: N e 这个值并不是非常有用,而基因组区域之间或物种之间的等级值可能能告诉我们有关漂变和选择的相对预期强度。

某个位点的第 i 个等位基因的样本频率为 p i ,那么该位点所有等位基因的频率和应该是 1。先考虑二倍体的双等位基因,那就是 p 1 + p 2 = 1。衡量单个多态位点变异(variation)的一个方法是计算样本杂合度(heterozygosity),公式如下:

上面这个公式是针对一个位点的,如果是针对一条序列的话,那其实就就是将整条序列的杂合度加起来即可。

例子:

假设现在有 4 个样本,15 个位点,但是只有 6 个位点是分离位点,我们先计算每个分离位点的杂合度:

根据公式可知,对分离位点 1(图中的第二列序列),有两个等位位点,分别是 T 和 C,其中 T 有 3 个,C 有 1 个,那么对 T 来说,它的频率就是 0.75,对 C 来说它的频率就是 0.25。根据公式可得:

我们以此计算就能得到其他 5 个分离位点的杂合度分别为:0.667,0.5,0.667,0.5,0.5。

那么就能计算π 值了:

我们将 π的计算进行推广就能得到下面这个公式:

现在是有 4 条序列,所以.n = 4 然后以此进行比较:

第一条 VS 第二条:3 个不同的核苷酸

第一条 VS 第三条:4 个不同的核苷酸

第一条 VS 第四条:3 个不同的核苷酸

第二条 VS 第三条:5 个不同的核苷酸

第二条 VS 第四条:0 个不同的核苷酸

第三条 VS 第四条:5 个不同的核苷酸

正如前面说到的,我们在计算序列之间的差异时通常是省略 indel 将其变成缺失值进行处理的。当使用公式

例子:

如果用第一个公式,那么π =3.49,但是如果用第二个公式的话,π = 2.83。原因是第一个公式将 indel 当作缺失值进行处理,而第二个公式将 indel 当作 gap 直接省略了这些位点(哪怕是在这些位点并不是分离位点)。不同的公式给出的结果也不一样,尤其是针对平均的每个位点时。因此,在处理基因组这种大数据时,通常使用

ø w 通常叫Watterson\'sø.
用 π 表示核苷酸变异的另外一种方法是利用样品中所有分离位点的数量 S 进行衡量,但是需要注意的是样本量太大时会得到很大的 S,因此需要对 S 进行校正:

还是和前面说的一样,遇到 indel 不同的处理方式得到的结果不一样

前面使用 ø和 ø w 来评估序列的多样性。除了用数字以外,我们还可以用图形来表示序列多样性程度。在这之前,我们需要了解几个概念。

一个分离位点,我们需要知道它是 ancestral allele (祖先等位基因)还是 derived allele(衍生等位基因)。我在参考文献 [1] 中找到这样一个解释:

在不知道一个位点是 ancestral allele 还是 derived allele 的时候,通常用MAF: minor alele frequency 来衡量多态性。
既然是minor, 那就不是最多的,而是次要多的。现在假设我们有 10 个样本,在一段序列上分离位点的分布情况如下图所示。下图A中蓝色的位点是minor allele. 我们需要计算每个minor allele的频率:0.2,0.1,0.2,0.1,0.3,0.1,0.3,0.1,0.4(注:第三行第 28 个碱基作者忘记标注为蓝色)。现在我们就可以画个柱状图:以频率为 X 轴,以频率出现的次数为 Y 轴(也是对应频率的分离位点出现的次数),这就是allele frequency spectrum。

当我们知道一个分离位点属于 ancestral allele 还是 derived allel 时就能进行 DAF:derived allele frequency 计算。方法和计算 MAF 类似。

参考文献:
[1] Sethupathy P, Giang H, Plotkin J B, et al. Genome-wide analysis of natural selection on human cis-elements[J]. PloS one, 2008, 3(9): e3137.

我们常计算群体的PCA(R包), 系统发生树(Fasttree分析),和祖先成分分析(admixture软件)
也可以分析LD(Plink分析)

以上是关于1-群体遗传的基础介绍的主要内容,如果未能解决你的问题,请参考以下文章

nei’s基因多样性

群体遗传学与重测序分析

路径规划基于遗传算法求解多旅行商问题matlab

群体遗传分析方法:LD,FST,eQTL

群体遗传学统计指标——群体间分歧度检验(Fst)

遗传算法GA--句子配对(Python)