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 setsra_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_IOreplaced with finer grained commands:USE_ASYNC_IO_READ_FOR_SAMTOOLS,USE_ASYNC_IO_WRITE_FOR_SAMTOOLSandUSE_ASYNC_IO_WRITE_FOR_TRIBBLE
Note that async bam reading is not yet enabled.
f5eb97d - Make Histogram.Bin into a static class
BininHistogram<>caused problems with serialization and confused IDEs. It has been made into a parameterized static class which doesn't have these problems
Replace instances ofHistogram<Integer>.BinwithHistogram.Bin<Integer>.
8f89440 and 84dd0b5 OverlapDetectorhas been revamped to work withLocatableinstead of onlyInterval.
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
removedTRY_USE_INTEL_DEFLATERoption
new methodSAMFileWriterFactory.setDeflaterFactoryallows externally provided deflaters to be used.
1e02905 - Removal of deprecated/outdated classes
0e9f815 remove classObjects-> usejava.util.Objectsinstead
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)
Downloads
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.
Downloads
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.
Downloads
Bug fixes:
- URIs to gzipped files that have trailing parameters are properly understood to be gzipped now
API Changes:
- new
CRAMReferenceSourceinterface has been extracted fromReferenceSourcethis enables users to provide custom cram reference sources - some methods that previously returned
ReferenceSourcenow returnCRAMReferenceSourcethis 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.
Downloads
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
Downloads
Release 2.2.3
No changes. Failures in the release script caused this to be identical to 2.2.2.