http://samtools.github.io/bcftools/bcftools.html

常用功能

  1. 修改染色体名称
  2. 移除VCF的注释信息
  3. 添加注释信息

—rename-chrs

  1. bcftools annotate --rename-chrs chr.map test.vcf
  2. # chr.map
  3. 1 chr1
  4. 2 chr2
  5. ...

-x, —remove

  1. # 把ID和FILTER列设为.
  2. bcftools annotate -x ID,FILTER test.vcf
  3. # 移除INFO列的DP字段
  4. bcftools annotate -x INFO/DP test.vcf
  5. # 移除FORMAT列的PL字段
  6. bcftools annotate -x FORMAT/PL test.vcf
  7. # 移除INFO列除了DP的其他字段
  8. bcftools annotate -x ^INFO/DP test.vcf

-a, —annotations

VCF file or tabix-indexed file with annotations: CHR\tPOS[\tVALUE]+

  • -c 指定使用注释文件中的哪些列
  • -m 添加一个mark tag

annotate with a vcf file

  1. # 注释指定字段
  2. ## INFO/TAG可以写TAG
  3. ## FORMAT/TAG可以写FMT/TAG
  4. bcftools annotate -a dbsnp.vcf.gz -c ID test.vcf.gz
  5. bcftools annotate -a 1000g.vcf.gz -c AF test.vcf.gz
  6. bcftools annotate -a 1000g.vcf.gz -c INFO/AF test.vcf.gz
  7. # 使用INFO列的所有字段
  8. bcftools annotate -a 1000g.vcf.gz -c INFO test.vcf.gz
  9. # 使用INFO列除了指定TAG的所有字段
  10. bcftools annotate -a 1000g.vcf.gz -c ^INFO/TAG test.vcf.gz
  11. # 重命名注释
  12. bcftools annotate -a 1000g.vcf.gz -c 1000G_AF:=AF test.vcf.gz
  13. bcftools annotate -a 1000g.vcf.gz -c FMT/AD:=FMT/DV test.vcf.gz
  14. # 默认会覆盖注释,如果想不覆盖,可以使用+TAG
  15. bcftools annotate -a 1000g.vcf.gz -c +AF test.vcf.gz
  16. # 对匹配上的行添加mark
  17. bcftools annotate -a 1000g.vcf.gz -c AF -m NewAF test.vcf.gz
  18. # 对没有匹配上的行添加mark
  19. bcftools annotate -a 1000g.vcf.gz -c AF -m -NoAF test.vcf.gz
  20. bcftools annotate -a 1000g.vcf.gz -c 1000G_AF:=AF -m -1000G_AF=. test.vcf.gz

annotate with a tab-indexed file

—set-id

设置ID列,格式类似bcftools query

  1. bcftools annotate --set-id '%CHROM\_%POS\_%REF\_%ALT' test.vcf.gz
  2. bcftools annotate --set-id '%CHROM\_%POS\_%REF\_%FIRST_ALT' test.vcf.gz
  3. # 同样,使用+可以跳过ID不为.的行
  4. bcftools annotate --set-id +'%CHROM\_%POS\_%REF\_%FIRST_ALT' test.vcf.gz