Skip to content

Releases: samtools/htslib

1.3.1

22 Apr 13:53

Choose a tag to compare

  • Improved error checking and reporting, especially of I/O errors when writing output files (#17, #315, PR #271, PR #317).
  • Build fixes for 32-bit systems; be sure to run configure to enable large file support and access to 2GiB+ files.
  • Numerous VCF parsing fixes (#321, #322, #323, #324, #325; PR #370).
    Particular thanks to Kostya Kortchinsky of the Google Security Team for testing and numerous input parsing bug reports.
  • HTSlib now prints an informational message when initially creating a CRAM reference cache in the default location under your $HOME directory. (No message is printed if you are using $REF_CACHE to specify a location.)
  • Avoided rare race condition when caching downloaded CRAM reference sequence files, by using distinctive names for temporary files (in addition to O_EXCL, which has always been used). Occasional corruption would previously occur when multiple tools were simultaneously caching the same reference sequences on an NFS filesystem that did not support O_EXCL (PR #320).
  • Prevented race condition in file access plugin loading (PR #341).
  • Fixed mpileup memory leak, so no more "[bam_plp_destroy] memory leak […] Continue anyway" warning messages (#299).
  • Various minor CRAM fixes.

The htslib-1.3.1.tar.bz2 download is the full source code release. The “Source code” downloads are generated by GitHub and are incomplete as they are missing some generated files.

1.3

15 Dec 23:42

Choose a tag to compare

1.3
  • Files can now be accessed via HTTPS and Amazon S3 in addition to HTTP and FTP, when HTSlib is configured to use libcurl for network file access rather than the included basic knetfile networking.
  • HTSlib can be built to use remote access hFILE backends (such as iRODS and libcurl) via a plugin mechanism. This allows other backends to be easily added and facilitates building tools that use HTSlib, as they don't need to be linked with the backends' various required libraries.
  • fai_build() and samtools faidx now accept initial whitespace in ">" headers (e.g., "> chr1 description" is taken to refer to "chr1").
  • tabix --only-header works again (was broken in 1.2.x; #249).
  • HTSlib's configure script and Makefile now fully support the standard convention of allowing CC/CPPFLAGS/CFLAGS/LDFLAGS/LIBS to be overridden as needed. Previously the Makefile listened to $(LDLIBS) instead; if you were overriding that, you should now override LIBS rather than LDLIBS.
  • Fixed bugs #168, #172, #176, #197, #206, #225, #245, #265, #295, and #296.

The htslib-1.3.tar.bz2 download is the full source code release. The “Source code” downloads are generated by GitHub and are incomplete as they are missing some generated files.

1.2.1

04 Feb 10:06

Choose a tag to compare

  • HTSlib now has a configure script which checks your build environment and allows for selection of optional extras. See INSTALL for details
  • By default, reference sequences are fetched from the EBI CRAM Reference Registry and cached in your $HOME cache directory. This behaviour can be controlled by setting REF_PATH and REF_CACHE enviroment variables (see the samtools(1) man page for details)
  • Numerous CRAM improvements:
    • Support for CRAM v3.0, an upcoming revision to CRAM supporting better compression and per-container checksums
    • EOF checking for v2.1 and v3.0 (similar to checking BAM EOF blocks)
    • Non-standard values for PNEXT and TLEN fields are now preserved
    • hts_set_fai_filename() now provides a reference file when encoding
    • Generated read names are now numbered from 1, rather than being labelled slice:record-in-slice
    • Multi-threading and speed improvements
  • New htsfile command for identifying file formats, and corresponding file format detection APIs
  • New tabix --regions FILE, --targets FILE options for filtering via BED files
  • Optional iRODS file access, disabled by default. Configure with --with-irods to enable accessing iRODS data objects directly via irods:DATAOBJ
  • All occurences of 229 in the source have been eliminated, so indexing and querying against reference sequences larger than 512Mbp works (when using CSI indices)
  • Support for plain GZIP compression in various places
  • VCF header editing speed improvements
  • Added seq_nt16_int[] (equivalent to the samtools API's bam_nt16_nt4_table[])
  • Reinstated faidx_fetch_nseq(), which was accidentally removed from 1.1. Now faidx_fetch_nseq() and faidx_nseq() are equivalent; eventually faidx_fetch_nseq() will be deprecated and removed [#156]
  • Fixed bugs #141, #152, #155, #158, #159, and various memory leaks

The changes above are also present in release 1.2. The 1.2 release was immediately superseded by this release, which further includes the following:

  • Reinstated hts_file_type() and FT_* macros, which were available until 1.1 but briefly removed in 1.2. This function is deprecated and will be removed in a future release—you should use hts_detect_format() etc instead

The htslib-1.2.1.tar.bz2 download is the full source code release. The “Source code” downloads are generated by GitHub and are incomplete as they are missing some generated files.