【羣體遺傳學】 π (pi)的計算 雜合度 heterozygosity

雜合度 heterozygosity

某個位點的第i個等位基因的樣本頻率爲p_i,那麼該位點所有等位基因的頻率和應該是1。先考慮二倍體的雙等位基因,那就是p_1 + p_2 = 1。衡量單個多態位點變異(variation)的一個方法是計算樣本雜合度(heterozygosity),公式如下:

h = \frac{n}{n-1}(1-\sum{p_i^2})

在公式中,n代表的是樣本中序列的數量。

\pi

上面這個公式是針對一個位點的,如果是正對一條序列的話,那其實就就是將整條序列的雜合度加起來即可。

\pi = \sum_{j=1}^{S}h_j

其中S表示的是分離位點的數量,h_j表示的是第j個分離位點的雜合度。在Wright-Fisher模型(無限位點的二倍體)下,E(\pi) = \theta,因此有時這個統計量也叫\theta_{\pi}。我們需要注意的是在單態位點(monomorphic site)時雜合度是0。

先看這樣一個例子:

假設現在有4個樣本,15個位點,但是隻有6個位點是分離位點,我們先計算每個分離位點的雜合度:

根據公式可知,對分離位點1(圖中的第二列序列),有兩個等爲位點,分別是T和C,其中T有3個,C有1個,那麼對T來說,它的頻率就是0.75,對C來說它的頻率就是0.25。根據公式可得:

h = \frac{4}{3}\sum[1-(0.75^2 + 0.25^2) ]= 0.50

我們以此計算就能得到其他5個分離位點的雜合度分別爲:0.667,0.5,0.667,0.5,0.5。

那麼就能計算\pi值了:

\pi = 0.5 + 0.667 + 0.5 +0.667 + 0.5 + 0.5 = 3.33

但是我們通常關注的是每個位點\pi的均值:

\pi = \frac{3.33}{15} = 0.222

我們將\pi的計算進行推廣就能得到下面這個公式:

\pi = \frac{\sum_{i < j}k_{ij}}{n(n-1)/2}

其中k_{ij}表示的是第i條序列和第j條序列之間不同核苷酸的數量,分母表示的是n個序列之間進行比較的唯一次數(非重複比較)。現在我們將這個公式應用到上面的序列中。

現在是有4條序列,所以n = 4. 然後以此進行比較:

第一條VS第二條:3個不同的核苷酸

第一條VS第三條:4個不同的核苷酸

第一條VS第四條:3個不同的核苷酸

第二條VS第三條:5個不同的核苷酸

第二條VS第四條:0個不同的核苷酸

第三條VS第四條:5個不同的核苷酸

所以,\pi = \frac{3+4+3+5+0+5}{4(4-1)/2} = 3.33

需要注意的是當數據量很大的時候,使用公式\pi = \sum_{j=1}^{S}h_j計算更快

正如前面說到的,我們在計算序列之間的差異時通常是省略indel將其變成缺失值進行處理的。當使用公式\pi = \sum_{j=1}^{S}h_j並且將indel變成缺失值時,針對不同位點n是不同的。使用公式\pi = \frac{\sum_{i < j}k_{ij}}{n(n-1)/2}的話,通常會省略gap位置。

比如這個例子:

如果用第一個公式,那麼\pi = 3.49,但是如果用第二個公式的話,\pi = 2.83。原因是第一個公式將indel當作缺失值進行處理,而第二個公式將indel當作gap直接省略了這些位點(哪怕是在這些位點並不是分離位點)。不同的公式給出的結果也不一樣,尤其是正對平均的每個位點時。因此,在處理基因組這種大數據時,通常使用\pi = \sum_{j=1}^{S}h_j這個公式。

我們可以把\pi的期望方差表示成參數爲\theta的函數。雖然在中性進化模型下,這個參數沒啥用😄。

如果沒有重組發生的話:

Var(\pi) = \frac{n + 1}{3(n + 1)}\theta + \frac{n(n^2 + n + 3)}{9n(n - 1)}\theta^2

從公式可以看出,和\pi相關的方差很大,即使樣本很大時,方差也不接近於0。

\theta_W

\theta_W通常叫Watterson‘s \theta。用\pi表示核苷酸變異的另外一種方法是利用樣品中所有分離位點的數量S進行衡量,但是需要注意的是樣本量太大時會得到很大的S,因此需要對S$進行校正:

\theta_W = \frac{S}{a}

a = \sum_{i = 1}^{n-1}\frac{1}{i}

對類似於Wright-Fisher模型處於平衡狀態且有無限突變位點的羣體,\theta_W也是\theta的估計量。

那麼綜上:

\theta:E(S) = \theta{a}

將這個公式應用到這個例子上:

\theta_W = \frac{6}{1/1+1/2+1/3} = 3.28

可以看到這個公式得到的結果和前面公式計算得到的3.33很接近。

還是和前面說的一樣,遇到indel不同的處理方式得到的結果不一樣:

  1. 如果將indel當作缺失值進行處理,那\theta_W = 5/(1/1+1/2+1/3) = 2.73
  2. 如果將indel當作gap進行處理,那\theta_W = 1/(1/1+1/2) = 0.667

將這兩種不同方法得到的結果相加:

\theta_W = 2.73 + 0.667 = 3.40

同樣,我們可以用參數爲\theta的函數來表示S的期望方差(Wright-Fisher模型,沒有重組發生):

Var(s) = \sum_{i=1}^{n-1}\frac{1}{i}\theta + \sum_{i=1}^{n-1}\frac{1}{i^2}\theta^{2}

如果是自由重組的話,就只是前半部分。

還可以從這個公式推斷出:

Var(\theta_W) = \frac{Var(S)}{a^2}

我們通常會看到關於\theta的兩種估計值:\pi\theta_W,測序錯誤等會造成不同的影響,因此通常需要兩個值都看,還有更多的統計參數可以使用(如Tajima's D)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章