溯祖理论(coalescent theory):Fisher-Wright模型以及中性溯祖

参考文献:Yang Z. 2014. Molecular evolution: a statistical approach. Oxford
(England): Oxford University Press. Chapter 9.
以及其他网络资源、wiki

以下所有内容建立在locus/site内部没有重组,并且任何两个loci之间自由重组的情况下。

Fisher-Wright模型是群体遗传学中一个理想化的模型,它假设群体的数量在世代时间是稳定不变的,世代之间没有重叠、随机交配、中性进化。在一些一年生草本植物中确实如此。


a中展现的是Fisher-Wright模型的基本概念。每一列代表一个世代,每一行代表20个基因(N=10,10个个体,都是二倍体),每个时代的个体数和对应的基因数都是相同的。右图是选出的一个n=5的树,T表示的是每一个lineage所经历的世代数(coalescent waiting time)。

这个模型可能存在一些偏差,因为没有考虑到遗传漂变。如果使用有效群体大小的概念N_e可以一定程度上进行矫正。Ne = 4NmNf /(Nm + Nf )
其中 N_m和N_f分别为male和female的个体数。理解一下:在Nm和Nf组成的群体中随机取两条序列,它们coalescent的waiting time(世代数*世代间隔)大约相当于Ne/2个male个体和Ne/2个female个体组成的群体中取样的coalescent waiting time。也就是说,你两个性别对半分,那最好,说明能够自由交配,有效群体大小等于群体大小。如果不能对半分,那我就要矫正一下,因为你产生后代的数量肯定没有对半分的群体高。一般来说N指的就是Ne。

两个基因的溯祖(coalescent)

假设我们现在说的是二倍体生物,个体数为N,基因池里基因的数量为2N(后面我们说的都是基因的传代,不说个体,这个思维要转化一下),那么现存的这2N个基因中随机挑选两个,它们在上一世代来源于同一parents的概率就是1/2N。来源于上一世代不同parents的概率就是1-1/2N。所以,两个基因在i个世代内都没有溯祖的概率就为:Pr\{{T'_2>i\}=(1- \frac{1}{2N})^i}
刚好在i世代发生溯祖的概率为(因为这里只涉及到两个基因,所以第一次溯祖就是所有基因溯祖):Pr \{{T'_2=i\}=(1- \frac{1}{2N})^{i-1}} \times \frac{1}{2N}
这里有人会问了:有性繁殖的生物(也就是群体大小为N)的基因来自父母双亲,在上一时代不可能溯祖。这里的模型确实更加适用于无性繁殖的二倍体生物(也就是群体大小为2N),但是在经过很多世代后,这一点的影响微乎其微,可以不考虑。

现在我们重新scale一下时间变量。令T_2=T'_2/(2N),那么Pr \{{T_2> \frac{i}{2N}}\}= Pr \{{T'_2=i\}=(1- \frac{1}{2N})^{i}} \approx e^{- \frac{i}{2N}}

最后那个约等号的推导过程

这里,\frac {i}{2N}就成了一个总体的变量,所以T_2就符合了指数分布,其均值为1,方差为1:f(T_2)=e^{-T_2}

复习:指数分布Pr\{X> \chi\} = e^{-\lambda X}的均值为1/\lambda

现在我们要将“世代时间”T转换成核酸替换的数量(假设我们可以通过核算替换数量来评估分化的时间),那么:
1) t_2=T'_2\mu\mu为核酸替换式数量/每个位点/每世代)。

2)现在再引入一个变量\theta,为种群内部差异参数(也叫群体大小参数),\theta =4N\mu,它是指在有效群体大小为N的群体中,随机抽取两条序列,它们的平均序列差异。举个例子,人类群体中的theta大约为0.0006,含义是这个群体中随机抽取两条基因组序列,其差异平均为0.6每kb(这是一个群体遗传中非常常用的参数)。

因此t_2的概率分布密度就为:f(t_2)= \frac{2}{ \theta} e^{- \frac{2}{ \theta} t_2}

所以以核酸替换数量单位的时间衡量标准的速率就为2/\theta

小结一下
在目前的文献中中,主要有三种coalescent waiting time 的衡量标准:
1) T'_2 衡量的是generations, 均值是2N。
2)T_2=T'_2/(2N)衡量的是2N*generation(这里的2N算一个常量),均值是1.
3) t_2 = T′_2 \mu= T_2 × 2N \mu = T_2 × \frac{ \theta}{2}衡量的是每个位点上的核酸替换数量,均值是\theta/2.

image.png

