LIBS now requires at least one sample be present

-- UnitTest provides a "null" sample for matching the reads without read groups
This commit is contained in:
Mark DePristo 2011-09-30 09:49:35 -04:00
parent 9860a2c989
commit e055a78f6e
2 changed files with 7 additions and 9 deletions

View File

@ -39,6 +39,7 @@ import org.broadinstitute.sting.utils.GenomeLoc;
import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.GenomeLocParser;
import org.broadinstitute.sting.utils.MathUtils; import org.broadinstitute.sting.utils.MathUtils;
import org.broadinstitute.sting.utils.ReservoirDownsampler; import org.broadinstitute.sting.utils.ReservoirDownsampler;
import org.broadinstitute.sting.utils.exceptions.ReviewedStingException;
import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.exceptions.UserException;
import org.broadinstitute.sting.utils.pileup.ExtendedEventPileupElement; import org.broadinstitute.sting.utils.pileup.ExtendedEventPileupElement;
import org.broadinstitute.sting.utils.pileup.PileupElement; import org.broadinstitute.sting.utils.pileup.PileupElement;
@ -50,9 +51,6 @@ import java.util.*;
/** Iterator that traverses a SAM File, accumulating information on a per-locus basis */ /** Iterator that traverses a SAM File, accumulating information on a per-locus basis */
public class LocusIteratorByState extends LocusIterator { public class LocusIteratorByState extends LocusIterator {
// private static long discarded_bases = 0L;
// private static long observed_bases = 0L;
/** our log, which we want to capture anything from this class */ /** our log, which we want to capture anything from this class */
private static Logger logger = Logger.getLogger(LocusIteratorByState.class); private static Logger logger = Logger.getLogger(LocusIteratorByState.class);
@ -281,10 +279,9 @@ public class LocusIteratorByState extends LocusIterator {
this.genomeLocParser = genomeLocParser; this.genomeLocParser = genomeLocParser;
this.samples = new ArrayList<String>(samples); this.samples = new ArrayList<String>(samples);
this.readStates = new ReadStateManager(samIterator,readInformation.getDownsamplingMethod()); this.readStates = new ReadStateManager(samIterator,readInformation.getDownsamplingMethod());
}
public LocusIteratorByState(final Iterator<SAMRecord> samIterator, ReadProperties readInformation, GenomeLocParser genomeLocParser ) { if ( this.samples.isEmpty() )
this(samIterator, readInformation, genomeLocParser, Collections.<String>emptySet()); throw new IllegalArgumentException("samples list must not be empty");
} }
public Iterator<AlignmentContext> iterator() { public Iterator<AlignmentContext> iterator() {

View File

@ -28,10 +28,8 @@ import java.util.*;
* testing of the LocusIteratorByState * testing of the LocusIteratorByState
*/ */
public class LocusIteratorByStateUnitTest extends BaseTest { public class LocusIteratorByStateUnitTest extends BaseTest {
private final int MAX_READS = 10;
private static SAMFileHeader header; private static SAMFileHeader header;
private LocusIteratorByState li; private LocusIteratorByState li;
private GenomeLocParser genomeLocParser; private GenomeLocParser genomeLocParser;
@BeforeClass @BeforeClass
@ -41,8 +39,11 @@ public class LocusIteratorByStateUnitTest extends BaseTest {
} }
private final LocusIteratorByState makeLTBS(List<SAMRecord> reads, ReadProperties readAttributes) { private final LocusIteratorByState makeLTBS(List<SAMRecord> reads, ReadProperties readAttributes) {
List<String> samples = new ArrayList<String>();
samples.add(null);
return new LocusIteratorByState(new FakeCloseableIterator<SAMRecord>(reads.iterator()), return new LocusIteratorByState(new FakeCloseableIterator<SAMRecord>(reads.iterator()),
readAttributes,genomeLocParser, new SampleDataSource().getSampleNames()); readAttributes,genomeLocParser, samples);
} }
@Test @Test