Skip to content

Commit f518a26

Browse files
valeriuojkbonfield
authored andcommitted
News update for the next release (1.12).
1 parent 1949a15 commit f518a26

File tree

1 file changed

+141
-0
lines changed

1 file changed

+141
-0
lines changed

NEWS

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,36 @@
11
Noteworthy changes in release a.b
22
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33

4+
Features and Updates
5+
--------------------
6+
7+
* Added experimental CRAM 3.1 and 4.0 support. (#929)
8+
9+
These should not be used for long term data storage as the
10+
specification still needs to be ratified by GA4GH and may be subject
11+
to changes in format. (This is highly likely for 4.0). However it
12+
may be tested using:
13+
14+
test/test_view -t ref.fa -C -o version=3.1 in.bam -p out31.cram
15+
16+
For smaller but slower files, try varying the compression profile
17+
with an additional "-o small". Profile choices are fast, normal,
18+
small and archive, and can be applied to all CRAM versions.
19+
20+
* Added a general filtering syntax for alignment records in SAM/BAM/CRAM
21+
readers. (#1181, #1203)
22+
23+
An example to find chromosome spanning read-pairs with high mapping
24+
quality: 'mqual >= 30 && mrname != rname'
25+
26+
To find significant sized deletions:
27+
'cigar =~ "[0-9]{2}D"' or 'rlen - qlen > 10'.
28+
29+
To report duplicates that aren't part of a "proper pair":
30+
'flag.dup && !flag.proper_pair'
31+
32+
More details are in the samtools.1 man page under "FILTER EXPRESSIONS".
33+
434
* The knet networking code has been removed. It only supported the http
535
and ftp protocols, and a better and safer alternative using libcurl
636
has been available since release 1.3. If you need access to ftp:// and
@@ -9,6 +39,117 @@ Noteworthy changes in release a.b
939
* The old htslib/knetfile.h interfaces have been marked as deprecated. Any
1040
code still using them should be updated to use hFILE instead. (#1200)
1141

42+
* Added an introspection API for checking some of the capabilities provided
43+
by HTSlib. (#1170) Thanks also to John Marshall for contributions. (#1222)
44+
- `hfile_list_schemes`: returns the number of schemes found
45+
- `hfile_list_plugins`: returns the number of plugins found
46+
- `hfile_has_plugin`: checks if a specific plugin is available
47+
- `hts_features`: returns a bit mask with all available features
48+
- `hts_test_feature`: test if a feature is available
49+
- `hts_feature_string`: return a string summary of enabled features
50+
51+
* Made performance improvements to `probaln_glocal` method, which
52+
speeds up mpileup BAQ calculations. (#1188)
53+
- Caching of reused loop variables and removal of loop invariants
54+
- Code reordering to remove instruction latency.
55+
- Other refactoring and tidyups.
56+
57+
* Added a public method for constructing a BAM record from the
58+
component pieces. Thanks to Anders Kaplan. (#1159, #1164)
59+
60+
* Added two public methods, `sam_parse_cigar` and `bam_parse_cigar`, as part of
61+
a small CIGAR API (#1169, #1182). Thanks to Daniel Cameron for input. (#1147)
62+
63+
* HTSlib, and the included htsfile program, will now recognise the old
64+
RAZF compressed file format. Note that while the format is detected,
65+
HTSlib is unable to read it. It is recommended that RAZF files are
66+
uncompressed with `gunzip` before using them with HTSlib. Thanks to
67+
John Marshall (#1244); and Matthew J. Oldach who reported problems
68+
with uncompressing some RAZF files (samtools/samtools#1387).
69+
70+
* The S3 plugin now has options to force the address style. It will recognise
71+
the addressing_style and host_bucket entries in the respective aws
72+
.credentials and s3cmd .s3cfg files. There is also a new HTS_S3_ADDRESS_STYLE
73+
environment variable. Details are in the htslib-s3-plugin.7 man file (#1249).
74+
75+
Build changes
76+
-------------
77+
78+
These are compiler, configuration and makefile based changes.
79+
80+
* Added new Makefile targets for the applications that embed HTSlib and
81+
want to run its test suite or clean its generated artefacts. (#1230, #1238)
82+
83+
* The CRAM codecs are now obtained via the htscodecs submodule, hence
84+
when cloning it is now best to use "git clone --recursive". In an
85+
existing clone, you may use "git submodule update --init" to obtain
86+
the htscodecs submodule checkout.
87+
88+
* Updated CI test configuration to recurse HTSlib submodules. (#1359)
89+
90+
* Added Cirrus-CI integration as a replacement for Travis, which was
91+
phased out. (#1175; #1212)
92+
93+
* Updated the Windows image used by Appveyor to 'Visual Studio 2019'. (#1172;
94+
fixed #1166)
95+
96+
* Fixed a buglet in configure.ac, exposed by the release 2.70 of autoconf.
97+
Thanks to John Marshall. (#1198)
98+
99+
* Fixed plugin linking on macOS, to prevent symbol conflict when linking
100+
with a static HTSlib. Thanks to John Marshall. (#1184)
101+
102+
* Fixed a clang++9 error in `cram_io.h`. Thanks to Pjotr Prins. (#1190)
103+
104+
* Introduced $(ALL_CPPFLAGS) to allow for more flexibility in setting the
105+
compiler flags. Thanks to John Marshall. (#1187)
106+
107+
* Added 'fall through' comments to prevent warnings issued by Clang on
108+
intentional fall through case statements, when building with
109+
`-Wextra flag`. Thanks to John Marshall. (#1163)
110+
111+
* Non-configure builds now define _XOPEN_SOURCE=600 to allow them to work
112+
when the `gcc -std=c99` option is used. Thanks to John Marshall. (#1246)
113+
114+
Bug fixes
115+
---------
116+
117+
* Fixed VCF `#CHROM` header parsing to only separate columns at tab characters.
118+
Thanks to Sam Morris for reporting the issue.
119+
(#1237; fixed samtools/bcftools#1408)
120+
121+
* Fixed a crash reported in `bcf_sr_sort_set`, which expects REF to be present.
122+
(#1204; fixed samtools/bcftools#1361)
123+
124+
* Fixed a bug in the overlapping logic of mpileup, dealing with iterating over
125+
CIGAR segments. Thanks to `@wulj2` for the analysis. (#1202; fixed #1196)
126+
127+
* Fixed a tabix bug that prevented setting the correct number of lines to be
128+
skipped in a region file. Thanks to Jim Robinson for reporting it. (#1189;
129+
fixed #1186)
130+
131+
* Made `bam_itr_next` an alias for `sam_itr_next`, to prevent it from crashing
132+
when working with htsFile pointers. Thanks to Torbjörn Klatt for
133+
reporting it. (#1180; fixed #1179)
134+
135+
* Fixed once per outgoing multi-threaded block `bgzf_idx_flush` assertion, to
136+
accommodate situations when a single record could span multiple blocks.
137+
Thanks to `@lacek`. (#1168; fixed samtools/samtools#1328)
138+
139+
* Fixed assumption of pthread_t being a non-structure, as permitted by POSIX.
140+
Thanks also to John Marshall and Anders Kaplan. (#1167, #1153, #1153)
141+
142+
* Fixed the minimum offset of a BAI index bin, to account for unmapped reads.
143+
Thanks to John Marshall for spotting the issue. (#1158; fixed #1142)
144+
145+
* Fixed the CRLF handling in `sam_parse_worker` method. Thanks to
146+
Anders Kaplan. (#1149; fixed #1148)
147+
148+
* Included unistd.h and erro.h directly in HTSlib files, as opposed to
149+
including them indirectly, via third party code. Thanks to
150+
Andrew Patterson (#1143) and John Marshall (#1145).
151+
152+
12153
Noteworthy changes in release 1.11 (22nd September 2020)
13154
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14155

0 commit comments

Comments
 (0)