Picard release 1.49
18 July 2011
- Include snappy properties files so DLL written to temp directory gets appropriate version number in its filename. Prior to this change, a small number of users saw strange, non-reproducible JVM crashes because the Snappy-java DLL, which is extracted by Snappy java code and written to a temp directory, was overwritten by another process.
- Update to official Snappy-java 1.0.3-rc3.
- ReorderSam.jar: Improve error message when sequence dictionary is not present.
- SAMTextHeaderCodec.java: Do not skip RG line if missing SM tag when validation stringency is not strict.
- MergeSamFiles.java: Set non-zero exit status if something went wrong in one of the threads when USE_THREADING=true.
- Modified CollectAlignmentSummaryMetrics, CollectInsertSizeMetrics and CalculateHsMetrics to support collection of metrics at multiple levels: ALL_READS is the default and will calculate metrics based on all reads in the file; SAMPLE will calculate a separate metric for each sample in the file; LIBRARY will calculate metrics for each library and READ_GROUP will do the same for each read group. Metrics can be calculated for multiple levels (e.g. SAMPLE and LIBRARY level can be calculated in one pass). The output files contain three new columns: SAMPLE, LIBRARY, and READ_GROUP. If all three are blank, the metric applies to all reads in the file. If only SAMPLE is non-blank, then the metrics applies to the sample listed. If only SAMPLE and LIBRARY are non-blank, then the metric applies to the LIBRARY listed. If all three are filed in, then the metric applies to the READ_GROUP listed./
- CommandLineProgram.java: Added code to print out a one-liner at the start of every CommandLineProgram that documents user/host os version and architecture and JVM information.
- IndexedFastaSequenceFile.java: Don't throw an exception if a zero-length subsequence is asked for.
- SeekableHTTPStream.java: Improve message on IndexOutOfBoundsException. Implement read() method. Patch courtesy of Thomas Abeel.
- SamFileValidator.java: Explicitly validate that read1.getFirstOfPair != read2.getFirstOfPair.
- SAMUtils.java: Throw SAMFormatException rather than RuntimeException in SAMUtils.processValidationErrors. Patch courtesy of Matti Niemenmaa.
- ExtractIlluminaBarcodes.java: Allow a read to match barcode to match even if all bases disagree with barcode, if running program in such a way as to force all reads to match a single barcode.
- Histogram.java: Speed up Histogram.trimByWidth for large histograms.