哈迪-温伯格(Hardy-Weinberg )平衡定义及检验

1. 哈迪-温伯格(Hardy-Weinberg )平衡定义

哈迪-温伯格平衡描述了在理想群体中,基因频率和基因型频率在没有进化力量(如突变、选择、迁移、遗传漂变)的影响下,经过一代随机交配后,将达到并保持平衡状态,并且这种平衡状态会在后续世代中持续保持。

2. 哈迪-温伯格平衡的假设条件

(1)大群体:群体足够大,以避免遗传漂变的影响。
(2)随机交配:个体之间随机交配,没有选型交配或近亲交配等非随机交配模式。
(3)无突变:等位基因不会发生突变。
(4)无选择:不同基因型的个体具有相同的适合度,不存在自然选择。
(5)无迁移:没有个体从外部群体迁入或迁出。

3. 哈迪-温伯格平衡的计算

假设初始群体中,等位基因 A 的频率为 ,等位基因 a 的频率为 ,且p+q=1。

在随机交配的情况下,各种基因型的频率可以通过以下方式计算:

计算方法

4. 哈迪-温伯格平衡检验步骤

在实际研究中,可以通过观察的基因型频率来检验群体是否处于哈迪-温伯格平衡状态,可以使用卡方检验:

(1)计算观察到的基因型频率:假设观察到的基因型 AA、Aa和aa 的数量分别为N_AA 、N_Aa、N_aa,总样本量N= N_AA +N_Aa+N_aa。

(2)计算观察到的等位基因频率

等位基因A的频率 p = ( 2 * N_AA + N_Aa ) / ( 2 * N)
等位基因a的频率 q = ( 2 * N_aa + N_Aa ) / ( 2 * N)

(3)计算期望的基因型频率:

期望的AA频率p^2 , 期望Aa的频率2pq, 期望aa的频率q^2

(4)卡方检验:

设置自由度和显著性水平,查找卡方分布表, 比较卡方值与临界值,如果计算的卡方值小于临界值,则认为群体处于 Hardy-Weinberg 平衡状态;否则,认为群体偏离平衡状态卡方检验公式如下:

![[卡方检验公式]]

5. python实现哈迪-温伯格平衡检验

import numpy as np
from scipy.stats import chi2

def hardy_weinberg_test(n_AA, n_Aa, n_aa):
    N = n_AA + n_Aa + n_aa
    p = (2 * n_AA + n_Aa) / (2 * N)
    q = 1 - p


    # 期望的基因型频率
    expected_AA = N * p ** 2
    expected_Aa = N * 2 * p * q
    expected_aa = N * q ** 2


    # 计算卡方值
    chi_square = (
        (n_AA - expected_AA) ** 2 / expected_AA +
        (n_Aa - expected_Aa) ** 2 / expected_Aa +
        (n_aa - expected_aa) ** 2 / expected_aa
    )


    # 设置卡方检验自由度为df=1, 显著性水平0.95
    # 如果计算的卡方值小于临界值,则认为群体处于 Hardy-Weinberg 平衡状态;否则,认为群体偏离平衡状态。
    critical_value = chi2.ppf(0.95, df=1)

    print(f"卡方值: {chi_square}")
    print(f"临界值: {critical_value}")


    if chi_square < critical_value:
        print("群体处于 Hardy-Weinberg 平衡状态\n")
    else:
        print("群体偏离 Hardy-Weinberg 平衡状态\n")

# 测试数据
hardy_weinberg_test(n_AA = 49, n_Aa = 101, n_aa=50)

hardy_weinberg_test(n_AA = 45, n_Aa = 115, n_aa=40)

结果

