bcftools 基础

一、软件简介
bcftools 是专用于处理VCF/BCF(变体调用格式/二进制变体格式)文件的工具集,与samtools同源。核心功能包括:
• SNP/Indel检测与过滤

• 变异位点注释与统计

• 文件格式转换(文本↔二进制)

• 多文件合并与比较


二、安装方式

  1. 源码安装(推荐)
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
  1. 包管理器安装(Ubuntu)
sudo apt-get install bcftools

三、核心命令与参数

  1. 基础操作
    • 查看文件头信息
bcftools view -h input.vcf

• 提取特定变异类型

bcftools view -v snps input.vcf > snps.vcf  # 提取SNP
bcftools view -v indels input.vcf > indels.vcf
  1. 过滤操作
    • 按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

五、典型应用场景

  1. GWAS数据清洗
    组合使用filterannotate命令过滤低质量位点并添加功能注释
  2. 群体遗传分析
    通过stats生成群体SNP频谱、Tajima's D等指标
  3. 临床变异筛选
    利用query提取特定基因区域的致病突变

六、常见问题

  1. 文件格式兼容性
    处理大文件时建议使用BCF格式(二进制),可节省50%存储空间
  2. 性能优化
    启用多线程(--threads)可提升处理速度,尤其在合并/排序操作时
  3. 与其他工具联动
    常与vcftools互补使用:bcftools侧重基础操作,vcftools擅长复杂统计

完整参数手册,可访问htslib官方文档

posted @ 2025-04-22 18:53  Kevinarcsin001  阅读(551)  评论(0)    收藏  举报