选择清除分析之XP-EHH

在群体遗传学中,选择清除、连锁不平衡和单倍型是三个紧密关联的核心概念,它们共同帮助我们理解自然选择如何在基因组上留下印记。今天先来说说选择清除分析。 一、 核心概念解析 选择清除:...

在群体遗传学中,选择清除、连锁不平衡和单倍型是三个紧密关联的核心概念,它们共同帮助我们理解自然选择如何在基因组上留下印记。今天先来说说选择清除分析。

一、 核心概念解析

选择清除:是指由于强烈的正选择,使得一个有益突变及其连锁的基因组区域在群体中的遗传多样性显著降低甚至完全消失的现象。就像扫帚扫过一样,清除了该区域的变异。

连锁不平衡:是指不同基因组位点上的等位基因并非独立遗传,而是倾向于共同遗传的现象。当一个有益突变受到正选择时,它不仅自身频率会升高,其周围紧密连锁的基因组区域也会被“搭便车”而一起被固定下来,导致这些区域内的位点间出现高度的连锁不平衡。

单倍型:是指位于一条染色体上的一组紧密连锁、共同遗传的等位基因的组合。它可以被看作是一段DNA序列的“指纹”或特定组合。

这三者之间的关系可以串联成一个完整的叙事,来描述一次选择性事件的发生及其后果:自然选择驱动 -> 选择清除产生 -> 连锁不平衡升高 -> 特定单倍型频率扩张。

二、选择清除分析

选择清除分析的核心原理是:在受选择的基因组区域,会出现有利等位基因频率快速上升、核苷酸多态性降低、连锁不平衡增加等特征。通过检测这些特征,可以识别出可能受到自然选择或人工选择的基因区域。

选择清除分析的四个主要方面:

1. 基于核苷酸多态性降低的方法

这类方法通过检测基因组区域的核苷酸多样性(π值)降低来识别选择信号。主要包括:

π值(核苷酸多样性):衡量群体内遗传多态性,受选择区域π值显著低于基因组背景值

π ratio:比较两个群体的π值比值,用于识别相对受选择区域

ROD(Reduction of Diversity):基于野生群体和栽培群体的核苷酸多样性差异

2. 基于等位基因频率改变的方法

这类方法通过检测等位基因频率的异常变化来识别选择信号:

Tajima's D:中性检验统计量,负值表明可能存在正选择

CLR(复合似然比检验):检测单个群体内的选择信号

XP-CLR(跨群体复合似然比检验):比较两个群体间的等位基因频率差异

3. 基于连锁不平衡增加的方法

这类方法通过检测单倍型纯合度的异常增加来识别选择信号:

EHH(扩展单倍型纯合度):检测单个群体内单倍型纯合度的延伸长度

iHS(整合单倍型得分):标准化后的EHH统计量

XP-EHH(跨群体扩展单倍型纯合度):比较两个群体间的单倍型纯合度差异

4. 基于群体分化的方法

这类方法通过比较不同群体间的遗传分化来识别选择信号:

Fst:群体间固定指数,值越大表示分化程度越高

dXY:群体间核苷酸差异,用于识别高分化区域

三、XP-EHH


XP-EHH(cross population extended haplotype homozygosity,)属于第三类方法——基于连锁不平衡增加的方法。它的核心思想是:当自然选择作用于某个基因区域时,该区域的单倍型会在一个群体中迅速扩散,导致其延伸长度比未受选择的区域更长。通过比较两个群体(目标群体和参考群体)在每个基因位点上的扩展单倍型同质性(EHH)差异,可以识别出受到选择的基因区域。

计算公式如下:
attachments-2026-01-uDfHZzRo6959c714ba936.png

四、Hapbin


我们可以使用Hapbin进行XP-EHH的分析,Hapbin 是一个 C++ 写的工具,可以计算 EHH、iHS 和 XP-EHH。类似工具还有selscan、rehh 等

1. 软件下载安装:

