Download the source code here: bcftools-1.21.tar.bz2.
Changes affecting the whole of bcftools, or multiple commands:
-
Support multiple semicolon-separated strings when filtering by ID using
-i/-e
(#2190). For example,-i 'ID="rs123"'
now correctly matchesrs123;rs456
-
The filtering expression ILEN can be positive (insertion), negative (deletion), zero (balanced substitutions), or set to missing value (symbolic alleles).
-
bcftools query
-
bcftools +split-vep
- The columns indices printed by default with
-H
(e.g.,#[1]CHROM
) can be now suppressed by giving the option twice-HH
(#2152)
- The columns indices printed by default with
Changes affecting specific commands:
-
bcftools annotate
- Support dynamic variables read from a tab-delimited annotation file (#2151) For example, in the two cases below the field
STR
from the-a
file is required to match theINFO/TAG
in VCF. In the first example the allelesREF
,ALT
must match, in the second example they are ignored. The option-k
is required to output also records that were not annotated:
bcftools annotate -a ann.tsv.gz -c CHROM,POS,REF,ALT,SCORE,~STR -i'TAG={STR}' -k in.vcf bcftools annotate -a ann.tsv.gz -c CHROM,POS,-,-,SCORE,~STR -i'TAG={STR}' -k in.vcf
- When adding
Type=String
annotations from a tab-delimited file, encode characters with special meaning using percent encoding (;
,=
inINFO
and:
inFORMAT
) (#2202)
- Support dynamic variables read from a tab-delimited annotation file (#2151) For example, in the two cases below the field
-
bcftools consensus
-
Allow to apply a reference allele which overlaps a previous deletion, there is no need to complain about overlapping alleles in such case
-
Fix a bug which required
-s -
to be present even when there were no samples in the VCF (#2260)
-
-
bcftools csq
- Fix a rare bug where indel combined with a substitution ending at exon boundary is incorrectly predicted to have 'inframe' rather than 'frameshift' consequence (#2212)
-
bcftools gtcheck
-
Fix a segfault with
--no-HWE-prob
. The bug was introduced with the output format change in 1.19 which replaced theDC
section withDCv2
(#2180) -
The number of matching genotypes in the
DCv2
output was not calculated correctly with non-zero-E, --error-probability
. Consequently, also the average HWE score was incorrect. The main output, the discordance score, was not affected by the bug
-
-
bcftools +mendelian2
-
Include the number of good cases where at least one of the trio genotypes has an alternate allele (#2204)
-
Fix the error message which would report the wrong sample when non-existent sample is given. Note that bug only affected the error message, the program otherwise assigns the family members correctly (#2242)
-
-
bcftools merge
- Fix a severe bug in merging of
FORMAT
fields withNumber=R
andNumber=A
values. For example, rows with high-coverageFORMAT/AD
values (bigger or equal to 128) could have been assigned to incorrect samples. The bug was introduced in version 1.19. For details see #2244.
- Fix a severe bug in merging of
-
bcftools mpileup
-
Return non-zero error code when the input BAM/CRAM file is truncated (#2177)
-
Add
FORMAT/AD
annotation by default, disable with-a -AD
-
-
bcftools norm
-
Support realignment of symbolic
<DUP.*>
alleles, similarly to<DEL.*>
added previously (#1919,#2145) -
Fix in reporting reference allele genotypes with
--multi-overlaps .
(#2160) -
Support of duplicate removal of symbolic alleles of the same type but different
SVLEN
(#2182) -
New
-S, --sort
switch to optionally sort output records by allele (#1484) -
Add the
-i/-e
filtering options to select records for normalization. Note duplicate removal ignores this option. -
Fix a bug where
--atomize
would not fillGT
alleles for atomized SNVs followed by an indel (#2239)
-
-
bcftools +remove-overlaps
- Revamp the program to allow greater flexibility, with the following new options:
-M, --mark-tag TAG Mark -m sites with INFO/TAG
-m, --mark EXPR Mark (if also -M is present) or remove sites [overlap]
dup .. all overlapping sites
overlap .. overlapping sites
min(QUAL) .. mark sites with lowest QUAL until overlaps are resolved
--missing EXPR Value to use for missing tags with -m 'min(QUAL)'
0 .. the default
DP .. heuristics, scale maximum QUAL value proportionally to INFO/DP
--reverse Apply the reverse logic, for example preserve duplicates instead of removing
-O, --output-type t t: plain list of sites (chr,pos), tz: compressed list
-
bcftools +tag2tag
-
The conversions
--LXX-to-XX
,--XX-to-LXX
were working but specific cases such as--LAD-to-AD
were not. -
Print more informative error message when source tag type violiates VCF specification
-
-
bcftools +trio-dnm2
- Better handling of the
--strictly-novel
functionality, especically with respect to chrX inheritance
- Better handling of the
Download the source code here: bcftools-1.21.tar.bz2.(The "Source code" downloads are generated by GitHub and are incomplete as they don't bundle HTSlib and are missing some generated files.)