public Collection<SAMRecord> createReads() { Collection<SAMRecord> reads = new ArrayList<SAMRecord>(totalReads); SAMFileHeader header = ArtificialSAMUtils.createArtificialSamHeader(1, 1, 1000000); reads.addAll(ArtificialSAMUtils.createStackOfIdenticalArtificialReads(totalReads, header, "foo", 0, 1, 100)); return reads; } }
public Collection<SAMRecord> createReads() { Collection<SAMRecord> reads = new ArrayList<SAMRecord>(totalReads); SAMFileHeader header = ArtificialSAMUtils.createArtificialSamHeader(1, 1, 1000000); reads.addAll(ArtificialSAMUtils.createStackOfIdenticalArtificialReads(totalReads, header, "foo", 0, 1, 100)); return reads; } }
private void makeReads() { int alignmentStart = 1; for ( int readsThisStack : readCountsPerAlignmentStart ) { ArrayList<GATKSAMRecord> stackReads = new ArrayList<GATKSAMRecord>(ArtificialSAMUtils.createStackOfIdenticalArtificialReads(readsThisStack, header, "foo", 0, alignmentStart, MathUtils.randomIntegerInRange(50, 100))); ArrayList<AlignmentStateMachine> stackRecordStates = new ArrayList<AlignmentStateMachine>(); for ( GATKSAMRecord read : stackReads ) { stackRecordStates.add(new AlignmentStateMachine(read)); } reads.addAll(stackReads); recordStatesByAlignmentStart.add(stackRecordStates); } } }
public Collection<SAMRecord> createReads() { Collection<SAMRecord> reads = new ArrayList<SAMRecord>(); SAMFileHeader header = multipleContigs ? ArtificialSAMUtils.createArtificialSamHeader(2, 1, 1000000) : ArtificialSAMUtils.createArtificialSamHeader(1, 1, 1000000); int refIndex = 0; int alignmentStart = 1; int readLength = 100; for ( int i = 0; i < numStacks; i++ ) { if ( multipleContigs && refIndex == 0 && i >= numStacks / 2 ) { refIndex++; } reads.addAll(ArtificialSAMUtils.createStackOfIdenticalArtificialReads(stackSizes.get(i), header, "foo", refIndex, alignmentStart, readLength)); alignmentStart += 10; } return reads; }
@Test public void testBasicUnmappedReadsSupport() { ReadsDownsampler<SAMRecord> downsampler = new SimplePositionalDownsampler<SAMRecord>(100); SAMFileHeader header = ArtificialSAMUtils.createArtificialSamHeader(1, 1, 1000000); Collection<SAMRecord> readStack = new ArrayList<SAMRecord>(); readStack.addAll(ArtificialSAMUtils.createStackOfIdenticalArtificialReads(200, header, "foo", SAMRecord.NO_ALIGNMENT_REFERENCE_INDEX, SAMRecord.NO_ALIGNMENT_START, 100)); for ( SAMRecord read : readStack ) { Assert.assertTrue(read.getReadUnmappedFlag()); } downsampler.submit(readStack); downsampler.signalEndOfInput(); List<SAMRecord> downsampledReads = downsampler.consumeFinalizedItems(); // Unmapped reads should not get downsampled at all by the SimplePositionalDownsampler Assert.assertEquals(downsampledReads.size(), readStack.size()); for ( SAMRecord read: downsampledReads ) { Assert.assertTrue(read.getReadUnmappedFlag()); } }
@Test public void testSimplePositionalDownsamplerSignalNoMoreReadsBefore() { ReadsDownsampler<SAMRecord> downsampler = new SimplePositionalDownsampler<SAMRecord>(1000); SAMFileHeader header = ArtificialSAMUtils.createArtificialSamHeader(1, 1, 1000000); Collection<SAMRecord> readStack = new ArrayList<SAMRecord>(); readStack.addAll(ArtificialSAMUtils.createStackOfIdenticalArtificialReads(50, header, "foo", 0, 1, 100)); downsampler.submit(readStack); Assert.assertFalse(downsampler.hasFinalizedItems()); Assert.assertTrue(downsampler.peekFinalized() == null); Assert.assertTrue(downsampler.hasPendingItems()); Assert.assertTrue(downsampler.peekPending() != null); SAMRecord laterRead = ArtificialSAMUtils.createArtificialRead(header, "foo", 0, 2, 100); downsampler.signalNoMoreReadsBefore(laterRead); Assert.assertTrue(downsampler.hasFinalizedItems()); Assert.assertTrue(downsampler.peekFinalized() != null); Assert.assertFalse(downsampler.hasPendingItems()); Assert.assertTrue(downsampler.peekPending() == null); List<SAMRecord> downsampledReads = downsampler.consumeFinalizedItems(); Assert.assertEquals(downsampledReads.size(), readStack.size()); }
mappedReadStack.addAll(ArtificialSAMUtils.createStackOfIdenticalArtificialReads(200, header, "foo", 0, 1, 100)); for ( SAMRecord read : mappedReadStack ) { Assert.assertFalse(read.getReadUnmappedFlag()); unmappedReadStack.addAll(ArtificialSAMUtils.createStackOfIdenticalArtificialReads(200, header, "foo", SAMRecord.NO_ALIGNMENT_REFERENCE_INDEX, SAMRecord.NO_ALIGNMENT_START, 100)); for ( SAMRecord read : unmappedReadStack ) {