bcftools
Quick Start
- Command:
bcftools - Local executable:
/home/vimalinx/miniforge3/envs/bio/bin/bcftools - Version: 1.22
- Full reference: See references/help.md for complete help text and subcommand details
When To Use This Tool
- Inspect, filter, normalize, query, call, and summarize VCF/BCF files.
- Default companion tool for modern variant workflows.
- Use it after alignment/variant calling and before downstream annotation or cohort comparison.
- Prefer subcommand-oriented use such as
view,norm,query,stats,call, ormpileup.
Common Patterns
# 1) Subset and view a compressed VCF
bcftools view -r chr1:100000-110000 cohort.vcf.gz
# 2) Normalize variants against a reference
bcftools norm -f reference.fa -Oz -o cohort.norm.vcf.gz cohort.vcf.gz
bcftools index cohort.norm.vcf.gz
# 3) Extract tabular fields
bcftools query -f '%CHROM\t%POS\t%REF\t%ALT[\t%GT]\n' cohort.vcf.gz
# 4) Produce summary statistics
bcftools stats cohort.vcf.gz > cohort.stats.txt
Recommended Workflow
- Keep VCF/BCF indexed whenever possible.
- Use
vieworfilterto subset before heavier operations. - Normalize indels with
normbefore comparing or merging callsets. - Use
queryandstatsfor reporting instead of ad hoc parsing when possible.
Guardrails
- Indexed VCF/BCF works in all situations; streams and unindexed files do not.
bcftools normneeds the correct reference FASTA to do honest left-alignment and normalization.- Use
plugin -lvbefore reinventing functionality that already exists in a plugin. - Be explicit about compressed output with
-Ozor BCF output with-Obwhen building pipelines.