/** * Initialize a Cram Record Reader from a Slice * * @param header the associated Cram Compression Header * @param validationStringency how strict to be when reading this CRAM record */ public CramRecordReader createCramRecordReader(final CompressionHeader header, final ValidationStringency validationStringency) { return new CramRecordReader(getCoreBlockInputStream(), getExternalBlockInputMap(), header, sequenceId, validationStringency); }
private void readCramRecord() { final CramCompressionRecord cramRecord = new CramCompressionRecord(); super.read(cramRecord); if (APDelta) { currentAlignmentStart += cramRecord.alignmentDelta; } else { currentAlignmentStart = cramRecord.alignmentStart; } if (!spans.containsKey(cramRecord.sequenceId)) { spans.put(cramRecord.sequenceId, new AlignmentSpan(currentAlignmentStart, cramRecord.readLength)); } else { spans.get(cramRecord.sequenceId).addSingle(currentAlignmentStart, cramRecord.readLength); } } }
bitFlagsCodec = createDataReader(DataSeries.BF_BitFlags); compressionBitFlagsCodec = createDataReader(DataSeries.CF_CompressionBitFlags); readLengthCodec = createDataReader(DataSeries.RL_ReadLength); alignmentStartCodec = createDataReader(DataSeries.AP_AlignmentPositionOffset); readGroupCodec = createDataReader(DataSeries.RG_ReadGroup); readNameCodec = createDataReader(DataSeries.RN_ReadName); distanceToNextFragmentCodec = createDataReader(DataSeries.NF_RecordsToNextFragment); numberOfReadFeaturesCodec = createDataReader(DataSeries.FN_NumberOfReadFeatures); readFeaturePositionCodec = createDataReader(DataSeries.FP_FeaturePosition); readFeatureCodeCodec = createDataReader(DataSeries.FC_FeatureCode); baseCodec = createDataReader(DataSeries.BA_Base); qualityScoreCodec = createDataReader(DataSeries.QS_QualityScore); baseSubstitutionCodec = createDataReader(DataSeries.BS_BaseSubstitutionCode); insertionCodec = createDataReader(DataSeries.IN_Insertion); softClipCodec = createDataReader(DataSeries.SC_SoftClip); hardClipCodec = createDataReader(DataSeries.HC_HardClip); paddingCodec = createDataReader(DataSeries.PD_padding); deletionLengthCodec = createDataReader(DataSeries.DL_DeletionLength); mappingScoreCodec = createDataReader(DataSeries.MQ_MappingQualityScore); mateBitFlagCodec = createDataReader(DataSeries.MF_MateBitFlags); mateReferenceIdCodec = createDataReader(DataSeries.NS_NextFragmentReferenceSequenceID); mateAlignmentStartCodec = createDataReader(DataSeries.NP_NextFragmentAlignmentStart); insertSizeCodec = createDataReader(DataSeries.TS_InsertSize); tagIdListCodec = createDataReader(DataSeries.TL_TagIdList); refIdCodec = createDataReader(DataSeries.RI_RefId); refSkipCodec = createDataReader(DataSeries.RS_RefSkip); basesCodec = createDataReader(DataSeries.BB_bases); scoresCodec = createDataReader(DataSeries.QQ_scores);
private CramCompressionRecord read(final byte[] dataBytes, final CompressionHeader header, final int refId, final Map<Integer, ByteArrayInputStream> inputMap) throws IOException { try (final ByteArrayInputStream is = new ByteArrayInputStream(dataBytes); final BitInputStream bis = new DefaultBitInputStream(is)) { final CramRecordReader reader = new CramRecordReader(bis, inputMap, header, refId, ValidationStringency.DEFAULT_STRINGENCY); final CramCompressionRecord recordToRead = new CramCompressionRecord(); reader.read(recordToRead); return recordToRead; } }
final CramRecordReader reader = new CramRecordReader(ValidationStringency.SILENT); dataReaderFactory.buildReader(reader, new DefaultBitInputStream(new ByteArrayInputStream( slice.coreBlock.getRawContent())), inputMap, c.header, slice.sequenceId); reader.read(record); if (record.isSegmentUnmapped() || record.readFeatures == null || record.readFeatures.isEmpty()) continue;
private void readCramRecord() { final CramCompressionRecord cramRecord = new CramCompressionRecord(); super.read(cramRecord); if (APDelta) { currentAlignmentStart += cramRecord.alignmentDelta; } else { currentAlignmentStart = cramRecord.alignmentStart; } if (!spans.containsKey(cramRecord.sequenceId)) { spans.put(cramRecord.sequenceId, new AlignmentSpan(currentAlignmentStart, cramRecord.readLength)); } else { spans.get(cramRecord.sequenceId).addSingle(currentAlignmentStart, cramRecord.readLength); } } }
/** * Initialize a Cram Record Reader from a Slice * * @param header the associated Cram Compression Header * @param validationStringency how strict to be when reading this CRAM record */ public CramRecordReader createCramRecordReader(final CompressionHeader header, final ValidationStringency validationStringency) { return new CramRecordReader(getCoreBlockInputStream(), getExternalBlockInputMap(), header, sequenceId, validationStringency); }
bitFlagsCodec = createDataReader(DataSeries.BF_BitFlags); compressionBitFlagsCodec = createDataReader(DataSeries.CF_CompressionBitFlags); readLengthCodec = createDataReader(DataSeries.RL_ReadLength); alignmentStartCodec = createDataReader(DataSeries.AP_AlignmentPositionOffset); readGroupCodec = createDataReader(DataSeries.RG_ReadGroup); readNameCodec = createDataReader(DataSeries.RN_ReadName); distanceToNextFragmentCodec = createDataReader(DataSeries.NF_RecordsToNextFragment); numberOfReadFeaturesCodec = createDataReader(DataSeries.FN_NumberOfReadFeatures); readFeaturePositionCodec = createDataReader(DataSeries.FP_FeaturePosition); readFeatureCodeCodec = createDataReader(DataSeries.FC_FeatureCode); baseCodec = createDataReader(DataSeries.BA_Base); qualityScoreCodec = createDataReader(DataSeries.QS_QualityScore); baseSubstitutionCodec = createDataReader(DataSeries.BS_BaseSubstitutionCode); insertionCodec = createDataReader(DataSeries.IN_Insertion); softClipCodec = createDataReader(DataSeries.SC_SoftClip); hardClipCodec = createDataReader(DataSeries.HC_HardClip); paddingCodec = createDataReader(DataSeries.PD_padding); deletionLengthCodec = createDataReader(DataSeries.DL_DeletionLength); mappingScoreCodec = createDataReader(DataSeries.MQ_MappingQualityScore); mateBitFlagCodec = createDataReader(DataSeries.MF_MateBitFlags); mateReferenceIdCodec = createDataReader(DataSeries.NS_NextFragmentReferenceSequenceID); mateAlignmentStartCodec = createDataReader(DataSeries.NP_NextFragmentAlignmentStart); insertSizeCodec = createDataReader(DataSeries.TS_InsertSize); tagIdListCodec = createDataReader(DataSeries.TL_TagIdList); refIdCodec = createDataReader(DataSeries.RI_RefId); refSkipCodec = createDataReader(DataSeries.RS_RefSkip); basesCodec = createDataReader(DataSeries.BB_bases); scoresCodec = createDataReader(DataSeries.QQ_scores);
record.index = i; reader.read(record);
record.index = i; reader.read(record);