public static void restoreQualityScores(final byte defaultQualityScore, final List<CramCompressionRecord> records) { for (final CramCompressionRecord record : records) restoreQualityScores(defaultQualityScore, record); }
private static void restoreMateInfo(final CramCompressionRecord record) { if (record.next == null) { return; } CramCompressionRecord cur; cur = record; while (cur.next != null) { setNextMate(cur, cur.next); cur = cur.next; } // cur points to the last segment now: final CramCompressionRecord last = cur; setNextMate(last, record); // record.setFirstSegment(true); // last.setLastSegment(true); final int templateLength = computeInsertSize(record, last); record.templateSize = templateLength; last.templateSize = -templateLength; }
if (record.previous != null) continue; if (record.next == null) continue; restoreMateInfo(record); record.readBases = SAMRecord.NULL_SEQUENCE; } else record.readBases = restoreReadBases(record, refBases, refOffset_zeroBased, substitutionMatrix); restoreQualityScores(defaultQualityScore, records);
if (record.next == null) continue; restoreMateInfo(record); restoreBases(records, header, referenceSource, substitutionMatrix); restoreQualityScores(defaultQualityScore, records);
public CRAMIterator(final InputStream inputStream, final CRAMReferenceSource referenceSource, final ValidationStringency validationStringency) throws IOException { if (null == referenceSource) { throw new CRAMException("A reference source is required for CRAM files"); } this.countingInputStream = new CountingInputStream(inputStream); this.referenceSource = referenceSource; this.validationStringency = validationStringency; final CramContainerIterator containerIterator = new CramContainerIterator(this.countingInputStream); cramHeader = containerIterator.getCramHeader(); this.containerIterator = containerIterator; firstContainerOffset = this.countingInputStream.getCount(); records = new ArrayList<SAMRecord>(CRAMContainerStreamWriter.DEFAULT_RECORDS_PER_SLICE); normalizer = new CramNormalizer(cramHeader.getSamFileHeader(), referenceSource); parser = new ContainerParser(cramHeader.getSamFileHeader()); }
private static void restoreMateInfo(CramCompressionRecord r) { if (r.next == null) { return; } CramCompressionRecord cur; cur = r; while (cur.next != null) { setNextMate(cur, cur.next); cur = cur.next; } // cur points to the last segment now: CramCompressionRecord last = cur; setNextMate(last, r); final int templateLength = CramNormalizer.computeInsertSize(r, last); r.templateSize = templateLength; last.templateSize = -templateLength; }
int end = record.getAlignmentEnd(); if (record.alignmentStart > SAMRecord.NO_ALIGNMENT_START && end >= record.alignmentStart) addSpan(record.sequenceId, record.alignmentStart, end - record.alignmentStart + 1, 1, map); } else { if (!record.isSegmentUnmapped() || record.readBases == null) record.readBases = restoreReadBases(record, region.array, (int) region.alignmentStart - 1, substitutionMatrix);
n.normalize(records, null, 0, container.header.substitutionMatrix);
alignmentStart, posInSeq, refOffsetZeroBased, posInRead); bases[posInRead - 1] = getByteOrDefault(ref, rp, (byte) 'N'); System.out.println("gotcha"); byte refBase = getByteOrDefault(ref, alignmentStart + posInSeq - refOffsetZeroBased, (byte) 'N'); refBase = Utils.normalizeBase(refBase); final byte base = substitutionMatrix.base(refBase, substitution.getCode());
ArrayList<CramCompressionRecord> cramRecords = new ArrayList<CramCompressionRecord>(10000); CramNormalizer n = new CramNormalizer(cramHeader.getSamFileHeader(), referenceSource); n.normalizeRecordsForReferenceSource(cramRecords, referenceSource, c.header.substitutionMatrix); long time2 = System.nanoTime(); normTime += time2 - time1;
if (record.next == null) continue; restoreMateInfo(record); record.readBases = SAMRecord.NULL_SEQUENCE; } else record.readBases = restoreReadBases(record, refBases, refOffset_zeroBased, substitutionMatrix); restoreQualityScores(defaultQualityScore, records);
public CRAMIterator(final SeekableStream seekableStream, final CRAMReferenceSource referenceSource, final long[] coordinates, final ValidationStringency validationStringency) throws IOException { if (null == referenceSource) { throw new CRAMException("A reference source is required for CRAM files"); } this.countingInputStream = new CountingInputStream(seekableStream); this.referenceSource = referenceSource; this.validationStringency = validationStringency; final CramSpanContainerIterator containerIterator = CramSpanContainerIterator.fromFileSpan(seekableStream, coordinates); cramHeader = containerIterator.getCramHeader(); this.containerIterator = containerIterator; firstContainerOffset = containerIterator.getFirstContainerOffset(); records = new ArrayList<SAMRecord>(CRAMContainerStreamWriter.DEFAULT_RECORDS_PER_SLICE); normalizer = new CramNormalizer(cramHeader.getSamFileHeader(), referenceSource); parser = new ContainerParser(cramHeader.getSamFileHeader()); }
final int templateLength = CramNormalizer.computeInsertSize(cramRecord, last);
normalizer.normalize(cramRecords, refs, 0, container.header.substitutionMatrix);
for (; posInRead < variation.getPosition(); posInRead++) { final int rp = alignmentStart + posInSeq++ - refOffsetZeroBased; bases[posInRead - 1] = getByteOrDefault(ref, rp, (byte) 'N'); case Substitution.operator: final Substitution substitution = (Substitution) variation; byte refBase = getByteOrDefault(ref, alignmentStart + posInSeq - refOffsetZeroBased, (byte) 'N');
if (record.previous != null) continue; if (record.next == null) continue; restoreMateInfo(record); record.readBases = SAMRecord.NULL_SEQUENCE; } else record.readBases = restoreReadBases(record, refBases, refOffset_zeroBased, substitutionMatrix); restoreQualityScores(defaultQualityScore, records);
public static void restoreQualityScores(final byte defaultQualityScore, final List<CramCompressionRecord> records) { for (final CramCompressionRecord record : records) restoreQualityScores(defaultQualityScore, record); }
private static void restoreMateInfo(final CramCompressionRecord record) { if (record.next == null) { return; } CramCompressionRecord cur; cur = record; while (cur.next != null) { setNextMate(cur, cur.next); cur = cur.next; } // cur points to the last segment now: final CramCompressionRecord last = cur; setNextMate(last, record); // record.setFirstSegment(true); // last.setLastSegment(true); final int templateLength = computeInsertSize(record, last); record.templateSize = templateLength; last.templateSize = -templateLength; }
public CRAMIterator(final InputStream inputStream, final CRAMReferenceSource referenceSource, final ValidationStringency validationStringency) { if (null == referenceSource) { throw new CRAMException("A reference source is required for CRAM files"); } this.countingInputStream = new CountingInputStream(inputStream); this.referenceSource = referenceSource; this.validationStringency = validationStringency; final CramContainerIterator containerIterator = new CramContainerIterator(this.countingInputStream); cramHeader = containerIterator.getCramHeader(); this.containerIterator = containerIterator; firstContainerOffset = this.countingInputStream.getCount(); records = new ArrayList<>(CRAMContainerStreamWriter.DEFAULT_RECORDS_PER_SLICE); normalizer = new CramNormalizer(cramHeader.getSamFileHeader(), referenceSource); parser = new ContainerParser(cramHeader.getSamFileHeader()); }
final int templateLength = CramNormalizer.computeInsertSize(cramRecord, last);