XP-EHH (Cross-population Extended Haplotype Homozygosity) 软件的原理基于遗传连锁不平衡(LD)的概念。当一段基因组区域上发生了自然选择,选择导致了某些特定等位基因的频率在群体中显著增加,这些等位基因会与周围的基因连锁在一起,形成长的单倍型(haplotype)。在受到选择压力的区域,这些单倍型会在群体中迅速扩散,导致其延伸的距离比非选择区域长。
XP-EHH 方法通过比较两个群体之间的延伸单倍型频率差异来检测选择信号。首先,对于每个群体,软件计算每个基因位点上的单倍型延伸性(extended haplotype homozygosity,EHH)。然后,计算交叉种族延伸随机游走(cross-population extended haplotype homozygosity,XP-EHH),即两个群体之间每个基因位点的EHH比率。如果在一个群体中的某个基因位点上的单倍型在另一个群体中延伸得更远,说明该基因位点可能受到了选择压力。
计算 XP-EHH 使用的软件为 selscan,这个软件可以计算 iHS、EHH、XP-EHH、iHH12、nSL、XP-nSL。
内容可以参考我之前写的一篇文:基于重测序数据计算 iHS 选择信号
我们直接从准备文件开始介绍:
selscan --xpehh --hap <pop1 haplotypes> --ref <pop2 haplotypes> --map <mapfile> --out <outfile>
和 iHS 不同,XP-EHH 需要两个群体的数据。
1.1 VCF 文件预处理
内容参考 基于重测序数据计算 iHS 选择信号 ,只是需要对两个群体分别进行处理。
1.2 Beagle 软件进行 phasing
仍是和之前相同的处理方式。
1.3 遗传图谱
仍是和之前相同的处理方式。
2. 计算 XP-EHH
基于的原理相似,需要的文件类型也相同,在准备好输入文件后,开始计算:
selscan --xpehh --vcf chr01_phased.vcf.gz --vcf-ref another_chr01.phased.vcf.gz --map chr01.map.out --out chr01
除了额外准备一个群体的 phasing VCF 文件,其余准备工作都相同,计算也比较简单。
其它可选参数:
输入文件
--vcf 和 --vcf-ref:
指定变异数据文件(VCF 格式)和参考群体数据文件。
注意,若使用--vcf,需同时提供--map文件。
--hap和--ref:
指定查询和参考群体的单倍型文件(HAP 格式)。
若数据为未相位,则应使用--unphased标志。
遗传图谱
--map:
格式:<chr#> <locusID> <genetic pos> <physical pos>。
遗传图谱是 XP-EHH 计算的重要基础,需确保与 VCF 或 HAP 文件匹配。
--pmap:若遗传图谱不可用,可以启用--pmap使用物理位置替代。默认值:false。
其它
--threads:控制计算线程数以提高速度。
--max-extend:控制 EHH 曲线的最大延伸距离(bp)。默认值:1000000。
--ehh-win:设置计算 EHH 的窗口大小(bp)。默认值:100000。
--max-gap:两个变异位点之间允许的最大间距(bp)。默认值:200000。
--pi和--pi-win:计算滑动窗口内的平均序列差异(π值)。默认值:未启用,窗口大小为100bp。
--maf:核心 SNP 的最小次要等位基因频率。默认值:0.05。
--keep-low-freq和--skip-low-freq:是否包括低频变异构建单倍型。默认值:排除低频变异。
3. 结果解读
<locusID > <physicalPos > <geneticPos > <popA ’1’ freq > <ihhA > <popB ’1’ freq > <ihhB > < unstandardized XPEHH >
文件共有 8 列数据,分别是以上内容。
欢迎评论交流,批评指正!