<think>好的,我现在需要帮助用户理解PLINK命令中各个参数的作用,特别是--missing、--freq、--hardy,以及--bfile、--allow-extra-chr、--chr-set这些参数。首先,我要回顾之前用户的问题和我的回答,确保这次回答保持一致,并参考用户提供的站内引用。用户之前询问了一个PLINK命令的作用,涉及geno、mind、maf等参数,现在他们想了解其他参数的功能。当前问题包括--bfile、--allow-extra-chr、--chr-set、--missing、--freq、--hardy。我需要逐一解释这些参数,并确保引用之前的引用内容,比如引用[1]提到--bfile用于二进制文件,引用[3]提到转换文件格式节省空间。 首先,处理--bfile参数。根据引用[1],用户知道--bfile代替--file来读取二进制文件,所以我需要解释这是输入二进制格式的基础文件集,如bed、bim、fam。然后,--allow-extra-chr允许非常规染色体编号,这在处理非人类或特殊数据时有用,比如引用[3]提到的处理不同物种的数据可能需要这个参数。--chr-set则设置染色体数量,比如用户之前例子中的39条,适用于动物数据,如狗(39对染色体)。 接下来是分析类参数:--missing、--freq、--hardy--missing生成缺失率报告,包括样本和SNP的缺失情况,之前用户的问题中提到了geno和mind参数,这里可以关联,说明这些报告可能用于后续的过滤步骤。--freq计算等位基因频率,生成.frq文件,这在关联分析中很重要,比如MAF过滤,用户之前问过maf参数,可以引用[2]中的例子,其中使用了--freq来统计频率。--hardy进行哈迪-温伯格平衡检验,生成.hwe文件,帮助识别偏离HWE的SNP,可能与质量控制中的hwe参数相关,用户之前用了--hwe1e-6,所以需要说明这个检验的结果用于过滤。 然后,需要生成相关问题,结合用户之前的问题,比如其他质量控制参数、HWE检验的意义,以及二进制文件的优势。例如,用户之前问过geno、mind、maf,现在可以问其他质量控制参数;或者HWE检验在QC中的作用;或者为什么使用二进制文件,这可能涉及引用[3]提到的节省空间。在撰写过程中,要确保数学公式正确使用LaTeX,如哈迪-温伯格公式用$$...$$,等位基因频率用$...$。同时,引用标记要自然,例如在解释--bfile时引用[1],在--freq时引用[2],在--allow-extra-chr时引用[3]。最后,检查是否有遗漏的参数,确保每个参数都有清晰的功能说明,并结合用户之前的上下文,使回答连贯。可能还需要指出这些参数在流程中的位置,比如--bfile通常在初始数据读取时使用,而--missing、--freq、--hardy属于分析步骤,结果可能用于后续过滤。</think>### PLINK参数功能解析 以下是PLINK命令中指定参数的详细功能说明: --- #### **基础文件操作参数** 1. **`--bfile`** - **功能**:指定输入的PLINK二进制文件前缀(`.bed`/`.bim`/`.fam`)。 - **作用**:替代`--file`参数,直接读取二进制格式文件,提升数据处理效率[^1]。 - **示例**: ```bash plink --bfile data --missing --out qc ``` 2. **`--allow-extra-chr`** - **功能**:允许读取非标准染色体编号(如`chrX`、`chrUn`等)。 - **作用**:处理非人类或特殊注释的基因组数据时,避免因染色体命名不规范导致的报错[^3]。 3. **`--chr-set`** - **功能**:设置染色体数量及类型(例如动物基因组)。 - **作用**:如`--chr-set 39 no-xy`表示染色体总数为39对,且不包含性染色体(X/Y),适用于犬类等物种[^3]。 --- #### **数据分析参数** 4. **`--missing`** - **功能**:生成样本和SNP的缺失率报告。 - **作用**: - 输出文件:`.imiss`(个体缺失率)、`.lmiss`(SNP缺失率)。 - 用于后续过滤低质量样本或位点(如`--mind 0.1`、`--geno 0.1`)[^1]。 - **示例公式**: 个体缺失率计算: $$ \text{MissingRate}_{\text{个体}} = \frac{\text{缺失的SNP数}}{\text{总SNP数}} $$ 5. **`--freq`** - **功能**:计算等位基因频率(Allele Frequency)。 - **作用**: - 输出文件:`.frq`,包含每个SNP的次要等位基因频率(MAF)。 - 用于过滤低频变异(如`--maf 0.01`)或分析群体遗传结构[^2]。 - **公式**: $$ \text{MAF} = \frac{\text{次要等位基因计数}}{2 \times \text{样本数}} $$ 6. **`--hardy`** - **功能**:执行哈迪-温伯格平衡Hardy-Weinberg Equilibrium, HWE)检验- **作用**: - 输出文件:`.hwe`,包含每个SNP的HWE $p$ 值。 - 识别偏离HWE的SNP(如`--hwe 1e-6`过滤异常位点),常用于质量控制[^1]。 - **检验公式**: $$ \chi^2 = \sum \frac{(O_i - E_i)^2}{E_i} $$ 其中$O_i$为观察基因型频率,$E_i$为期望频率。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生信与基因组学

每一份鼓励是我坚持下去动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值