bcftools 基础
一、软件简介
bcftools 是专用于处理VCF/BCF(变体调用格式/二进制变体格式)文件的工具集,与samtools同源。核心功能包括:
• SNP/Indel检测与过滤
• 变异位点注释与统计
• 文件格式转换(文本↔二进制)
• 多文件合并与比较
二、安装方式
- 源码安装(推荐)
wget http://www.htslib.org/download/bcftools-X.X.tar.bz2 # 替换X.X为版本号
tar -jxvf bcftools-X.X.tar.bz2
cd bcftools-X.X
./configure
make
sudo make install
- 包管理器安装(Ubuntu)
sudo apt-get install bcftools
三、核心命令与参数
- 基础操作
• 查看文件头信息
bcftools view -h input.vcf
• 提取特定变异类型
bcftools view -v snps input.vcf > snps.vcf # 提取SNP
bcftools view -v indels input.vcf > indels.vcf
- 过滤操作
• 按QUAL值过滤
bcftools filter -i '%QUAL>20' input.vcf > filtered.vcf
• 按深度/缺失率过滤
bcftools filter -e 'INFO/DP<10 || INFO/MissingRate>0.2' input.vcf
#### 3. 统计与注释
- **生成统计报告**
```bash
bcftools stats input.vcf > stats.txt
- dbSNP注释
bcftools annotate -a dbsnp.vcf -c ID input.vcf > annotated.vcf
4. 高级功能
- 合并多个VCF
bcftools merge file1.vcf file2.vcf > merged.vcf - 生成等位基因频率
bcftools query -f '%CHROM\t%POS\t%AF\n' input.vcf
四、常用参数速查
| 参数 | 功能描述 | 示例 |
|---|---|---|
-i/-e |
包含/排除满足条件的记录 | -i 'DP>10' |
-r chr:start-end |
指定染色体区域 | -r chr1:1000-2000 |
-s sample |
筛选特定样本 | -s sample1,sample2 |
-Oz |
输出gzip压缩文件 | -Oz -o output.vcf.gz |
--threads |
多线程加速 | --threads 8 |
五、典型应用场景
- GWAS数据清洗
组合使用filter与annotate命令过滤低质量位点并添加功能注释 - 群体遗传分析
通过stats生成群体SNP频谱、Tajima's D等指标 - 临床变异筛选
利用query提取特定基因区域的致病突变
六、常见问题
- 文件格式兼容性
处理大文件时建议使用BCF格式(二进制),可节省50%存储空间 - 性能优化
启用多线程(--threads)可提升处理速度,尤其在合并/排序操作时 - 与其他工具联动
常与vcftools互补使用:bcftools侧重基础操作,vcftools擅长复杂统计
完整参数手册,可访问htslib官方文档。

浙公网安备 33010602011771号