常用功能
- 修改染色体名称
- 移除VCF的注释信息
- 添加注释信息
—rename-chrs
bcftools annotate --rename-chrs chr.map test.vcf
# chr.map
1 chr1
2 chr2
...
-x, —remove
# 把ID和FILTER列设为.
bcftools annotate -x ID,FILTER test.vcf
# 移除INFO列的DP字段
bcftools annotate -x INFO/DP test.vcf
# 移除FORMAT列的PL字段
bcftools annotate -x FORMAT/PL test.vcf
# 移除INFO列除了DP的其他字段
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
# 注释指定字段
## INFO/TAG可以写TAG
## FORMAT/TAG可以写FMT/TAG
bcftools annotate -a dbsnp.vcf.gz -c ID test.vcf.gz
bcftools annotate -a 1000g.vcf.gz -c AF test.vcf.gz
bcftools annotate -a 1000g.vcf.gz -c INFO/AF test.vcf.gz
# 使用INFO列的所有字段
bcftools annotate -a 1000g.vcf.gz -c INFO test.vcf.gz
# 使用INFO列除了指定TAG的所有字段
bcftools annotate -a 1000g.vcf.gz -c ^INFO/TAG test.vcf.gz
# 重命名注释
bcftools annotate -a 1000g.vcf.gz -c 1000G_AF:=AF test.vcf.gz
bcftools annotate -a 1000g.vcf.gz -c FMT/AD:=FMT/DV test.vcf.gz
# 默认会覆盖注释,如果想不覆盖,可以使用+TAG
bcftools annotate -a 1000g.vcf.gz -c +AF test.vcf.gz
# 对匹配上的行添加mark
bcftools annotate -a 1000g.vcf.gz -c AF -m NewAF test.vcf.gz
# 对没有匹配上的行添加mark
bcftools annotate -a 1000g.vcf.gz -c AF -m -NoAF test.vcf.gz
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
bcftools annotate --set-id '%CHROM\_%POS\_%REF\_%ALT' test.vcf.gz
bcftools annotate --set-id '%CHROM\_%POS\_%REF\_%FIRST_ALT' test.vcf.gz
# 同样,使用+可以跳过ID不为.的行
bcftools annotate --set-id +'%CHROM\_%POS\_%REF\_%FIRST_ALT' test.vcf.gz