From: Alec W. <al...@br...> - 2011-03-29 14:18:44
|
Picard release 1.42 29 March 2011 - SAMRecordQueryNameComparator.java: Augment comparator to test not-primary flag and hit-index (HI) tag value, if present. Encapsulate read name comparator in case it gets changed. - Restore value of SAMFileReader.defaultValidationStringency in various places where it is changed, so that methods that are typically main programs can be called in the context of some other program, and don't mess up the original validation stringency. - SeekableHTTPStream.java: Eliminate work-around for SourceForge HTTP problem http://sourceforge.net/apps/trac/sourceforge/ticket/18367, since it no longer seems to be a problem. - Added a little progress logging to SortSam. - Changed SortingCollection to use a TreeSet in place of a PriorityQueue; this results in a speed up on the order of ~20% for the merging phase of SortingCollection when there are large numbers of temp files in use. - CommandLineProgram.java: Modified to throw the original error, even if there is an exception when writing out the final log lines. - SortingCollection.java: Make SortingCollection in-memory iteration destructive by default in order to reduce memory footprint. If you want to call iterator() on a SortingCollection more than once, call setDestructiveIteration(false) to ensure that this will be allowed. For SortingCollections that are large enough to require spilling to disk, iteration is non-destructive currently. - Changes to centralize the size of buffers use in various buffering file read/writing classes and default them to 128kb. - Add option to BAM index reading code to disable memory mapping of index file. Memory-mapping can be problematic in Java because there is no way to force the release of a memory map before the garbage collector decides to do so, and therefore if many indices are opened and then closed, the JVM can run out of space in which to memory map. By calling SAMFileReader.enableIndexMemoryMapping(false), RandomAccessFile is used rather than memory mapping, which results in slower performance but timely release of resources. Change courtesy of Bob Handsaker. -Alec |