Skip to content

1.20

Latest
Compare
Choose a tag to compare
@daviesrob daviesrob released this 15 Apr 15:22
· 22 commits to develop since this release
1.20

Download the source code here: bcftools-1.20.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.)

Changes affecting the whole of bcftools, or multiple commands:

  • Add short option -W for --write-index. The option now accepts an optional parameter which allows to choose between TBI and CSI index format.

Changes affecting specific commands:

  • bcftools consensus

    • Add new --regions-overlap option which allows to take into account overlapping deletions that start out of the fasta file target region.
  • bcftools isec

    • Add new option -l, --file-list to read the list of file names from a file
  • bcftools merge

    • Add new option --force-single to support single-file edge case (#2100)
  • bcftools mpileup

    • Add new option --indels-cns for an alternative indel calling model, which should increase the speed on long read data (thanks to using edlib) and the precision (thanks to a number of heuristics).
  • bcftools norm

    • Change the order of atomization and multiallelic splitting (when both -a,-m are given) from "atomize first, then split" to "split first, then atomize". This usually results in a simpler VCF representation. The previous behaviour can be achieved by explicitly streaming the output of the --atomize command into the --multiallelics splitting command.

    • Fix Type=String multiallelic splitting for Number=A,R,G tags with incorrect number of values.

    • Merging into multiallelic sites with bcftools norm -m +indels did not work. This is now fixed and the merging is now more strict about variant types, for example complex events, such as AC>TGA, are not considered as indels anymore (#2084)

  • bcftools reheader

    • Allow reading the input file from a stream with --fai (#2088)
  • bcftools +setGT

    • Support for custom genotypes based on the allele with higher depth, such as --new-gt c:0/X custom genotypes (#2065)
  • bcftools +split-vep

    • When only one of the tags is present, automatically choose INFO/BCSQ (the default tag name produced by bcftools csq) or INFO/CSQ (produced by VEP). When both tags are present, use the default INFO/CSQ.

    • Transcript selection by MANE, PICK, and user-defined transcripts, for example:

      --select CANONICAL=YES
      --select MANE_SELECT!=""
      --select PolyPhen~probably_damaging

    • Select all matching transcripts via --select, not just one

    • Change automatic type parsing of VEP fields DNA_position, CDS_position, and Protein_position from Integer to String, as it can be of the form "8586-8599/9231". The type Integer can be still enforced with
      -c cDNA_position:int,CDS_position:int,Protein_position:int.

    • Recognize -c field:str, not just -c field:string, as advertised in the usage page

    • Fix a bug which made filtering expression containing missing values crash (#2098)

  • bcftools stats

    • When GT is missing but AD is present, the program determines the alternate allele from AD. However, if the AD tag has incorrect number of values, the program would exit with an error printing "Requested allele outside valid range". This is now fixed by taking into account the actual number of ALT alleles.
  • bcftools +tag2tag

    • Support for conversion from tags using localized alleles (e.g. LPL, LAD) to the family of standard tags (PL, AD)
  • bcftools +trio-dnm2

    • Extend --strictly-novel to exclude cases where the non-Mendelian allele is the reference allele. The change is motivated by the observation that this class of variants is enriched for errors (especially for indels), and better corresponds with the option name.