一、基本使用场景
1. 单倍型推断(Phasing)
将未分型的基因型数据(如 VCF/BCF 文件)推断为单倍型。
java -jar beagle.jar \
gt=input.vcf.gz \ # 输入基因型数据(需bgzip压缩)
out=phased_output # 输出文件前缀(自动生成 .vcf.gz 和 .log)
2. 基因型填充(Imputation)
使用参考面板填充目标数据中的缺失基因型。
java -jar beagle.jar \
gt=target.vcf.gz \ # 待填充的目标数据
ref=reference.vcf.gz \ # 参考面板(如千人基因组)
out=imputed_output # 输出文件名前缀
二、核心参数说明
参数 | 作用 | 示例值 |
---|---|---|
gt |
输入基因型数据(VCF/BCF) | gt=data.vcf.gz |
ref |
参考面板文件(用于填充) | ref=1kgp.vcf.gz |
out |
输出文件前缀 | out=result |
nthreads |
使用的CPU线程数 | nthreads=4 |
window |
分析窗口大小(cM) | window=40 |
impute |
强制填充缺失基因型 | impute=true |
Xmx |
Java堆内存分配 | java -Xmx8g -jar beagle.jar ... |
三、进阶使用示例
1. 使用参考面板和外部遗传图谱
java -jar beagle.jar \
gt=target.vcf.gz \
ref=reference.vcf.gz \
map=genetic_map.b37.txt \ # 遗传图谱文件(染色体位置→cM)
out=imputed_with_map
2. 多线程加速(推荐用于大型数据)
java -Xmx16g -jar beagle.jar \ # 分配 16GB 内存
gt=large_data.vcf.gz \
nthreads=8 \ # 使用8个CPU线程
out=fast_phasing
四、输入文件准备
-
VCF文件压缩和索引:
bgzip input.vcf # 压缩为 .vcf.gz tabix -p vcf input.vcf.gz # 生成索引文件 .tbi
-
参考面板下载:
• 千人基因组计划参考面板(1KGP):wget ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/release/20130502/
五、输出文件说明
• phased_output.vcf.gz
:分型/填充后的结果(bgzip压缩)。
• phased_output.log
:运行日志(检查错误和耗时)。
• phased_output.phased.vcf.gz
(旧版本可能生成此文件)。
六、常见问题
1. 内存不足(OutOfMemoryError)
增加Java堆内存(如分配32GB):
java -Xmx32g -jar beagle.jar ...
2. 输入文件格式错误
• 错误信息:Invalid VCF header
或 Could not read input file
• 解决:
- 用
bcftools
验证文件:bcftools view input.vcf.gz
- 确保文件用
bgzip
(而非gzip
)压缩。
3. 参考面板与目标数据不兼容
• 表现:填充后结果异常或报错。
• 解决:确保参考面板和目标数据的基因组版本一致(如 hg19 vs. hg38)。
七、参考资源
• 官方文档:http://faculty.washington.edu/browning/beagle/beagle_5.4_08Jul22.pdf
• 示例数据集:https://github.com/chrchang/beagle-examples