@BeforeGroups(groups = "freqs2matrix") public void b() { freqs = new long[255][255]; for (int r = 0; r < SubstitutionMatrix.BASES.length; r++) { for (int b = 0; b < SubstitutionMatrix.BASES.length; b++) { if (r == b) continue; freqs[SubstitutionMatrix.BASES[r]][SubstitutionMatrix.BASES[b]] = b; } } m = new SubstitutionMatrix(freqs); }
@BeforeGroups(groups = "matrix2code") public void m() { m = new SubstitutionMatrix(new byte[]{27, (byte) 228, 27, 27, 27}); }
@Test public void testAP_delta() { boolean sorted = true; CompressionHeader header = new CompressionHeaderFactory().build(new ArrayList<>(), new SubstitutionMatrix(new long[256][256]), sorted); Assert.assertEquals(header.APDelta, sorted); sorted = false; header = new CompressionHeaderFactory().build(new ArrayList<>(), new SubstitutionMatrix(new long[256][256]), sorted); Assert.assertEquals(header.APDelta, sorted); }
substitutionMatrix = new SubstitutionMatrix(matrixBytes); } else throw new RuntimeException("Unknown preservation map key: "
substitutionMatrix = new SubstitutionMatrix(matrixBytes); } else throw new RuntimeException("Unknown preservation map key: "
CompressionHeader createHeader(final List<CramCompressionRecord> records, final boolean sorted) { return new CompressionHeaderFactory().build(records, new SubstitutionMatrix(new long[256][256]), sorted); }
@Test public void testAllEncodingsPresent() { final CompressionHeader header = new CompressionHeaderFactory().build(new ArrayList<>(), new SubstitutionMatrix(new long[256][256]), true); for (final DataSeries key : DataSeries.values()) { switch (key) { // skip test marks and unused series: case TV_TestMark: case TM_TestMark: case BB_bases: case QQ_scores: Assert.assertFalse(header.encodingMap.containsKey(key), "Unexpected encoding key found: " + key.name()); continue; } Assert.assertTrue(header.encodingMap.containsKey(key), "Encoding key not found: " + key.name()); Assert.assertNotNull(header.encodingMap.get(key)); Assert.assertFalse(header.encodingMap.get(key).id == EncodingID.NULL); } }
@Test public void test_updateSubstitutionCodes() { final CramCompressionRecord record = new CramCompressionRecord(); final Substitution s = new Substitution(); s.setPosition(1); final byte refBase = 'A'; final byte readBase = 'C'; s.setBase(readBase); s.setReferenceBase(refBase); record.readFeatures = new ArrayList<>(); record.readFeatures.add(s); record.readLength = 2; final List<CramCompressionRecord> records = new ArrayList<>(); records.add(record); final long[][] frequencies = new long[256][256]; frequencies[refBase][readBase] = 1; SubstitutionMatrix matrix = new SubstitutionMatrix(frequencies); Assert.assertTrue(s.getCode() == -1); CompressionHeaderFactory.updateSubstitutionCodes(records, matrix); Assert.assertFalse(s.getCode() == -1); Assert.assertEquals(s.getCode(), matrix.code(refBase, readBase)); }
substitutionMatrix = new SubstitutionMatrix(buildFrequencies(records)); updateSubstitutionCodes(records, substitutionMatrix);
substitutionMatrix = new SubstitutionMatrix(buildFrequencies(records)); updateSubstitutionCodes(records, substitutionMatrix);