用户工具

侧边栏

站点工具

本站推荐

最多访问

您的足迹: • class • statistics • reshape • population_genetics • hwe

遗传平衡

遗传平衡的判定

遗传平衡实质上是一种理想状态,现实的群体所受的干扰因素是否可以忽略,群体很大时就只能通过抽样调查来检验。使用卡方检验:

chi^2 = Sigma{(O_i-E_i)^2/E_i}

其中O_i是第i种基因型观察到的实际频数,E_i是第i种基因型的期望频数(假设群体处于遗传平衡,同样基因频率下的期望频数),根据O_i算出基因频率,然后算得E_i。自由度df=基因型的数量减去等位基因数量

df = N_genotype - N_allele

对于一个基因座位上有A和a两个等位基因时,df=1,当卡方>3.841时 p < 0.05,我们认为群体不处于遗传平衡。

使用卡方检验需要注意:一般认为,有1/5以上的理论频数小于5时,不宜使用卡方检验,这时候可以通过增大样本数来解决。

例题一

对于MN血型,某地区检测了1000人,200人为M型(MM),500人为MN型(MN),300人为N型(NN)。该地区人群中MN基因处于遗传平衡态么?

答: 先算出基因频率 f_M = {200*2+500}/{2*1000} = 0.45,f_N = 1 - f_M = 0.55
然后假设该群体处于遗传平衡态,则
E_MM = 1000*f_MM = 1000*{{f_M}^2}  = 1000*0.45*0.45 = 202.5
E_MN = 1000*f_MN = 1000*{2{f_M}{f_N}}  = 1000*2*0.45*0.55 = 495
E_NN = 1000*f_NN = 1000*{{f_N}^2}  = 1000*0.55*0.55 = 302.5
chi^2 = (200-202.5)^2/202.5 +(495-500)^2/495 +(300-302.5)^2/302.5 = 0.1020 < 3.841

因此我们不能否定这个假设,我们认为这个群体MN基因座处于遗传平衡。

这里我们可以用R语言来实现上边的计算过程:

X2 <- function(MM, MN, NN){
    N <- MM + MN + NN
    fM <- (MM*2+MN)/(2*N)
    fN <- (NN*2+MN)/(2*N)
    EMM <- N*fM^2
    ENN <- N*fN^2
    EMN <- N - EMM - ENN
    (EMM - MM)^2/EMM + (EMN - MN)^2/EMN + (ENN - NN)^2/ENN 
}
 
X2(200, 500, 300)

例题二

根据抽样调查个体数目判定,下列处于遗传平衡状态的群体是
A、MM:270;MN:330;NN:160
B、MM:240;MN:330;NN:190
C、MM:270;MN:390;NN:100
D、MM:240;MN:390;NN:130

这个我们可以计算固定系数F,看看哪个最接近0。 借助计算器,用如下公式计算:
F = {H_E - H_o}/{H_E} = 1 - {H_o}/{H_E} = 1 - {f_MN}/{2{f_M}{f_N}} = 1 - {2{O_MN}(O_MM + O_MN + O_NN)}/{(2O_MM + O_MN)(2O_NN + O_MN)} = {4{O_MM}{O_NN} - {O_MN}^2}/{(2O_MM + O_MN)(2O_NN + O_MN)}
得到F依次是 0.1130、0.1278、 -0.0804、-0.0483,显然D选项F最接近0,于是选D。
当然,也可以每个选项都进行一下卡方检验,四个选项的卡方值依次为是9.7040、12.4137、4.9093、1.7712,显然也是D选项小于3.841,是遗传平衡的。

这个相应计算就好了,如果用R语言,直接写个函数

F <- function(MM, MN, NN){ 1 - (2 * MN * (MM + MN + NN))/((2*MM + MN)*(2*NN + MN)) }
F(270, 330, 160)
F(240, 330, 190)
F(270, 390, 100)
F(240, 390, 130)

本网页已被访问7139次数; 最后编辑于 2025/04/14 20:56


页面工具

Powered by DokuWiki | ©2018-8102 Hong Wang | 桂ICP备18010616号 | 桂公网安备 45010302002017号