1 背景
进行群体遗传结构分析时,如果位点之间有强连锁的关系则会影响分析的结果,因此需要过滤掉互相之间连锁不平衡的SNP。
2 具体步骤
(1)软件安装
# 下载PopLDdecay
wget https://github.com/hewm2008/PopLDdecay/archive/v3.43.tar.gz
mv v3.43.tar.gz PopLDdecay-3.43.tar.gz
tar -xzvf PopLDdecay-3.43.tar.gz
cd PopLDdecay-3.43/
chmod +x configure
./configure
make
mv PopLDdecay bin/
# 测试是否安装成功
(base) [root@3eb13a5fb4e6 PopLDdecay-3.43]$./bin/PopLDdecay
# 下载plink
# 下载软件包并解压
wget https://s3.amazonaws.com/plink1-assets/plink_linux_x86_64_20250819.zip
unzip plink_linux_x86_64_20250819.zip
# 版本
./plink
PLINK v1.9.0-b.7.11 64-bit (19 Aug 2025) cog-genomics.org/plink/1.9/(2)先使用 PopLDdecay(v. 3.40)进行连锁不平衡(linkage disequilibrium,LD)情况分析,确定过滤参数以及计算遗传多样性参数的滑窗大小
- – make-bed 生成压缩的二进制bed文件,也可以不加
- 查看剩余位点:less -S all.vcf | grep -v “#” | wc -l
- LD 参数一般是 50 10 0.2
- LD不能重复运行,因为会以50个SNP为窗口
# 教程:https://zhuanlan.zhihu.com/p/431182680 https://zhuanlan.zhihu.com/p/109164405
# 按照单个群体来计算
/home/software/PopLDdecay-3.43/bin/PopLDdecay -InVCF ../8all_snp_gap5_filter_DP5_GQ20_missing_maf.recode.vcf.gz -OutStat 8all_LDdecay
# 利用perl脚本生成R脚本,下载到本地,绘图
perl /home/software/PopLDdecay-3.43/bin/Plot_OnePop.pl -inFile 8all_LDdecay.stat.gz -output 8all_LDdecay_plot(3)利用plink进行LD过滤
# 生成需要保留的位点文件 tmp.ld.prune.in
plink --vcf file.vcf --indep-pairwise 50 10 0.2 --out tmp.ld --allow-extra-chr --set-missing-var-ids @:#
# 对vcf文件进行过滤生成过虑后的vcf文件
plink --vcf file.vcf -- make-bed --extract tmp.ld.prune.in --out all.LDfilter --recode vcf-iid --keep-allele-order --allow-extra-chr --set-missing-var-ids @:#
# 100 25 0.1 计算方法:
## PopLDdecay 的 LD 衰减曲线(横轴=物理距离,纵轴=平均 r²)中,r² 降至基线的距离是核心指标(基线通常设为 r²=0.1 或 0.2,代表“无显著 LD”),根据结果,取0.1;
## 计算数据集的变异密度=7285595/631000=11.1;窗口大小(位点数量)= D × ρ(向上取整)=11.5x10 = 115,取100
## 确定步长:步长 = 窗口大小 × 1/4 ~ 1/2=100× 1/4=25