gatk-3.8/public/java/test/org/broadinstitute/sting/gatk/downsampling
David Roazen 95b5f99feb Exclude reduced reads from elimination during downsampling
Problem:
-Downsamplers were treating reduced reads the same as normal reads,
 with occasionally catastrophic results on variant calling when an
 entire reduced read happened to get eliminated.

Solution:
-Since reduced reads lack the information we need to do position-based
 downsampling on them, best available option for now is to simply
 exempt all reduced reads from elimination during downsampling.

Details:
-Add generic capability of exempting items from elimination to
 the Downsampler interface via new doNotDiscardItem() method.
 Default inherited version of this method exempts all reduced reads
 (or objects encapsulating reduced reads) from elimination.

-Switch from interfaces to abstract classes to facilitate this change,
 and do some minor refactoring of the Downsampler interface (push
 implementation of some methods into the abstract classes, improve
 names of the confusing clear() and reset() methods).

-Rewrite TAROrderedReadCache. This class was incorrectly relying
 on the ReservoirDownsampler to preserve the relative ordering of
 items in some circumstances, which was behavior not guaranteed by
 the API and only happened to work due to implementation details
 which no longer apply. Restructured this class around the assumption
 that the ReservoirDownsampler will not preserve relative ordering
 at all.

-Add disclaimer to description of -dcov argument explaining that
 coverage targets are approximate goals that will not always be
 precisely met.

-Unit tests for all individual downsamplers to verify that reduced
 reads are exempted from elimination
2013-06-11 16:16:26 -04:00
..
AlleleBiasedDownsamplingUtilsUnitTest.java Setting the reduce reads count tag was all wrong in a previous commit; fixing. 2013-04-30 13:45:42 -04:00
DownsamplingIntegrationTest.java Require a minimum dcov value of 200 for Locus and ActiveRegion walkers when downsampling to coverage 2013-05-29 12:07:12 -04:00
DownsamplingReadsIteratorUnitTest.java Updated all JAVA file licenses accordingly 2013-01-10 17:06:41 -05:00
FractionalDownsamplerUnitTest.java Exclude reduced reads from elimination during downsampling 2013-06-11 16:16:26 -04:00
LevelingDownsamplerUnitTest.java Exclude reduced reads from elimination during downsampling 2013-06-11 16:16:26 -04:00
PerSampleDownsamplingReadsIteratorUnitTest.java Updated all JAVA file licenses accordingly 2013-01-10 17:06:41 -05:00
PositionallyDownsampledArtificialSingleSampleReadStreamAnalyzer.java Updated all JAVA file licenses accordingly 2013-01-10 17:06:41 -05:00
ReservoirDownsamplerUnitTest.java Exclude reduced reads from elimination during downsampling 2013-06-11 16:16:26 -04:00
SimplePositionalDownsamplerUnitTest.java Exclude reduced reads from elimination during downsampling 2013-06-11 16:16:26 -04:00