编译过程依赖 GCC 4.7 以上版本
git clone https://github.com/evotools/hapbin.git
cd hapbin/build/
cmake ../src/
make
可以运行看看是否出现帮助文档:
hapbin/build/ehhbin -h
Usage: ehhbin --map input.map --hap input.hap --locus id
-h,--helpShow this help
-v,--versionVersion information
-d,--hapHap file
-m,--mapMap file
-l,--locusLocus
-c,--cutoffEHH cutoff value (default: 0.05)
-b,--minmafMinimum allele frequency (default: 0.05)
-s,--scaleGap scale parameter in bp, used to scale gaps > scale parameter as in Voight, et al.
-e,--max-extendMaximum distance in bp to traverse when calculating EHH (default: 0 (disabled))
-a,--binomUse binomial coefficients rather than frequency squared for EHH

2. 数据准备:

需要两类输入文件:

(1)hap files (--hap): IMPUTE2 的 HAP / LEGEND / SAMPLE 格式中的 hap 文件,一行代表一个SNP,一列代表一个haplotype。如果是 vcf 格式,可以用 vcftools 转换格式:vcftools --gzvcf genotypes.vcf.gz --IMPUTE 。

(2)map files (--map): 跟 plink 的 ped/map 格式的 map 文件一样,顺序需要与 hap 文件的 SNP 顺序对应。

注意,不同染色体和不同群体的的 hap 和 map 文件需要分开。

step1:将vcf根据染色体和群体进行分离,并得到hap文件
需要准备两个txt文件,里面记录了不同群体的样本名称
按照染色体区分,会得到 Chr1.vcf和 Chr2.vcf:
cat cultivated_popid.txt  wild_popid.txt > popid.txt
for i in  Chr1 Chr2 ;do
vcftools --vcf clean.vcf --recode --recode-INFO-all --stdout  --keep popid.txt --chr ${i}  > ${i}.vcf
done
按照群体区分,会得到 *.impute.hap的文件:
for i in cultivated wild ;do 
 vcftools --vcf Chr1.vcf --recode --keep ${i}_popid.txt --out ${i}_Chr1;
 vcftools --vcf Chr2.vcf --recode --keep ${i}_popid.txt --out ${i}_Chr2;
 
 vcftools --vcf ${i}_Chr1.recode.vcf --IMPUTE --out ${i}_Chr1;
 vcftools --vcf ${i}_Chr2.recode.vcf --IMPUTE --out ${i}_Chr2;
done

step2:转化vcf为map:

# 从VCF生成map文件
for i in Chr1 Chr2 ;do 
 vcftools --vcf ${i}.vcf --plink --out ${i} ;
done
# 转换物理位置为遗传距离
for i in Chr1 Chr2 ;do 
 awk -v a=${i} '{ print a,$2,$4/1000000,$4}' ${i}.map > ${i}.genetic.map ;
 done

3. 运行命令:
# 使用:
xpehhbin --hapA [Population A .hap file]] --hapB [Population B .hap file]] --map [.map file] --out [output prefix]
# 实际运行:
xpehhbin --hapA wild_Chr1.impute.hap --hapB cultivated_Chr1.impute.hap --map Chr1.genetic.map --out result_Chr1
# 也可以写循环分染色体运行
4. 结果:
attachments-2026-01-2rO1Pc7i6959c83786906.png
References:
Colin A. Maclean, Neil P. Chue Hong, James G.D. Prendergast, hapbin: An Efficient Program for Performing Haplotype-Based Scans for Positive Selection in Large Genomic Datasets, Molecular Biology and Evolution, Volume 32, Issue 11, November 2015, Pages 3027–3029, https://doi.org/10.1093/molbev/msv172
https://github.com/evotools/hapbin
https://zhuanlan.zhihu.com/p/296684401

0 条评论

请先 登录 后评论
Ti Amo
Ti Amo

71 篇文章

作家榜 »

  1. omicsgene 745 文章
  2. 安生水 367 文章
  3. Daitoue 167 文章
  4. 生物女学霸 120 文章
  5. xun 94 文章
  6. rzx 87 文章
  7. 红橙子 81 文章
  8. CORNERSTONE 72 文章