List<CramCompressionRecord> getRecords(final Slice slice, final CompressionHeader header, final ValidationStringency validationStringency) throws IllegalArgumentException, IllegalAccessException { return getRecords(null, slice, header, validationStringency); } }
public List<CramCompressionRecord> getRecords(final Container container, ArrayList<CramCompressionRecord> records, final ValidationStringency validationStringency) throws IllegalArgumentException, IllegalAccessException { if (container.isEOF()) { return Collections.emptyList(); } if (records == null) { records = new ArrayList<>(container.nofRecords); } for (final Slice slice : container.slices) { records.addAll(getRecords(slice, container.header, validationStringency)); } return records; }
public List<CramCompressionRecord> getRecords(final Container container, ArrayList<CramCompressionRecord> records, final ValidationStringency validationStringency) { if (container.isEOF()) { return Collections.emptyList(); } if (records == null) { records = new ArrayList<>(container.nofRecords); } for (final Slice slice : container.slices) { records.addAll(getRecords(slice, container.header, validationStringency)); } return records; }
@Test(dataProvider = "eof") public void testEOF(final Version version) throws IOException { final ContainerParser parser = new ContainerParser(ContainerFactoryTest.getSAMFileHeaderForTests()); try (final ByteArrayOutputStream baos = new ByteArrayOutputStream()) { CramIO.issueEOF(version, baos); final Container container = ContainerIO.readContainer(version, new ByteArrayInputStream(baos.toByteArray())); Assert.assertTrue(container.isEOF()); Assert.assertTrue(parser.getRecords(container, null, ValidationStringency.STRICT).isEmpty()); } }
private static void dist(File file, byte defaultQualityScore) throws IllegalArgumentException, IOException, IllegalAccessException { InputStream is = new FileInputStream(file); CramHeader header = CramIO.readCramHeader(is); Container c = null; ContainerParser parser = new ContainerParser(header.getSamFileHeader()); ArrayList<CramCompressionRecord> records = new ArrayList<CramCompressionRecord>(10000); long[] freq = new long[255]; while ((c = ContainerIO.readContainer(header.getVersion(), is)) != null && !c.isEOF()) { parser.getRecords(c, records, ValidationStringency.SILENT); CramNormalizer.restoreQualityScores(defaultQualityScore, records); for (CramCompressionRecord record : records) { for (byte b : record.qualityScores) freq[b & 0xFF]++; } records.clear(); } print(freq, defaultQualityScore, System.out); }
parser.getRecords(container, records, ValidationStringency.SILENT); n.normalize(records, null, 0, container.header.substitutionMatrix);
parser.getRecords(c, cramRecords, ValidationStringency.SILENT); } catch (Exception e) { throw new RuntimeEOFException(e);
@Test(dataProvider = "containersForRefTests") public void paramTest(final List<CramCompressionRecord> records, final Set<Integer> expectedKeys) { final ContainerFactory factory = new ContainerFactory(ContainerFactoryTest.getSAMFileHeaderForTests(), TEST_RECORD_COUNT); final Container container = factory.buildContainer(records); final ContainerParser parser = new ContainerParser(ContainerFactoryTest.getSAMFileHeaderForTests()); final Map<Integer, AlignmentSpan> referenceSet = parser.getReferences(container, ValidationStringency.STRICT); Assert.assertEquals(referenceSet.keySet(), expectedKeys); final List<CramCompressionRecord> roundTripRecords = parser.getRecords(container, null, ValidationStringency.STRICT); // TODO this fails. return to this when refactoring Container and CramCompressionRecord //Assert.assertEquals(roundTripRecords, records); Assert.assertEquals(roundTripRecords.size(), TEST_RECORD_COUNT); }
cramRecords.clear(); parser.getRecords(container, cramRecords, validationStringency);
cramRecords.clear(); parser.getRecords(container, cramRecords, validationStringency);
parser.getRecords(c, cramRecords, ValidationStringency.SILENT); parseTime += System.nanoTime() - time;