关于参数\theta:同样地,我们也可以用\theta来计算有效群体大小。比如说通过实验抽样得到人类群体中的\theta大约为0.0006,mutation rate \mu大约为\mu ≈ 2.4 × 10^{–8},则N=\theta/(4 \mu) \approx 6250。这个数字非常有趣,因为它与人类现存的七十多亿现实群体大小差别巨大。所以遗传学家认为人类曾经经历过瓶颈时期,现在我们之间的遗传差异比较小,有效群体大小只有6250左右。

n个基因的溯祖(coalescent)

假设现在有n个基因。
和上文类似的,经过一个世代,n个基因都没有coalesce的概率为:
(1- \frac{1}{2N})(1- \frac{2}{2N})(1- \frac{3}{2N})...(1- \frac{ {n-1}}{ 2N}) \approx 1- \frac {1+2+3...+n-1}{2N}=1- {n \choose 2} \frac{1}{2N}

其中{n \choose 2}=\frac {n(n-1)}{2},表示随机取两个组成一对,有多少种可能。上面这个公式怎么理解呢。假设第一个基因确定了它的上一世代的亲本,第二个基因取到相同亲本(溯祖了)的概率为(1- \frac{1}{2N}),第三个又相同的概率为(1- \frac{2}{2N}),依次类推。

上面这个约等号是这样推导的:这个连乘展开来是多次的,包含1/(2N)^2, 1/(2N)^3这些高次的项,但是由于我们默认n是远小于N的,因此几乎不可能有超过两个gene在同一世代coalesce,所以这些高次的项都可以被删除,只剩下一次项加一起(我大声高呼“妙啊”!)。

和两基因一样的,将上面多基因的式子扩展到每一个generation,在i世代刚好发生第一次基因coalesce的概率为:

