======简介====== 定义:Dxy 是衡量两个种群间的遗传差异的绝对值。它表示的是两个种群中随机选取两个基因拷贝,它们在对应位点上的差异概率。 计算:Dxy 是通过计算两个种群在每个位点的基因型差异来得出的,通常使用以下公式: {{::企业微信截图_17356332007377.png?400|}} 其中: ( p_1(i) ) 和 ( p_2(i) ) 分别是两个种群在位点 ( i ) 上的等位基因频率。 ( L ) 是位点的总数。 本wiki使用vcf文件,使用python脚本计算两个群体之间每个位点和总的平均dxy指数。 ======功能====== 计算dxy指数 ======数据准备====== 多个样本群call或者单call后合并的vcf文件;样本的群体分组(每个群体样本越多越好)。 ======数据分析====== 1 示例路径====== /TJPROJ10/JK/liuqifei/test/dxy-index/X101SC24062493-Z01-J001 ====== 2 分析脚本 本分析以合并后的vcf文件为例进行计算。 #1.输出每个位点的等位基因频率 for i in HK JN N32 S5A;do vcftools --gzvcf snp_merged.vcf.gz --keep ${i}_sample --freq --out result/${i} done #2.使用脚本计算dxy指数 export PYTHONPATH='' while IFS=$'\t' read -r i j ;do /TJPROJ6/AFS_RESEQ/Proj/liuqifei/miniconda3/bin/python dxy2.py result/${i}.frq result/${j}.frq ${i}_${j}.xls done < group.txt 计算等位基因频率时,--keep所传入的样本为合并后的vcf文件中的样本名,按照自己所需的分组计算即可。 dxy2.py脚本第一个参数是第一个群体的等位基因频率结果,第二个参数是第二个群体的等位基因频率结果,第三个参数是输出文件的结果,输出文件会添加数字前缀,数字前缀是两个群体的平均dxy值。 ======交付结果====== 0.498_HK_JN.xls(0.498是HK群体和JN群体之间的平均Dxy值)