@Test() public void twoCharsPositiveTest() { for (final DataSeries series : DataSeries.values()) { final String twoChars = series.name().substring(0, 2); Assert.assertEquals(series.getCanonicalName(), twoChars); Assert.assertEquals(DataSeries.byCanonicalName(twoChars), series); } }
private void addExternalEncoding(final DataSeries dataSeries, final EncodingParams params, final ExternalCompressor compressor) { header.externalIds.add(dataSeries.getExternalBlockContentId()); header.externalCompressors.put(dataSeries.getExternalBlockContentId(), compressor); header.encodingMap.put(dataSeries, params); }
/** * Look up a Data Series in the Cram Compression Header's Encoding Map. If found, create a Data Reader * * @param dataSeries Which Data Series to write * @param <T> The Java data type associated with the Data Series * @return a Data Reader for the given Data Series, or null if it's not in the encoding map */ private <T> DataSeriesReader<T> createDataReader(DataSeries dataSeries) { if (encodingMap.containsKey(dataSeries)) { return new DataSeriesReader<>(dataSeries.getType(), encodingMap.get(dataSeries), coreBlockInputStream, externalBlockInputMap); } else { return null; } }
@Test public void externalBlockContentIdTest() { // requirements: unique positive integers final Set<Integer> ids = new HashSet<>(DataSeries.values().length); for (DataSeries ds : DataSeries.values()) { final Integer id = ds.getExternalBlockContentId(); Assert.assertTrue(id > 0); ids.add(id); } Assert.assertEquals(ids.size(), DataSeries.values().length); } }
final DataSeries dataSeries = DataSeries.byCanonicalName(dataSeriesAbbreviation); dataSeries.name(), id.name(), Arrays.toString(Arrays.copyOf(paramBytes, 20))));
@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); } }
continue; final String dataSeriesAbbreviation = dataSeries.getCanonicalName(); mapBuffer.put((byte) dataSeriesAbbreviation.charAt(0)); mapBuffer.put((byte) dataSeriesAbbreviation.charAt(1));
@Test(dataProvider = "twoCharsNegative", expectedExceptions = CRAMException.class) public void twoCharsNegativeTest(final String badKey) { DataSeries.byCanonicalName(badKey); }
final DataSeries dataSeries = DataSeries.byCanonicalName(dataSeriesAbbreviation); dataSeries.name(), id.name(), Arrays.toString(Arrays.copyOf(paramBytes, 20))));
continue; final String dataSeriesAbbreviation = dataSeries.getCanonicalName(); mapBuffer.put((byte) dataSeriesAbbreviation.charAt(0)); mapBuffer.put((byte) dataSeriesAbbreviation.charAt(1));
private void addExternalEncoding(final DataSeries dataSeries, final EncodingParams params, final ExternalCompressor compressor) { header.externalIds.add(dataSeries.getExternalBlockContentId()); header.externalCompressors.put(dataSeries.getExternalBlockContentId(), compressor); header.encodingMap.put(dataSeries, params); }
/** * Look up a Data Series in the Cram Compression Header's Encoding Map. If found, create a Data Reader * * @param dataSeries Which Data Series to write * @param <T> The Java data type associated with the Data Series * @return a Data Reader for the given Data Series, or null if it's not in the encoding map */ private <T> DataSeriesReader<T> createDataReader(DataSeries dataSeries) { if (encodingMap.containsKey(dataSeries)) { return new DataSeriesReader<>(dataSeries.getType(), encodingMap.get(dataSeries), coreBlockInputStream, externalBlockInputMap); } else { return null; } }
private void addExternalIntegerEncoding(final DataSeries dataSeries, final ExternalCompressor compressor) { addExternalEncoding(dataSeries, new ExternalIntegerEncoding(dataSeries.getExternalBlockContentId()).toParam(), compressor); }
/** * Look up a Data Series in the Cram Compression Header's Encoding Map. If found, create a Data Writer * * @param dataSeries Which Data Series to write * @param <T> The Java data type associated with the Data Series * @return a Data Writer for the given Data Series, or null if it's not in the encoding map */ private <T> DataSeriesWriter<T> createDataWriter(final DataSeries dataSeries) { if (encodingMap.containsKey(dataSeries)) { return new DataSeriesWriter<>(dataSeries.getType(), encodingMap.get(dataSeries), coreBlockOutputStream, externalBlockOutputMap); } else { return null; } }
private void addExternalIntegerEncoding(final DataSeries dataSeries, final ExternalCompressor compressor) { addExternalEncoding(dataSeries, new ExternalIntegerEncoding(dataSeries.getExternalBlockContentId()).toParam(), compressor); }
/** * Look up a Data Series in the Cram Compression Header's Encoding Map. If found, create a Data Writer * * @param dataSeries Which Data Series to write * @param <T> The Java data type associated with the Data Series * @return a Data Writer for the given Data Series, or null if it's not in the encoding map */ private <T> DataSeriesWriter<T> createDataWriter(final DataSeries dataSeries) { if (encodingMap.containsKey(dataSeries)) { return new DataSeriesWriter<>(dataSeries.getType(), encodingMap.get(dataSeries), coreBlockOutputStream, externalBlockOutputMap); } else { return null; } }
private void addExternalByteRansOrderOneEncoding(final DataSeries dataSeries) { addExternalEncoding(dataSeries, new ExternalByteEncoding(dataSeries.getExternalBlockContentId()).toParam(), ExternalCompressor.createRANS(RANS.ORDER.ONE)); }
private void addExternalByteArrayStopTabGzipEncoding(final DataSeries dataSeries) { addExternalEncoding(dataSeries, new ByteArrayStopEncoding((byte) '\t', dataSeries.getExternalBlockContentId()).toParam(), ExternalCompressor.createGZIP()); }
private void addExternalByteGzipEncoding(final DataSeries dataSeries) { addExternalEncoding(dataSeries, new ExternalByteEncoding(dataSeries.getExternalBlockContentId()).toParam(), ExternalCompressor.createGZIP()); }
private void addExternalByteRansOrderOneEncoding(final DataSeries dataSeries) { addExternalEncoding(dataSeries, new ExternalByteEncoding(dataSeries.getExternalBlockContentId()).toParam(), ExternalCompressor.createRANS(RANS.ORDER.ONE)); }