Tags: samtools/bcftools
Tags
bcftools release 1.24:
Changes affecting the whole of bcftools, or multiple commands:
* Calculation of MAC and MAF in `-i/-e` filtering expressions
- Minor allele count and minor allele frequency were calculated
incorrectly at multiallelic sites.
Changes affecting specific commands:
* bcftools +af-dist
- New `-s, --samples` to print per-sample HWE probability,
geometric mean
* bcftools annotate
- Fix a bug in annotation renaming via `--rename-annots` and `-c
NEW:=OLD`, where renaming INFO/TAG would simultaneously rename
also FORMAT/TAG (#2489)
- Allow annotation of Number=A,R INFO tags from tab-delimited
files when alleles are split across multiple records.
* bcftools cnv
- Fix off-by-one error in reporting HMM qualities
* bcftools convert
- Make --gvcf2vcf work around malformed gVCF records where
INFO/END overlaps the next record
* bcftools csq
- Fix a start_lost issue in haplotype mode: suppress formatting
of amino-acid changes of variants that follow on the same
haplotype, but still print DNA changes (#2543)
- Add a new -G, --greedy option which forces the program to check
intronic consequences after feature hits (#2548)
* bcftools +fill-tags
- Fix custom functions to use rounding instead of truncation when
converting to integer, so that -t 'MAC:1=float(MAF*AN)' and
-t 'MAC:1=int(MAF*AN)' return consistent values.
- Support per-population annotation for embedded functions, such
as in -t 'MAC:1=int(MAF*AN)' -S groups.txt (#2514)
* bcftools +mendelian2
- Number of fixes and improvements, including a fix in assigning
1X vs 2X inheritance rules with -p (#2545)
* bcftools merge
- Fixes in memory access with localized alleles, it could
result in printing printing trailing garbage in localized
FORMAT fields (#2520)
- Add new `-m exact` mode to merge only records with the exact
same alleles (#2498)
* bcftools mpileup
- Remove unused experimental INFO/MIN_PL_SUM annotation
- Add new FORMAT/QM annotation, to be used with the new `bcftools
+trio-dnm3 --use-ALM` model.
* bcftools norm
- Fix a bug in splitting Type=String FORMAT fields via -a and -m
(#2476)
- Fix erroneous INFO/END recalculation of symbolic alleles
(#2500).
- Added `--no-realign[=NUM]` to skip realignment during
normalization; when NUM is given, only events longer than NUM
bp are skipped. This deprecates the option `--do-not-normalize`
(equivalent to `--no-realign=0`). See also #2500.
- Convert ambiguous IUPAC bases to their lexicographically first
concrete base, as required by the VCF specification (#2551)
* bcftools +prune
- When pruning by window length in base pairs, one out-of-window
record would be incorrectly accessed. Not only this by-one
error would calculate LD in unwanted pair of records, it also
led to unexpected behavior when the first out-of-window record
would change by filtering (#2475)
* bcftools roh
- Fix off-by-one error in reporting HMM qualities
* bcftools +split-vep
- Add support for SnpEff output, add a new option --csq-field,
--consequence-field which allows to override the default
consequence field name 'Consequence' (#2566)
- Stop converting consequence severity to lower case
* bcftools stats
- Fix per-sample stats when samples provided in different order
via -s/-S (#2534)
* bcftools +tag2tag
- Make the advertised default for `-t, --threshold` match the
implementation: 0, not 0.1. Also clarify that the value is the
maximum allowed GP error (`call if GP >= 1 - FLOAT`), not a
minimum GP threshold (#2564)
* bcftools +trio-dnm3
- Add a new TrioDNM model and make it the new default. To prevent
confusion, the old +trio-dnm2 plugin was removed and replaced
with +trio-dnm3. The original +trio-dnm3 model can be run as
bcftools +trio-dnm3 --use-ALM
* bcftools view
- Fix the -v/V, --types/--exclude-types option to work with
ref and extend for all types supported by htslib:
snps,indels,mnps,ref,bnd,other,overlap (#2567)
bcftools release 1.23.1: Changes affecting the whole of bcftools, or multiple commands: * This release bundles HTSlib 1.23.1, which includes many important bug fixes. Please see htslib/NEWS for details. * Fix silent output truncation due to missing checks for read errors in the annotate, cnv, concat, convert, consensus, csq, filter, gtcheck, isec, merge, norm, query and stats commands; and all plugins. They will now print an error and return a non-zero exit code if an error is encountered when reading input data. (PR #2503)
bcftools release 1.22.1: Changes affecting the whole of bcftools, or multiple commands: * This release bundles HTSlib 1.22.2, which includes many important bug fixes. Please see htslib/NEWS for details. * Fix silent output truncation due to missing checks for read errors in the annotate, cnv, concat, convert, consensus, csq, filter, gtcheck, isec, merge, norm, query and stats commands; and all plugins. They will now print an error and return a non-zero exit code if an error is encountered when reading input data. (#2503) Changes affecting specific commands: * bcftools consensus - Fix a bug which prevented reading fasta files containing empty lines in their entirety (#2424) - Fix a bug which causes `--absent` miss some absent positions * bcftools +fill-tags - Fix header formatting error for INFO/F_MISSING which must be Number=1 (#2442) - Make `-t 'F_MISSING'` work with `-S groups.txt` (#2447) * bcftools gtcheck - Fix an error in parsing -i/-e command line options where the `qry:` and `gt:` prefix was not stripped (#2432) * bcftools +split-vep - Fix the option `-A, --all-fields`, it was not working properly and could lead to a segfault (#2473)
bcftools release 1.21.1: Changes affecting the whole of bcftools, or multiple commands: * This release bundles HTSlib 1.21.1, which includes many important bug fixes. Please see htslib/NEWS for details. * Fix silent output truncation due to missing checks for read errors in the annotate, cnv, concat, convert, consensus, csq, filter, gtcheck, isec, merge, norm, query and stats commands; and all plugins. They will now print an error and return a non-zero exit code if an error is encountered when reading input data. (#2503) Changes affecting specific commands: * bcftools annotate - Fix Number in the header definition of transferred FILTER and ID tags (#2335) * bcftools consensus - Fix a bug which prevented reading fasta files containing empty lines in their entirety (#2424) - Fix a bug which causes `--absent` miss some absent positions * bcftools +fill-tags - Fix header formatting error for INFO/F_MISSING which must be Number=1 (#2442) - Make `-t 'F_MISSING'` work with `-S groups.txt` (#2447) * bcftools gtcheck - Fix an error in parsing -i/-e command line options where the `qry:` and `gt:` prefix was not stripped (#2432) * bcftools merge - Fix a bug where an incorrectly formatted gVCF file with overlapping blocks would trigger an infinite loop in the program (#2410) * bcftools +split-vep - Fix the option `-A, --all-fields`, it was not working properly and could lead to a segfault (#2473)
bcftools release 1.23:
Changes affecting the whole of bcftools, or multiple commands:
* The `-i/-e` filtering expressions and `-f` formatting in `query`
- Add a new function `smpl_COUNT()/sCOUNT()` which returns the
number of elements (#2423)
Changes affecting specific commands:
* bcftools annotate
- Make dynamic variables read from a tab-delimited annotation
file (#2151) work also for regions. For example, while the
first command below was functional, the second was not (#2441)
bcftools annotate -a ann.tsv.gz -c CHROM,POS,-,SCORE,~STR \
-i'TAG={STR}' -k in.vcf
bcftools annotate -a ann.tsv.gz -c CHROM,BEG,END,SCORE,~STR \
-i'TAG={STR}' -k in.vcf
* bcftools consensus
- Fix a bug which prevented reading fasta files containing empty
lines in their entirety (#2424)
- Fix a bug which causes `--absent` miss some absent positions
* bcftools csq
- Add support for complex substitutions, such as AC>TAA
* bcftools +fill-tags
- Fix header formatting error for INFO/F_MISSING which must be
Number=1 (#2442)
- Make `-t 'F_MISSING'` work with `-S groups.txt` (#2447)
* bcftools gtcheck
- The program is now able to process gVCF blocks. Newly,
monoallelic sites are excluded only when the site is
monoallelic in both query and genotype file. The new option
--keep-refs allows to always include monoallelic sites.
- Fix an error in parsing -i/-e command line options where the
`qry:` and `gt:` prefix was not stripped (#2432)
* bcftools mpileup
- Make `-d, --max-depth 0` set the depth to unlimited (#2435)
* bcftools norm
- Make the -i/-e filtering option work for all options, such as
line merging and duplication removal (#2415)
* bcftools query
- Numerical functions, such as SUM(INFO/DP), would previously
return the value 0 when executed on missing values. This was
incorrect, newly a missing value is printed.
* bcftools reheader
- Add options `--samples-list` and `--samples-file` to allow
renaming samples from a list of samples on command line,
rather than from a file of sample names (#2383)
* bcftools +split-vep
- Fix the option `-A, --all-fields`, it was not working properly
and could lead to a segfault (#2473)
bcftools release 1.22: Changes affecting the whole of bcftools, or multiple commands: * Add support for matching lines by ID via the --pair-logic and --collapse options (#1739) * The -i/-e filtering expressions - The expressions now properly match the regex negation of missing values, e.g. -i 'TAG!~"\."' (#2355) - Added support for Fisher's exact test * Add the option `-v, --verbosity INT` to all bcftools commands and plugins. Verbosity values bigger than 3 are passed to the underlying HTSlib library so that the user can investigate network issues and other problems occurring at the library level. Changes affecting specific commands: * bcftools annotate - Fix Number in the header definition of transferred FILTER and ID tags (#2335) * bcftools call - The `-s, --samples` option was not working properly, now also supporting sample negation as advertised in the manual page, e.g. `-s ^sample1,sample2` to include all samples but sample1 and sample2 (#2380) * bcftools consensus - Preserve entire missing gVCF blocks with --missing (#2350) - Fixed a bug, the `-S, --samples-file` option is no longer ignored (#2398) * bcftools convert - The command `convert --gvcf2vcf` was not filling the REF allele when BCF was output (#243) * bcftools csq - Check the input GFF for features outside transcript boundaries and extend the transcript to contain the feature fully (#2323) - Add experimental support for alternative genetic code tables, accessible via a new option `-C, --genetic-code` (#2368) - Change in the `--unify-chr-names` option, no automatic sequence name modification is attempted anymore, the prefixes to trim must be given explictly. For example, if run with `--unify-chr-names chr,Chromosome,-`, the program will trim the "chr" prefix in the VCF, "Chromosome" in the GFF, leaving the fasta unchanged (#2378) * bcftools +fill-tags - Thanks to the extension of filtering expressions with Fisher's exact test, the plugin can now be used to add FT annotation (#1582) * bcftools merge - Preserve phasing in half-missing genotypes (#2331) - The option `--merge none` is expected to create no new multiallelic sites, but it should allow to merge, say, A>C with A>C,AT (#2333) - Make `--merge both` work with indel-only records; for example, the multiallelic site G>GT,T should be merged with G>GT (#2339) - Do not merge symbolic alleles unless they have not just the same type, eg. <DEL>, but also length, i.e the INFO/END coordinate (#2362) - Fix a bug where an incorrectly formatted gVCF file with overlapping blocks would trigger an infinite loop in the program (#2410) * bcftools mpileup - The -r/-R option newly merge overlapping regions, preventing the output of duplicate sites * bcftools norm - Print the number of removed duplicate sites in the final statistics (#2346) - Preserve the original alleles in `--old-rec-tag` when `--check-ref s` requested (#2357) - Print a warning when INFO/SVLEN is not defined as Number=A (#2371) * plot-vcfstats - Make the option `-s, --sample-names` functional again (#2353) * bcftools +prune - New option to remove or annotate clusters of sites within a window * bcftools query - The functions used in -i/-e filtering expressions (such as SUM, MEDIAN, etc) can be now used in formatting expressions (#2271). If the VCF contains INFO/AD and FORMAT/AD, try: bcftools query test.vcf -f '%CHROM:%POS \t [ %AD] \t [ %sSUM(FMT/AD)]' bcftools query test.vcf -f '%CHROM:%POS \t [ %AD] \t [ %SUM(FMT/AD)]' bcftools query test.vcf -f '%CHROM:%POS \t [ %AD] \t %SUM(FMT/AD)' bcftools query test.vcf -f '%CHROM:%POS \t [ %AD] \t %SUM(INFO/AD)' - Make it possible to refer to the ID column from the FORMAT expression (#2337) bcftools query test.vcf -f 'ID=%ID ID=[ %/ID] vs FMT_ID=[ %ID]' * bcftools roh - New visualization tool misc/roh-viz, see below * bcftools +setGT - Support for setting missing genotypes with arbitrary ploidy via `-n c:./.` (#2303) * bcftools +split-vep - The `-s, --select` option was extended to print only one consequence. Previously it was possible to select a single transcript (e.g., the one with the worst consequence), and it was possible to filter by consequence severity (e.g., missing or worse), but in some cases multiple consequences are reported within a single transcript (e.g., start_lost&splice_region). The extended option allows to print the worst part, for example as --select primary:missense+:worst * bcftools +trio-dnm2 - Fix a problem with --strictly-novel option which would neglect the presence of the apparent de novo allele in the father for male offspring - Fix a problem with uncalled mosaic chrX variants in males * roh-viz - HTML/JavaScript visualization of bcftools/roh output and homozygosity rate. * bcftools +vrfs - New experimental plugin for scoring variants and assess site noisiness (variant read frequency profiles) from a large number of unaffected parental samples
bcftools release 1.21: 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 matches `rs123;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) 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 the INFO/TAG in VCF. In the first example the alleles REF,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 (';', '=' in INFO and ':' in FORMAT) (#2202) * 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 the DC section with DCv2 (#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 with Number=R and Number=A values. For example, rows with high-coverage FORMAT/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. * 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 fill GT 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
PreviousNext