@Test public void testPrimaryRecords() { SAMRecordSetBuilder builder = new SAMRecordSetBuilder(); int i = 0; for (boolean record1Unmapped : new boolean[]{true, false}) { for (boolean record2Unmapped : new boolean[]{true, false}) { for (boolean record1Strand : new boolean[]{true, false}) { for (boolean record2Strand : new boolean[]{true, false}) { builder.addPair("pair" + i, 0, 10, 30, record1Unmapped, record2Unmapped, null, null, record1Strand, record2Strand, false, false, 10); builder.addFrag("frag" + i++, 0, 10, record1Unmapped, record2Strand, null, null, 10, false); } } } } FilteringSamIterator filteringSamIterator = new FilteringSamIterator(builder.getRecords().iterator(), new SecondaryAlignmentFilter()); // i is incremented once for each 3 records that are added (a pair and a fragment) Assert.assertEquals(filteringSamIterator.stream().count(), i * 3); }
static AbstractLocusIterator createReadEndsIterator(String exampleSam){ final List<SamRecordFilter> filters = new ArrayList<>(); final CountingFilter dupeFilter = new CountingDuplicateFilter(); final CountingFilter mapqFilter = new CountingMapQFilter(0); filters.add(new SecondaryAlignmentFilter()); // Not a counting filter because we never want to count reads twice filters.add(mapqFilter); filters.add(dupeFilter); SamReader samReader = createSamReader(exampleSam); AbstractLocusIterator iterator = new EdgeReadIterator(samReader); iterator.setSamFilters(filters); iterator.setMappingQualityScoreCutoff(0); // Handled separately because we want to count bases iterator.setIncludeNonPfReads(false); return iterator; }
@Test public void testSecondaryRecords() { SAMRecordSetBuilder builder = new SAMRecordSetBuilder(); int i = 0; for (boolean record1Unmapped : new boolean[]{true, false}) { for (boolean record2Unmapped : new boolean[]{true, false}) { for (boolean record1Strand : new boolean[]{true, false}) { for (boolean record2Strand : new boolean[]{true, false}) { builder.addPair("pair" + i, 0, 10, 30, record1Unmapped, record2Unmapped, null, null, record1Strand, record2Strand, true, true, 10); builder.addFrag("frag" + i++, 0, 10, record1Unmapped, record2Strand, null, null, 10, true); } } } } FilteringSamIterator filteringSamIterator = new FilteringSamIterator(builder.getRecords().iterator(), new SecondaryAlignmentFilter()); Assert.assertEquals(filteringSamIterator.hasNext(), false); }
filters.add(new SecondaryAlignmentFilter()); iterator.setSamFilters(filters);
filters.add(new SecondaryAlignmentFilter()); iterator.setSamFilters(filters);
filters.add(new SecondaryAlignmentFilter()); iterator.setSamFilters(filters);
filters.add(new SecondaryAlignmentFilter()); iterator.setSamFilters(filters);
final CountingPairedFilter pairFilter = new CountingPairedFilter(); filters.add(new SecondaryAlignmentFilter()); // Not a counting filter because we never want to count reads twice filters.add(mapqFilter); filters.add(dupeFilter);
final CountingPairedFilter pairFilter = new CountingPairedFilter(); filters.add(new SecondaryAlignmentFilter()); // Not a counting filter because we never want to count reads twice filters.add(mapqFilter); filters.add(dupeFilter);