/** * 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; } }
cramRecord.flags = bitFlagsCodec.readData(); cramRecord.compressionFlags = compressionBitFlagsCodec.readData(); if (refId == Slice.MULTI_REFERENCE) { cramRecord.sequenceId = refIdCodec.readData(); } else { cramRecord.sequenceId = refId; cramRecord.readLength = readLengthCodec.readData(); if (APDelta) { cramRecord.alignmentDelta = alignmentStartCodec.readData(); } else { cramRecord.alignmentStart = alignmentStartCodec.readData(); cramRecord.readGroupID = readGroupCodec.readData(); cramRecord.readName = new String(readNameCodec.readData(), charset); cramRecord.mateFlags = mateBitFlagCodec.readData(); if (!captureReadNames) { cramRecord.readName = new String(readNameCodec.readData(), charset); cramRecord.mateSequenceID = mateReferenceIdCodec.readData(); cramRecord.mateAlignmentStart = mateAlignmentStartCodec.readData(); cramRecord.templateSize = insertSizeCodec.readData(); } else if (cramRecord.isHasMateDownStream()) { cramRecord.recordsToNextFragment = distanceToNextFragmentCodec.readData(); final Integer tagIdList = tagIdListCodec.readData(); final byte[][] ids = tagIdDictionary[tagIdList];
cramRecord.flags = bitFlagsCodec.readData(); cramRecord.compressionFlags = compressionBitFlagsCodec.readData(); if (refId == Slice.MULTI_REFERENCE) { cramRecord.sequenceId = refIdCodec.readData(); } else { cramRecord.sequenceId = refId; cramRecord.readLength = readLengthCodec.readData(); if (APDelta) { cramRecord.alignmentDelta = alignmentStartCodec.readData(); } else { cramRecord.alignmentStart = alignmentStartCodec.readData(); cramRecord.readGroupID = readGroupCodec.readData(); cramRecord.readName = new String(readNameCodec.readData(), charset); cramRecord.mateFlags = mateBitFlagCodec.readData(); if (!captureReadNames) { cramRecord.readName = new String(readNameCodec.readData(), charset); cramRecord.mateSequenceID = mateReferenceIdCodec.readData(); cramRecord.mateAlignmentStart = mateAlignmentStartCodec.readData(); cramRecord.templateSize = insertSizeCodec.readData(); } else if (cramRecord.isHasMateDownStream()) { cramRecord.recordsToNextFragment = distanceToNextFragmentCodec.readData(); final Integer tagIdList = tagIdListCodec.readData(); final byte[][] ids = tagIdDictionary[tagIdList];
/** * 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(dataProvider = "negativeConstructor", expectedExceptions = RuntimeException.class) public void negativeConstructorTest(final DataSeriesType valueType, final EncodingParams params) { new DataSeriesReader(valueType, params, null, null); } }
qualityScoreArrayCodec = new DataSeriesReader<>(DataSeriesType.BYTE_ARRAY, header.encodingMap.get(DataSeries.QS_QualityScore), coreInputStream, externalInputMap); mapEntry -> new DataSeriesReader<>(DataSeriesType.BYTE_ARRAY, mapEntry.getValue(), coreInputStream, externalInputMap)));
qualityScoreArrayCodec = new DataSeriesReader<>(DataSeriesType.BYTE_ARRAY, header.encodingMap.get(DataSeries.QS_QualityScore), coreInputStream, externalInputMap); mapEntry -> new DataSeriesReader<>(DataSeriesType.BYTE_ARRAY, mapEntry.getValue(), coreInputStream, externalInputMap)));