I figured out how to do the annotation using BCFTools. 2 steps are needed.
Input BED file requires 1 for each region where the annotation should be set
Chr_01 1000 2000 1
Chr_05 5000 6000 1
Input header file:
##INFO=<ID=BAD_REGION,Number=0,Type=Flag,Description="My bad region for some reason">
bgzip and tabix the bed file
bgzip bad_regions.bed
tabix -p bed regions.bed.gz
First bcftools command to set the INFO field
bcftools annotate -a bad_regions.bed.gz -h bad_regions.bed.hdr -c CHROM,FROM,TO,BAD_REGION input.vcf.gz -Oz -o output_w_INFO.vcf.gz
Second bcftools command to set the FILTER based on the INFO field
bcftools filter output_w_INFO.vcf.gz -s BAD_REGION -m+ -e 'INFO/BAD_REGION=1' -Oz -o output_w_INFO_w_FILTER.vcf.gz