This Picard version contains MAJOR CHANGES TO DEFAULT SETTINGS that impact throughput of pipelines.
New features
- MAJOR CHANGE: The default compression level is now 1 instead of 5 for faster reading (#843). The tradeoff in increased size is paid for by the ~3x faster reading.
- MAJOR CHANGE: Picard now uses the Intel Deflator and Inflator instead of JDK for writing and reading compressed data (#843, DSDEGP-454). The Intel library is faster in tests than the older JDK library. To disable the Intel library and revert to using the JDK library, specify
USE_JDK_DEFLATER
andUSE_JDK_INFLATER
Boolean arguments.
Bug fixes
- Htsjdk versioning is now fixed and cannot be transitive (#843). Previously, a dependency could pull in a different version of htsjdk and overwrite the build's htsjdk version. Now, the version shown in the build.gradle file is the htsjdk version used by all tools. Currently, Picard uses htsjdk v2.10.1.
For developers
- Code cleanup in CollectMultipleMetricsTest.java, CollectWgsMetricsTest.java and FilterSamReadsTest.java tests ensure tests delete SAM index file upon exiting (#843). Tests should clean up files upon exit. For example, CollectMultipleMetricsTest.java runs fine singularly with
-Dtest.single=CollectMultipleMetricsTest
but larger set tests fail otherwise. Deleting the SAM index file when exiting allows for set tests to pass. The cause of this error is currently unclear. - New test IntelInflaterDeflaterLoadTest.java ensures the new default Intel Inflator and Deflator work as expected (#843).
- Broad Institute only: Each Picard repository's snapshot build, i.e. commit to master, is now published to Artifactory to ease use of interim builds by downstream projects, e.g.
picard-private
andgatk
(#861). Seehttps://broadinstitute.jfrog.io/broadinstitute/
.