TODO: better commit message

adding MarkDuplicatesWithMateCigar
- adding MarkDuplicatesWithMateCigar command line program.  This can replace
MarkDuplicates if the input SAM/BAM has Mate CIGAR (MC) optional tags
pre-computed.  This allows the new tool to perform a streaming duplicate
marking routine.
Moved DuplicationMetrics back out of markduplicates package
Fixed two bugs related to subtracting alignmentStarts from the alignmentStartCounts map
Fixed two bugs related to subtracting alignmentStarts from the alignmentStartCounts map
Fixed multiple bugs in the MarkDuplicatesWithMateCigar classes and added enhancements to associated tests
Unmapped reads could contribute to determing the mark queue's minimum distance
Optimizing the subtractCount function by grouping calls with the same alignment start positions
Further optimizing how we update the alignment start
replaced alignmentStartSortedCounts with a boolean flag wrapped alongside the SAMRecord to track if record has been through marking
replaced boolean wrappedRecord with a record->boolean map, in advance of spilling alignment start buffer to disk
optimizing the to mark queue to reduce memory
Added a DiskBackedQueue and began alterations to MarkDuplicatesWithMateCigar. Much much work to do. Committing these changes in advance of move to git
Catching small changes relating to svn-to-git that escaped the rebase
Added wasChecked and isDuplicate byte arrays to ASSB buffer block
Improvements to the BufferBlock subclass of MarkDuplicatesWithMateCigarIterator
Fixed the add(), next(), and canEmit() methods to work with
the reimplemented DiskBackedQueue and (hopefully)
appropriately handle a records metadata re. emittability and
duplicate status. Using byte arrays instead of a bit vector
for now.
Fixed up the DuplicateMarkingBuffer and added a (broken) test
Since DuplicateMarkingBuffer is an inner class of MarkDuplicatesWithMateCigarIterator
will have to test it indirectly through there.
Removed the erroneously created DuplicateMarkingBufferTest
Further changes to MarkDuplicatesWithMateCigarIterator
not working at the moment
Added wrappedSamRecord to MarkDuplicatesWithMateCigarIterator
Keeping the coordinate-sorted index associated with a SAMRecord
appropriately synchronized was difficult and causing bugs. Therefore
wrapped it alongside record at time of retrieval in a lightweight
wrapper class. Also changed the DuplicateMarkingBuffer BufferBlocks
to use byte arrays to track duplicate status for all reads, not just
those on disk.
Currently passes all unit tests. Untested on actual data.
Latest changes in advance of handing off the MDMC project
This version of MarkDuplicatesWithMateCigar passes unit tests
and runs through the torturous pericentromeric region of Chrm1
in the 6-wgs-bam extreme coverage test case. It has shown improved
performance against current MD in single-bam test cases.
These changes do not include a fix for the bug observed wherein
excess duplicates are marked for paired records with the same
chromosome, start position, and orientation.
I am hoping to implement these changes tonight (sunday) night, but
in the event that I dont or Nils wants to work this weekend, I push
these latest updates.
Start on a bugfix for comparable duplicate pairs
Passes unit tests, but does not manage physical locations properly
for optical duplicate marking. Errors on real data for this reason.
small code prettyfication in MDWMC
build script was not pointing to the markduplicates package
fixing various mark duplicate with mate cigar missing duplicates
did not properly remove a pair from a pairSet
adding another test for coordinates in a pair in opposite order
Refactoring the MarkDuplicatesWithCigar code and utilities: splitting
into multiple classes, etc.
MarkDuplicatesWithCigar now requires both the MC and DS tags to be
present to work.
Adding more test cases.