使用vcftools计算FST

vcftools可以计算群体间固定指数(Fst), 来筛选和优先处理遗传标记(如SNP)。下面内容主要来自于 deepseek 。

理论介绍

核心方法:Weir和Cockerham的Fst算法

  • 方法来源
    由统计遗传学家Bruce Weir和Cockerham于1984年提出的经典Fst计算方法,该方法通过方差分析(ANOVA)量化群体间的遗传分化。
  • 为什么选择它:
    • 统计严谨性:考虑样本量和群体结构
    • 广泛验证:适用于多种生物(人类、动植物、微生物)

Fst(固定指数)的本质

  • 定义:衡量不同亚群间遗传变异的差异程度

    • 低Fst(0-0.05):群体间基因流强(如人类非洲群体间的变异)
    • 高Fst(>0.15):强遗传分化(如人类欧洲与东亚群体的差异)
  • 计算公式
    其中=总群体杂合度,=群体内平均杂合度

    基于 https://www.jianshu.com/p/bb0beec0ed63 ,计算 FST 只需要每个群体的基因频率就能计算(但我看不同网页的计算方法还是有区别,而且貌似这样手动计算的结果和软件结果并不一致)

    1)找出每个亚群的等位基因频率。

    2)查找复合群体的平均等位基因频率

    3)计算每个亚群的杂合度(2pq)

    4)计算这些亚群杂合度的平均值,这是HS。

    5)根据总体等位基因频率计算杂合度,这是HT。

    6)最后,计算FST =(HT-HS)/ HT

    另一个网页 https://blog.csdn.net/u014182497/article/details/52672308 ,这里计算方式与上面有区别,如下:

    • 这里.2)查找复合群体的平均等位基因频率 不是使用每个群体的等位基因型的算数平均值,而是就是用这个整个复合群体的等位基因频率(用全部样本算等位基因频率)
    • 这里4)计算这些亚群杂合度的平均值,这是HS。 不是用的算数平均值,而是加权平均值,分子为每个亚群期望杂合度乘以亚群样本数目的求和,分母为整个复合群体的样本数目。

筛选SNP的实际应用

Fst范围 遗传学意义 应用场景
0-0.05 弱分化 排除(背景噪音)
0.05-0.15 中度分化 潜在功能位点
>0.15 强分化标志 优先研究

筛选逻辑

“高Fst SNP” → 群体间显著差异 → 可能受自然选择 → 功能重要性验证

实用案例解析

假设用此方法分析非洲 vs. 欧洲人群的SNP数据

  • 发现:位于乳糖酶基因(LCT)的SNP rs4988235的Fst=0.32
  • 解读:
    • 高Fst反映欧洲人群乳糖耐受突变的选择压力
    • 优先对此SNP进行功能研究

与其他方法的比较

方法 优势 劣势
Weir-Fst 校正样本偏差 计算速度较慢
Hudson-Fst 计算效率高 忽略群体层次结构
PCA 直观可视化群体结构 难以量化具体位点分化程度

结论:Weir-Cockerham方法因其统计严谨性,成为群体遗传学分析的金标准

以下是使用 vcftools 计算 Weir-Cockerham 群体分化指数(Fst) 的完整流程,结合群体遗传学原理和实操步骤,涵盖数据准备、命令执行、结果解读及可视化方法。内容综合自权威生信教程与文献 。

实际计算

数据准备

输入文件要求

  • VCF 文件:包含所有样本的基因型数据(需经质控过滤,如 MAF > 0.05、缺失率 < 20% 等)。

  • 群体分组文件:两个文本文件(如 pop1.txt、pop2.txt),每行一个样本 ID(需与 VCF 中的样本名一致)。

    示例 pop1.txt 内容:

    1
    2
    3
    Sample1
    Sample2
    ...

Fst 计算命令

1. 单点位点 Fst 计算

逐个位点计算,每个位点的FST是无偏估计量,但受抽样误差影响大,易出现负值(理论下限为0,负值需视为0)。

1
2
3
4
vcftools --vcf filtered.vcf \
--weir-fst-pop pop1.txt \
--weir-fst-pop pop2.txt \
--out single_snp_fst
  • 输出文件:single_snp_fst.weir.fst

    • 列说明:
      CHROM | POS | WEIR_AND_COCKERHAM_FST(Fst 值)
    • 注意:单点 Fst 值波动较大,可能包含负值(理论应为 0-1),负值通常视为 0 。

2. 滑动窗口 Fst 计算(推荐)

将基因组划分为固定长度(如50 kb)或固定SNP数量(如1,000个位点)的窗口,计算窗口内所有SNP FST的加权平均值。

加权方式:

  • 等权重:直接取算术平均
  • 杂合度权重:按每个SNP的 加权,减少低多态性位点的噪声影响。
1
2
3
4
5
6
vcftools --vcf filtered.vcf \
--weir-fst-pop pop1.txt \
--weir-fst-pop pop2.txt \
--fst-window-size 100000 \ # 窗口大小(单位:bp)
--fst-window-step 50000 \ # 步长(单位:bp)
--out window_fst
  • 输出文件:window_fst.windowed.weir.fst

    • 列说明:
      CHROM | BIN_START | BIN_END | N_VARIANTS(窗口内 SNP 数) | WEIGHTED_FST(加权 Fst) | MEAN_FST(平均 Fst)
  • 参数建议:

    • 窗口大小:50kb–500kb(依基因组密度调整)
  • 步长:一般为窗口大小的 50%(如 100kb 窗口 + 50kb 步长)。

两种方式比较

特性 单点FST 滑动窗口FST
稳定性 高方差,易受测序错误或低频等位基因影响 低方差,通过平均抑制随机噪声
负值处理 常见负值(抽样偏差),需手动设为0 负值被平均抵消,极少出现
连锁不平衡(LD) 忽略LD,假设位点独立 隐含考虑LD,窗口内SNP多为连锁区域

单点FST适用场景:

  • 精细定位受选择位点(如因果突变)

  • 群体分层校正(如PCA前筛选高分化位点)。

  • 局限性
    单个SNP的FST波动大(例如中性位点偶然偏高),假阳性率高,需结合p值或经验阈值(如top 1%)筛选。

滑动窗口FST适用场景:

  • 检测受选择基因组区域(如驯化基因、环境适应区块)
  • 比较不同亚群的分化模式(如地理隔离 vs. 人工选择)。
  • 优势:
    • 增强信号连续性:自然选择常作用于基因簇(如MHC区域),窗口FST可捕获局部选择信号。
    • 支持可视化:可直接用于曼哈顿图或热图,展示全基因组分化模式。

注意事项

  1. 负值处理:Weir-Cockerham 方法可能计算负 Fst 值(因样本抽样偏差),通常取值为 0过滤负值位点

  2. 窗口选择:

    • 窗口过小 → 噪声大;窗口过大 → 掩盖局部选择信号。
  • 建议尝试不同窗口参数,结合功能注释验证候选基因 。
  1. 群体结构干扰
    若群体存在亚结构(如 PCA 显示分层),需先校正群体结构,否则 Fst 可能偏高 。
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2019-2025 Vincere Zhou
  • 访问人数: | 浏览次数:

请我喝杯茶吧~

支付宝
微信