|
| 1 | +## Release 1.21 (12th September 2024) |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | +Changes affecting the whole of bcftools, or multiple commands: |
| 6 | + |
| 7 | +* Support multiple semicolon-separated strings when filtering by ID using -i/-e (#2190). |
| 8 | + For example, `-i 'ID="rs123"'` now correctly matches `rs123;rs456` |
| 9 | + |
| 10 | +* The filtering expression ILEN can be positive (insertion), negative (deletion), zero |
| 11 | + (balanced substitutions), or set to missing value (symbolic alleles). |
| 12 | + |
| 13 | +* bcftools query |
| 14 | +* bcftools +split-vep |
| 15 | + |
| 16 | + - The columns indices printed by default with `-H` (e.g., "#[1]CHROM") can be now |
| 17 | + suppressed by giving the option twice `-HH` (#2152) |
| 18 | + |
| 19 | + |
| 20 | +Changes affecting specific commands: |
| 21 | + |
| 22 | +* bcftools annotate |
| 23 | + |
| 24 | + - Support dynamic variables read from a tab-delimited annotation file (#2151) |
| 25 | + For example, in the two cases below the field 'STR' from the -a file is required to match |
| 26 | + the INFO/TAG in VCF. In the first example the alleles REF,ALT must match, in the second |
| 27 | + example they are ignored. The option -k is required to output also records that were not |
| 28 | + annotated: |
| 29 | + |
| 30 | + bcftools annotate -a ann.tsv.gz -c CHROM,POS,REF,ALT,SCORE,~STR -i'TAG={STR}' -k in.vcf |
| 31 | + bcftools annotate -a ann.tsv.gz -c CHROM,POS,-,-,SCORE,~STR -i'TAG={STR}' -k in.vcf |
| 32 | + |
| 33 | + - When adding Type=String annotations from a tab-delimited file, encode characters with |
| 34 | + special meaning using percent encoding (';', '=' in INFO and ':' in FORMAT) (#2202) |
| 35 | + |
| 36 | +* bcftools consensus |
| 37 | + |
| 38 | + - Allow to apply a reference allele which overlaps a previous deletion, there is no |
| 39 | + need to complain about overlapping alleles in such case |
| 40 | + |
| 41 | + - Fix a bug which required `-s -` to be present even when there were no samples in the VCF |
| 42 | + (#2260) |
| 43 | + |
| 44 | +* bcftools csq |
| 45 | + |
| 46 | + - Fix a rare bug where indel combined with a substitution ending at exon boundary is |
| 47 | + incorrectly predicted to have 'inframe' rather than 'frameshift' consequence (#2212) |
| 48 | + |
| 49 | +* bcftools gtcheck |
| 50 | + |
| 51 | + - Fix a segfault with --no-HWE-prob. The bug was introduced with the output format change in |
| 52 | + 1.19 which replaced the DC section with DCv2 (#2180) |
| 53 | + |
| 54 | + - The number of matching genotypes in the DCv2 output was not calculated correctly with |
| 55 | + non-zero `-E, --error-probability`. Consequently, also the average HWE score was incorrect. |
| 56 | + The main output, the discordance score, was not affected by the bug |
| 57 | + |
| 58 | +* bcftools +mendelian2 |
| 59 | + |
| 60 | + - Include the number of good cases where at least one of the trio genotypes has an alternate |
| 61 | + allele (#2204) |
| 62 | + |
| 63 | + - Fix the error message which would report the wrong sample when non-existent sample is given. |
| 64 | + Note that bug only affected the error message, the program otherwise assigns the family |
| 65 | + members correctly (#2242) |
| 66 | + |
| 67 | +* bcftools merge |
| 68 | + |
| 69 | + - Fix a severe bug in merging of FORMAT fields with Number=R and Number=A values. For example, |
| 70 | + rows with high-coverage FORMAT/AD values (bigger or equal to 128) could have been assigned |
| 71 | + to incorrect samples. The bug was introduced in version 1.19. For details see #2244. |
| 72 | + |
| 73 | +* bcftools mpileup |
| 74 | + |
| 75 | + - Return non-zero error code when the input BAM/CRAM file is truncated (#2177) |
| 76 | + |
| 77 | + - Add FORMAT/AD annotation by default, disable with `-a -AD` |
| 78 | + |
| 79 | +* bcftools norm |
| 80 | + |
| 81 | + - Support realignment of symbolic <DUP.*> alleles, similarly to <DEL.*> added previously |
| 82 | + (#1919,#2145) |
| 83 | + |
| 84 | + - Fix in reporting reference allele genotypes with `--multi-overlaps .` (#2160) |
| 85 | + |
| 86 | + - Support of duplicate removal of symbolic alleles of the same type but different SVLEN (#2182) |
| 87 | + |
| 88 | + - New `-S, --sort` switch to optionally sort output records by allele (#1484) |
| 89 | + |
| 90 | + - Add the `-i/-e` filtering options to select records for normalization. Note duplicate |
| 91 | + removal ignores this option. |
| 92 | + |
| 93 | + - Fix a bug where `--atomize` would not fill GT alleles for atomized SNVs followed by |
| 94 | + an indel (#2239) |
| 95 | + |
| 96 | +* bcftools +remove-overlaps |
| 97 | + |
| 98 | + - Revamp the program to allow greater flexibility, with the following new options: |
| 99 | + |
| 100 | + -M, --mark-tag TAG Mark -m sites with INFO/TAG |
| 101 | + -m, --mark EXPR Mark (if also -M is present) or remove sites [overlap] |
| 102 | + dup .. all overlapping sites |
| 103 | + overlap .. overlapping sites |
| 104 | + min(QUAL) .. mark sites with lowest QUAL until overlaps are resolved |
| 105 | + --missing EXPR Value to use for missing tags with -m 'min(QUAL)' |
| 106 | + 0 .. the default |
| 107 | + DP .. heuristics, scale maximum QUAL value proportionally to INFO/DP |
| 108 | + --reverse Apply the reverse logic, for example preserve duplicates instead of removing |
| 109 | + -O, --output-type t t: plain list of sites (chr,pos), tz: compressed list |
| 110 | + |
| 111 | +* bcftools +tag2tag |
| 112 | + |
| 113 | + - The conversions --LXX-to-XX, --XX-to-LXX were working but specific cases such as --LAD-to-AD were not. |
| 114 | + |
| 115 | + - Print more informative error message when source tag type violiates VCF specification |
| 116 | + |
| 117 | +* bcftools +trio-dnm2 |
| 118 | + |
| 119 | + - Better handling of the --strictly-novel functionality, especically with respect to chrX inheritance |
| 120 | + |
| 121 | + |
1 | 122 | ## Release 1.20 (15th April 2024) |
2 | 123 |
|
3 | 124 |
|
@@ -716,7 +837,7 @@ Changes affecting specific commands: |
716 | 837 | annotating from a tab-delimited text file, this feature can be invoked |
717 | 838 | by using `-c INFO/END`. |
718 | 839 |
|
719 | | - - add a new '.' modifier to control wheter missing values should be carried |
| 840 | + - add a new '.' modifier to control whether missing values should be carried |
720 | 841 | over from a tab-delimited file or not. For example: |
721 | 842 |
|
722 | 843 | -c TAG .. adds TAG if the source value is not missing. If TAG |
@@ -1068,7 +1189,7 @@ Changes affecting specific commands: |
1068 | 1189 |
|
1069 | 1190 | * bcftools csq: |
1070 | 1191 |
|
1071 | | - - Fix a bug wich caused incorrect FORMAT/BCSQ formatting at sites with too |
| 1192 | + - Fix a bug which caused incorrect FORMAT/BCSQ formatting at sites with too |
1072 | 1193 | many per-sample consequences |
1073 | 1194 |
|
1074 | 1195 | - Fix a bug which incorrectly handled the --ncsq parameter and could clash |
@@ -1785,7 +1906,7 @@ Updates, improvements and bugfixes for many other commands: |
1785 | 1906 |
|
1786 | 1907 | * `roh`: Now possible to process multiple samples at once. This allows |
1787 | 1908 | considerable speedups for files with thousands of samples where the cost of |
1788 | | - HMM is neglibible compared to I/O and decompressing. In order to fit tens of |
| 1909 | + HMM is negligible compared to I/O and decompressing. In order to fit tens of |
1789 | 1910 | thousands samples in memory, a sliding HMM can be used (new `--buffer-size` |
1790 | 1911 | option). Viterbi training now uses Baum-Welch algorithm, and works much |
1791 | 1912 | better. Support for gVCFs or FORMAT/PL tags. Added `-o, output` and |
|
0 commit comments