Skip to content

Releases: samtools/htsjdk

2.6.0

03 Aug 19:46
2.6.0
Compare
Choose a tag to compare

This minor release includes several new methods, improvements to tests, and a new type of read filter.

It is not strictly backwards compatible with 2.5.1, but most users should be able to upgrade without problems. The method SAMRecordUtil.reverseArray(final byte[] array) has been removed from the public api.

38713af updating urls in tests to point to new locations (#675)
ec2d3f9 Expose the set of tags to reverse and reverse complement as parameters. (#673)
702e77f New filter to keep pairs of interval together
0875b62 Improved SRA tests, corrected error message (#638)
6141de3 support genotype filters in Genotype.getAnyAttribute() and hasAnyAttribute
2cc88ac Added makeWithShallowCopy to GenotypeBuilder
9ceb00f added unit tests, tiny clean up for VCFStandardHeaderLines

Thank you to all contributors, including first time contributor @bbimber!

Release 2.5.1

11 Jul 15:15
2.5.1
Compare
Choose a tag to compare

This release includes bug fixes and new methods. It should be compatible with 2.5.0

fa519a3 Add a size method to SamLocusIterator.LocusInfo.
6edf1a2 Number tag in header line for GENOTYPE_FILTER
d683012 Fixed bug where SamPairUtil.setMateInfo() would omit the MQ tag if one read was mapped and the other unmapped. (#647)
7084c88 made LazyInitializer a @FunctionalIterface to enable java8 sugar. (#652)
4cd5ef9 Allow unzipping using an offset into the uncompressed and compressed arrays. (#651)
ec44a54 Make unzipBlock in BlockGunzipper public. (#650)

2.5.0

23 Jun 19:24
2.5.0
Compare
Choose a tag to compare

Release 2.5.0

This release includes important bug fixes for users of CRAM. If you read CRAM files using htsjdk you should update.
It restores support for using the IntelDeflater which is now provided as as part of the Intel Genomics Kernal Library (Intel-GKL). It is recommended that downstream projects incorporate this library if they want to accelerate bam compression.
This also incorporates important updates to SRA support as well as a number of new small features and quality of life improvements.

This release makes some breaking changes from previous releases, some users may have to make small updates to their code to incorporate it. (breaking changes and their resolution have been noted in italic.)

  • CRAM improvements and critical bug fixes
    This includes a critical bug fix for CRAM queries that were returning incorrect results.
    582ffae write CRAM3 by default
    12b0345 Fixes and tests for CRAM index queries.
    e86f6cd Implement CRAI writing for CRAM (default index remains BAI).
    e332493 SamReaderFactory fixes for CRAMFileReader/SAMTextReader from URL/Stream/SeekableStream SamInputResources.
    f2e1b03 Move a cram to test to its proper place.
  • Improvements to SRA support
    Bug fixes and improvements for SRA f4d8c55
    Automatically downloading code for SRA support has been disabled by default. To enable to enable this set sra_libraries_download=true
  • SamLocusIterator can now include information about indels.
    5196d09 Added indel support to SamLocusIterator (#408)
  • Support for streaming output when using VariantContextWriterBuilder
    b723300 Modified VariantContextWriterBuilder to automatically set output type… (#495)
  • More specific flags for enabling asynchronous reading/writing
    USE_ASYNC_IO replaced with finer grained commands: USE_ASYNC_IO_READ_FOR_SAMTOOLS, USE_ASYNC_IO_WRITE_FOR_SAMTOOLS and USE_ASYNC_IO_WRITE_FOR_TRIBBLE
    Note that async bam reading is not yet enabled.
    f5eb97d
  • Make Histogram.Bin into a static class
    Bin in Histogram<> caused problems with serialization and confused IDEs. It has been made into a parameterized static class which doesn't have these problems
    Replace instances of Histogram<Integer>.Bin with Histogram.Bin<Integer>.
    8f89440 and 84dd0b5
  • OverlapDetector has been revamped to work with Locatable instead of only Interval.
    Methods have changed but conversion should be fairly self explanatory. 0720512
  • IntelDeflater is no longer part of htsdjk (as of 2.4.1) and is now available as part of the Intel GKL
    removed TRY_USE_INTEL_DEFLATER option
    new method SAMFileWriterFactory.setDeflaterFactory allows externally provided deflaters to be used.
    1e02905
  • Removal of deprecated/outdated classes
    0e9f815 remove class Objects -> use java.util.Objects instead
    03c813c deleted 2 deprecated classes: SAMFileReader SAMFileTruncatedReader
  • 3629291 Provide a method that for each source contig gives the set of destination contigs used in liftover.
  • b50b527 Adding the ability to read and write the SAM flag field in various formats, similar to the 'samtools view -X' option. Use the SAM_FLAG_FIELD_FORMAT within the Defaults class to set this.
  • 60b1384 Add SeekablePathStream for java.nio.file.Path.
  • Other bug fixes and maintenance
    f9f3dc9 Move the last dangling test file the old testdata directory.
    6f7ed32 Update VCF header line parser to handle escaping quotes and backslashes
    a53a590 100% coverage for FastqRecord
    95f001e badge for the latest release on maven central, license and language
    791fcdd Fix SamLocusIterator when missing base quality string is provided
    bcc3f4a Removed PollableTreeSet in SortingCollection as it was no longer necessary. (#642)

2.4.1

27 May 23:10
Compare
Choose a tag to compare

Release 2.4.1

Simple patch to the 2.4.0 release that disables the IntelDeflater in htsjdk,
which requires a new release from Intel before it will be fully usable.

2.4.0

27 May 20:21
Compare
Choose a tag to compare

The major change in this release is the switch to using gradle as a build system. The old ant build file, if run, now just emits a set of instructions on using gradle. There was also some minor cleanup and bug fixing. Full changelist is below:

9e166bc Switch to using the Intel GKL (Genomics Kernel Library) to pull down the Intel deflater, and remove the checked-in copy
841e47f Remove the ".dirty" from htsjdk jar names
00344d1 fix cram bzip2 ExternalCompression and clean dependencies
00f06a7 add coverage reports, online and offline. Add coveralls badge and text to readme
d604a1b Changed VariantContextBuilder.attributes() to copy the supplied map in order to avoid: (#587)
25e9174 removing automatic determination of isRelease
1d052a3 converting to build using gradle
909381a moved all files into new gradle structure
954eb01 remove AsynchronousLineReader and LineReaderUtil. Created SynchronousLineReader and converted code to us it
b126640 Add a backward compatibility checkbox to the PR template.

2.3.0

12 May 17:03
Compare
Choose a tag to compare

Bug fixes:

  • URIs to gzipped files that have trailing parameters are properly understood to be gzipped now

API Changes:

  • new CRAMReferenceSource interface has been extracted from ReferenceSource this enables users to provide custom cram reference sources
  • some methods that previously returned ReferenceSource now return CRAMReferenceSource this may be a breaking change for some downstream users who are doing work with cram

Complete change list:

  • c775754 Factor out an interface from CRAM ReferenceSource and fix two URI bugs.
  • 5e87478 adding a useAsynchronousIO flag to SamReaderFactory
  • 4a3fa96 fix setter in factory
  • b0054c5 Rename internal reg2bin method and make it public
  • d181e9e Document lack of support for BCF version 2.2
  • a2f8156 Addressed code review; fixed potential deadlock if background thread throw exception from hasNext() call
  • 9d21865 AsyncBufferedIterator implementation to improve throughput by performing read-ahead on a background thread

Thank you to community contributors @d-cameron, @lindenb, and @heuermh.

2.2.4

27 Apr 22:12
Compare
Choose a tag to compare

Includes several convenience methods for VariantContextWriterBuilder and ClosableIterator

4ca1364 Provide a method in VariantContextWriterBuilder to set an option depending on a Boolean.
5dfe920 Utility methods on CloseableIterator to make life a little easier. (#589)
b74174a Adding downstream build badges to Readme

2.2.3

27 Apr 16:51
Compare
Choose a tag to compare

Release 2.2.3

No changes. Failures in the release script caused this to be identical to 2.2.2.

2.2.2

20 Apr 16:35
Compare
Choose a tag to compare

Release 2.2.2

2.2.1

05 Apr 22:47
Compare
Choose a tag to compare

Release 2.2.1