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

使用Shapeit5基因分型定相时遇HTSlib格式支持错误求助

解决Shapeit5读取1000GP Phase3 hap.gz文件的格式问题

核心原因

1000GP Phase3提供的hap.gz是牛津定制的hap/legend/sample文本格式,并非HTSlib支持的标准VCF/BAM等二进制格式,Shapeit5默认依赖HTSlib读取输入,因此直接调用会触发格式不支持的错误。

解决步骤

1. 将牛津hap/legend/sample格式转换为VCF格式

使用PLINK完成格式转换,命令如下:

plink --hap 1000GP_Phase3_chr22.hap.gz --legend 1000GP_Phase3_chr22.legend.gz --sample 1000GP_Phase3.sample --make-bed --out 1000GP_Phase3_chr22_temp
plink --bfile 1000GP_Phase3_chr22_temp --recode vcf-iid bgz --out 1000GP_Phase3_chr22_vcf
  • 第一行将hap/legend/sample转为PLINK二进制格式(bed/bim/fam)
  • 第二行将二进制格式转为bgzip压缩的VCF,这是HTSlib支持的标准格式

2. 对转换后的VCF建立索引

Shapeit5需要索引文件才能高效读取,用tabix命令创建:

tabix -p vcf 1000GP_Phase3_chr22_vcf.vcf.gz

3. 修改Shapeit5命令使用转换后的VCF

将原命令中指向1000GP_Phase3_chr22.hap.gz的参数替换为1000GP_Phase3_chr22_vcf.vcf.gz即可正常运行。

替代方案:使用Shapeit5专用转换工具

若已安装完整Shapeit5工具链,可直接用内置转换命令:

shapeit5 convert \
--input-haps 1000GP_Phase3_chr22.hap.gz,1000GP_Phase3_chr22.legend.gz,1000GP_Phase3.sample \
--output-vcf 1000GP_Phase3_chr22_vcf.vcf.gz

转换后同样需要用tabix建立索引。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 09:52:00