Beagle是一种基于连锁不平衡(LD)和隐马尔可夫模型(HMM)的基因型填补算法。利用参考群体中单倍型之间的相似性与连锁不平衡模式,将目标个体的未分型位点看作“缺失状态”,通过构建HMM搜索与目标个体局部单倍型最匹配的参考单倍型片段,用匹配到的参考单倍型上对应位置的等位基因来填补缺失位点。
参考:华中农业大学硕士毕业论文《基于 GWAS 的东宝黑头羊产羔性状和生长性状相关基因筛选》中基因型填补的步骤

参考代码

参考上述的代码,先利用高深度的数据生成参考面板,再进行填补
注:高深度和低深度要用统一参数进行过滤,必须要分染色体进行填补,不然内存报错!
#以一条染色体为例
java -Xmx48g -jar /root/miniconda3/pkgs/beagle-5.5_27Feb25.75f-hdfd78af_0/share/beagle-5.5_27Feb25.75f-0/beagle.jar \
gt=142samples_Chr2_snps_bcffiltered.vcf.gz \
ref=/home/147_Tg_reseq/ref_by_chr/16samples_chr2_ref_panel_log.vcf.gz \
out=chr2_142samples_imputed \
nthreads=10
#建立索引后进行过滤
bcftools filter -i 'INFO/DR2>0.3 && MAF>0.05' \
chr2_142samples_imputed.vcf.gz \
-Oz -o chr2_142samples_imputed_final.vcf.gz
#合并11条染色体的vcf文件,则得到最终的变异文件