You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VCF文件中筛选保留相同ID条目里等位基因频率(AF)最高的记录

解决方法

可以用bcftools结合plink高效完成需求,步骤如下:

1. 按ID去重,保留AF最高的记录

先对VCF按ID分组、组内按AF降序排序,确保每个ID的最高AF记录排在组首;再通过去重保留每个ID的第一条记录:

# 1. 按ID升序、AF降序排序,生成排序后的压缩VCF
bcftools sort -k ID,AF,desc gnomad.genomes.v3.1.2.hgdp_tgp.chr6.vcf.bgz -Oz -o sorted.vcf.gz

# 2. 仅保留每个ID对应的第一条记录(即AF最高的条目)
bcftools view --unique ID sorted.vcf.gz -Oz -o filtered.vcf.gz

命令说明:

  • bcftools sort -k ID,AF,desc:先按ID分组,同一ID内按AF从高到低排序,确保高AF记录优先
  • --unique ID:自动过滤重复ID的后续条目,只保留组内第一条记录

用plink将过滤后的VCF转成标准bed/bim/fam文件:

plink --vcf filtered.vcf.gz --make-bed --out output_plink

注意事项:

  • 确保VCF的INFO字段中AF为单个数值(你的示例已满足,因为是拆分后的双等位基因记录)
  • bcftools支持流式处理大文件,无需全量加载内存,适合处理大型VCF数据集

内容的提问来源于stack exchange,提问作者pooch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 00:17:11