Pr\{ T'_n=i\}=\Bigg[1- {n \choose 2} \frac{1}{2N} \Bigg]^{i-1} \times {n \choose 2} \frac{1}{2N}

同样的这也是一个几何分布(形似 (1-k)^i x k,则期望E(p)= 1/k),其期望(均值)为E(T'_n)=2N/ {n \choose 2},每一对基因溯祖的概率为1/2N 每世代。

所以,假设溯祖过程中任意一段存在j个基因,那么到下一次coalescent的世代时间平均期望为E(T'_j)=2N/ {j \choose 2}

同样地,令T_j=T'_j/(2N)T_j的概率分布为:

f(T_j)= \frac{ j ( j-1)}{2} exp \bigg\{ -\frac{j(j-1)}{2} T_j \bigg \}
其均值(期望)为2/j(j-1),方差为[2/j(j-1)]^2

这里在引入一个概念:labelled history. 简单来说就是在溯祖过程中存在多少种历史可能(祖先节点的先后顺序),就有多少种labelled history。比如说((a,b),(c,d))这颗树有两种labelled histoy,因为ab祖先和cd祖先分化的先后不确定;而(((a,b),c),d)这棵树只有一种labelled histoy。

大家应该发现了,我们正在构建的这颗树是随机coalesce的,这种树称为genealogical 树,存在很多种labelled history;与此对应的rooted tree只有一种history。所以这棵树存在的history有这么多个:
H_n= {n \choose 2}·{n-1 \choose 2}...{2 \choose 2}= \frac {n!(n-1)!}{2^{n-1}}

怎么理解上面这个公式:在最底层世代,有n个基因,随机挑选两个coalesce的组合有{n \choose 2}种(也就是说在最底层世代有这么多种labdelled history),倒数第二层就只剩下n-1个lineage了,以此类推。

所以现在有H_n种history,每一种的概率都是一样的1/H_n。对于任意一种历史GTn, T_{n–1}, . . . , T{2}的分布都是相对独立的指数分布,其概率密度为:
f(T_n,T_{n-1}...T_2|G)= \prod_{j=2}^n \frac{ j(j-1)}{2} exp \Bigg \{- \frac{j(j-1)}{2} T_j \Bigg \}
(这里的意思是,要求第几段的coalescent waiting time,把n=几代进去就行)

联合概率分布(把历史G的分布和在历史G的情况下Tn的分布乘起来):

f(G,T_n,T_{n-1}...T_2)=f(G)f(T_n,T_{n-1}...T_2|G)=\prod_{j=2}^nexp \Bigg\{-\frac{j(j-1)}{2} T_j\Bigg\} (exp前面那个系数(累乘)正好和Hn这个分布消掉了)

现在计算树高的期望以及方差:

T_{MRCA}=T_n+T_{n-1}+...+T_2
E(T_{MRCA})=E(T_n+T_{n-1}+...+T_2)= \sum_{j=2}^n \frac {2}{j(j-1)}=2 \sum_{j=2}^n (\frac {1}{j-1} - \frac {1}{j})=2(1- \frac{1}{ n})
V(T_{MRCA})=\sum_{j=2}^n V(T_j) = \sum_{j=2}^n \bigg[\frac {2}{j(j-1)}\bigg]^{2}=8 \sum_{j=1}^{n-1} \frac {1}{j^2}-4\bigg( 3-\frac{2}{n}-\frac{1}{n^2}\bigg)

n比较大时T_{MRCA} \approx 2,又因为E(T_2)=1,所以所有基因溯祖的时间大约为最后两条lineage溯祖的时间的两倍(n足够大时)。当n很大时,
V(T_{MRCA}) \approx \frac {8{ \pi}^2}{6} -12 \approx 1.16
又因为V(T_2)=1,因此T_{MRCA}的方差主要来源于T_2

现在计算树长:

树长(tree length)的定义为gelealogical树内所有的支长(branch length)的总和(这里的支长听起来像是个长度,但其实可以用时间累加,因为只不过差一个替换速率的系数):
T_{total}=\sum_{j=2}^n jT_j
V_{total}= \sum_{j=2}^n j^2V(T_j)= \sum_{j=2}^nj^2( \frac{2}{j (j-1)})^2=4 \sum_{j=1}^{n-1} \frac{1}{j^2}

当n很大时,E(T_{total}) \approx 2( \gamma + \log n),此处欧拉常数\gamma = \lim_{n \to + \infty} \sum_{j=1}^n \frac{1}{j} -\log(n) \approx 0.577(这里太难了...无能为力,就当作看个结果)
V(T_{total}) ≈ 2 {\pi}^2/3 ≈ 6.579
因此当n很大并且逐渐变大时,树长T_{total}的变化很小,而且方差几乎不变。
现在如果考虑树高MRCA的话,当我对一个群体进行取样,得到n个基因,那么n个基因计算得到的MRCA正好为整个群体的MRCA的概率为\frac {n-1}{n+1}(有论文支持),所以即便是很小的采样(比如我只踩了三四个个体,换算成二倍体就是六八个基因),也有很高的概率能够coalesce到root节点。


这三棵树的叶很短而主干很长,由于coalescent rate等于􏰇{n \choose 2}\frac{2}{\theta}=\frac{n(n-1)}{\theta},其主要是由n^2决定的,所以n越小coalescent rate越低,就需要花越长时间(世代)来coalesce。

知道这个树长有什么用呢?可以用来评估建树能预测多久以前的历史。比如说我们已经知道人类的有效群体大小评估大约为N\approx 1e4,我们假设generation gap为g=20年(假设平均二十岁生子),那么MRCA一般不超过期望正负两个标准差:E(T_{MRCA})+2 \sqrt{V(T_{MRCA})} \approx 2+2 \sqrt{1.16} \approx4.15(也就是说4.15*2N generations的时间)
所以我们用DNA取样建树来重建人类的历史,信息的有效性不超过4.15 \times 2N \times g=4.15 \times 2*1e4 \times 20 \approx 1.7million years(别忘了这里的T是用T'/2N得来的,而T'又是以generations为单位的)

好了,这一篇coalescent的原理部分暂时写道这里,后面希望写一篇文章通过编程语言来重现这一过程。
具体各模型之间的关系,谁优谁劣我还分不太清楚,但总有一天会汇总一下讨论,说不定写篇中文综述。这个Fissher-Wright模型使用的是Ne不变的模式,所以不太靠谱,应该会有更靠谱的方法,后面去查查。

BTW,MRCA的意思就是most recent common ancestor.

能看耐心完的人应该寥寥无几吧🤦‍♂️欢迎讨论


coalescent theory的补充资料
https://en.wikipedia.org/wiki/Coalescent_theory

延伸的还有一个模型叫平均杂合度(mean heterozygosity): \overline{H}

theta就是之前说的那个theta,很重要,所以theta越大平均杂合度越高,和有效群体大小和突变速率都有关

另外补充一点:之所以称为中性溯祖,是因为这个coalescent模拟过程完全是随机发生的,认为物种形成过程是由于随机突变以及基因漂移导致的,在此基础之上反过来溯祖。它取决于世代数、有效群体大小等,但是和自然选择完全无关,完全不考虑。这一点值得深思。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343