首先一个问题:什么是哈温平衡?
在一个不发生突变、迁移和选择的无限大的随机交配的群体中,基因频率和基因型频率将逐代保持不变。
hardy-weinberg 平衡 (hardy-weinberg equilibrium, HWE), 也叫遗传平衡定律,哈代-温伯格定律,核心在于数学等式“x + y = 1 时, [x^2 + 2xy + y^2 = 1] ”。现在,在最简单条件下,当我们只考虑一个基因的两种等位基因 A 和 a 时,A 和 a 的百分比加起来必然是100%,也就是1 。我们用 p 来表示 A 的概率,用 q 来表示 a 的概率,即 p + q = 1, p^2 + 2pq + q^2 = 1。这时一个图就能画出来了:x轴代表等位基因 A 的概率(也就是 p,或者说 1 - q),y轴代表某种二倍体结合的概率(简而言之,就是人类群体里具有 AA,Aa,aa这种结合的概率)。
那么怎么做哈温平衡检验呢?
Anwser:卡方适合性检验
一个群体是否符合这种状况,即达到了遗传平衡,也 就 是 一 对 等 位 基 因 的 3 种 基 因 型 的 比 例 分 布 符 合 公 式 :p2+2pq+q2=1,p+q=1,(p+q)2=1.基因型MM的频率为p2,NN的频率为q2,MN的频率为2pq。MN:MN:NN=P2:2pq:q2。
MN这对基因在群体中达此状态,就是达到了遗传平衡。如果没有达到这个状态,就是一个遗传不平衡的群体。
但随着群体中的随机交配,将会保持这个基因频率和基因型分布比例,而较易达到遗传平衡状态。应用Hardy-Weinberg遗传平衡吻合度检验方法,把计算得到的基因频率代入,计算基因型平衡频率,再乘以总人数,求得预期值(e)。
把观察数(O)与预期值(e)作比较,进行χ2检验。病例组和对照组的基因型分布的观察值和预期值差异无显著性(P>0.05),符合遗传平衡定律.
那么哈温平衡和MAF过滤的区别是什么呢?
这两个概念,一个是对基因频率进行的筛选(MAF)
一个是对基因型频率进行的筛选(哈温).
对于一个位点"AA AT TT",其中A的频率是基因频率,AA为基因型频率.
MAF直接是对基因频率进行筛选,
而哈温平衡检验,则是根据基因型推断出理想的(AA,AT,TT)的分布,然后和实际观察的进行适合性检验,然后得到P值,根据P值进行筛选.即P值越小,说明该位点越不符合哈温平衡
这里有两个目的:
- 计算所有位点的哈温检测结果
- 删除掉SNP种不符合哈温平衡的位点
计算所有位点的HWE的P值
plink --bfile HapMap_3_r3_8 --hardy
plink.hwe的数据格式
- CHR 👉染色体
- SNP 👉SNP的ID
- TEST 👉类型
- A1 👉minor 位点
- A2 👉 major位点
- GENO 👉基因型分布:A1A1,A1A2,A2A2
- O(HET)👉观测杂合度频率
- E(HET) 👉期望杂合度频率
- P 👉哈温平衡的卡方检验P-value值
这里我们设定过滤标准为10的-4次方,也就是0.0001
plink --bfile HapMap_3_r3_8 --hwe 1e-4 --make-bed --out HapMap_3_r3_9
我们用R来画个直方图
# 先要设置工作路径
hwe = read.table (file="plink.hwe", header=TRUE)
hist(hwe[,9],main="Histogram HWE")
# 保存到本地
pdf("histhwe.pdf")
hist(hwe[,9],main="Histogram HWE")
dev.off()
hwe_zoom<-read.table (file="plinkzoomhwe.hwe", header=TRUE)
pdf("histhwe_below_theshold.pdf")
hist(hwe_zoom[,9],main="Histogram HWE: strongly deviating SNPs only")
dev.off()
哈温的P值直方图