Hardy–Weinberg equilibrium

本文介绍了哈迪-温伯格平衡的基本原理及应用,通过实例演示了如何使用卡方检验来验证群体是否符合该平衡状态。适用于二倍体生物群体的基因频率和基因型频率分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

欢迎关注"生信修炼手册"!

Hardy–Weinberg equilibrium,叫做哈迪-温伯格平衡。该定律提出,对于一个足够大的群体,在群体中各个个体之间随机交配,在没有突变,个体迁移,遗传漂变等因素发生的情况下,这个种群的基因频率和基因型频率可以一代代稳定不变,保持平衡。

对于二倍体生物而言,等位基因A的频率用p表示,a的频率用q表示,在满足哈迪-温伯格平衡的群体中,基因型频率如下

AA的频率为 p x p; aa的频率为q x q; Aa的频率为2pq

在实际分析中,会去检验一个SNP位点的基因型频率是否符合哈迪-温伯格平衡。利用样本的SNP分型结果,我们可以观察到种群中基因型的频率,从而推测出allel的频率。

AA基因型频率为P, Aa基因型频率为H,aa基因型频率为Q;则A的频率为 P + H/2;a 的频率为Q + H/2;

利用allel 频率,可以计算出理论上的各个基因型频率,然后利用卡方检验,去比较理论基因型频率和实际观测到的基因型频率之间是否有差异。

对应的卡方统计量计算公式如下

O 代表实际观测到的基因型频率,E代表期望的基因型频率,也就是理论基因型频率。看一个实际的例子

某个种群中,样本数为100,基因型分布如下

GenotypeCount
AA30
Aa55
aa15

假设满足哈迪-温伯格平衡,allel的频率如下

A = 30 / 100 + 55 / 100 / 2 = 0.575
a = 15 / 100 + 55 / 100 / 2 = 0.425

根据allel频率,计算出理论基因型频数

E(AA) = 100 x 0.575 x 0.575 = 33
E(Aa) = 100 x 0.575 x 0.425 x 2 = 49
E(aa) = 100 x 0.425 x 0.425 = 18

计算每种基因型的偏移量

AA : 9 / 33 = 0.27
Aa : 36 / 49 = 0.73
aa : 9 / 18 = 0.5

计算卡方统计量

0.27 + 0.73 + 0.5 = 1.50

在分析卡方检验的结果时,出来统计量的值,还需要关注自由度。在这个例子中,由于是两个allel, 所以自由度为1。

在判断结果是否显著时,通常选择阈值为0.05。在卡方检验表中,自由度为1, P值为0.05时,对应的统计量为3.841。实际算出来的统计量小于3.841,说明理论基因型频率和实际基因型频率没有差异,种群符合哈迪-温伯格平衡。
满足哈迪-温伯格平衡的群体只是理论上的群体,在自然条件下是不存在的。但是在实际处理时,对于较大的群体,可以近似的认为其符合哈迪-温伯格平衡。在分析SNP分型数据时,会利用哈迪-温伯格平衡检验去过滤位点。如果某个SNP位点的基因型频率不符合哈迪-温伯格平衡, 则去除该SNP位点。

扫描关注微信号,更多精彩内容等着你!

### Plink 软件的质控功能概述 Plink 是一款广泛应用于遗传数据分析的强大工具,尤其在质量控制 (Quality Control, QC) 方面提供了多种实用的功能。以下是关于 Plink 的一些主要质控方法及其应用: #### 1. SNP 缺失率过滤 为了移除那些在样本集中具有高比例缺失值的 SNPs,可以使用 `--geno` 参数来设定阈值。当某个 SNP 在超过指定百分比的个体中缺失时,则会被剔除。 ```bash plink --file input_file --geno 0.1 --make-bed --out output_file ``` 上述命令会删除任何在一个以上 10% 样本中缺失的 SNP[^3]。 #### 2. 样本缺失率过滤 如果某些样本存在过多的 SNP 缺失情况,这些样本可能会影响后续分析的质量。因此可以通过设置 `--mind` 参数来排除这类样本。 ```bash plink --file input_file --mind 0.1 --make-bed --out output_file ``` 此操作将会去除任意一个其 SNP 缺失率达到或高于 10% 的样本。 #### 3. 次等位基因频率 (Minor Allele Frequency, MAF) 过滤 次等位基因频率较低的 SNP 可能由于技术误差或其他原因而不可靠,故通常建议将其从数据集中清除掉。利用 `--maf` 或者 `--max-maf` 命令可实现这一目标。 ```bash plink --bfile input_bed --maf 0.05 --make-bed --out filtered_output ``` 这里表示仅保留次要等位基因频率至少达到 5% 的标记。 #### 4. Hardy-Weinberg 平衡检验 Hardy-Weinberg Equilibrium (HWE) 测试用于检测群体中的遗传平衡状态。偏离 HWE 的 SNP 往往提示可能存在错误或者偏差,应该考虑予以排除。 ```bash plink --bfile input_bed --hwe 1e-6 --make-bed --out hwe_filtered_output ``` 这条语句将把 p-value 小于 \(1 \times 10^{-6}\) 的 SNP 移走。 #### 5. 杂合度异常筛选 对于人类基因组而言,极端高的杂合度可能是污染或是其他形式的数据质量问题的表现之一;同样地,极低水平也可能暗示着近亲繁殖等问题。所以有必要对超出正常范围内的个体加以识别并处理。 ```bash plink --bfile input_bed --het --allow-no-sex --out het_report ``` 生成报告之后可以根据具体情况决定如何处置不符合标准的对象。 --- ### 示例脚本综合演示 下面给出一段完整的 shell 脚本来展示如何依次执行上述各项质控措施: ```bash #!/bin/bash # Step A: Remove SNPs with high missing rate (>10%) plink --file raw_data --geno 0.1 --make-bed --out qc_stepA # Step B: Remove individuals with high missing genotypes (>10%) plink --bfile qc_stepA --mind 0.1 --make-bed --out qc_stepB # Step C: Filter out SNPs based on Minor Allele Frequency (<5%) plink --bfile qc_stepB --maf 0.05 --make-bed --out qc_stepC # Step D: Exclude SNPs violating Hardy-Weinberg equilibrium threshold plink --bfile qc_stepC --hwe 1e-6 --make-bed --out qc_stepD # Optional E: Check heterozygosity rates among samples plink --bfile qc_stepD --het --allow-no-sex --out final_het_check ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值