@Override public void close() { if (lastRecord != null) { lastRecord.detachFromIterator(); lastRecord = null; } alignedIterator = null; } }
/** * For records equality, we should only compare read id, reference and position on the reference. * Since read id is a constructor parameter, we only need to make sure that reference info is loaded. * @param o other * @return comparison result */ @Override public boolean equals(final Object o) { if (o instanceof SRALazyRecord) { SRALazyRecord otherRecord = (SRALazyRecord)o; otherRecord.getReferenceIndex(); otherRecord.getAlignmentStart(); } getReferenceIndex(); getAlignmentStart(); return super.equals(o); }
@Override public void loadValue(SRALazyRecord self) { self.getBaseQualities(); } },
@Override public List<SAMValidationError> isValid(final boolean firstOnly) { loadFields(); getFlags(); getBinaryAttributes(); return super.isValid(firstOnly); }
private SAMRecord nextUnalignment() { try { lastRecord = new SRALazyRecord(header, accession, run, unalignedIterator, unalignedIterator.getReadId(), lastUnalignedFragmentIndex); } catch (ErrorMsg e) { throw new RuntimeException(e); } if (validationStringency != null) { lastRecord.setValidationStringency(validationStringency); } hasMoreUnalignedFragments = null; return lastRecord; }
@Override public String getCigarString() { if (!initializedFields.contains(LazyField.CIGAR_STRING)) { setCigarString(getCigarStringImpl()); } return super.getCigarString(); }
@Override public byte[] getBaseQualities() { if (!initializedFields.contains(LazyField.QUALS)) { setBaseQualities(getBaseQualitiesImpl()); } return super.getBaseQualities(); }
@Override public int getAlignmentStart() { if (!initializedFields.contains(LazyField.ALIGNMENT_START)) { setAlignmentStart(getAlignmentStartImpl()); } return super.getAlignmentStart(); }
@Override protected SAMBinaryTagAndValue getBinaryAttributes() { for (Map.Entry<Short, LazyAttribute> info : lazyAttributeTags.entrySet()) { if (!initializedAttributes.contains(info.getValue())) { getAttribute(info.getKey()); } } return super.getBinaryAttributes(); }
@Override public void loadValue(SRALazyRecord self) { self.getCigarString(); } },
@Override public void loadValue(SRALazyRecord self) { self.getAlignmentStart(); } },
@Override public List<SAMValidationError> isValid(final boolean firstOnly) { loadFields(); getFlags(); getBinaryAttributes(); return super.isValid(firstOnly); }
private SAMRecord nextUnalignment() { try { lastRecord = new SRALazyRecord(header, accession, run, unalignedIterator, unalignedIterator.getReadId(), lastUnalignedFragmentIndex); } catch (ErrorMsg e) { throw new RuntimeException(e); } if (validationStringency != null) { lastRecord.setValidationStringency(validationStringency); } hasMoreUnalignedFragments = null; return lastRecord; }
@Override public Cigar getCigar() { if (!initializedFields.contains(LazyField.CIGAR_STRING)) { setCigarString(getCigarStringImpl()); } return super.getCigar(); }
@Override public byte[] getBaseQualities() { if (!initializedFields.contains(LazyField.QUALS)) { setBaseQualities(getBaseQualitiesImpl()); } return super.getBaseQualities(); }
@Override public int getAlignmentStart() { if (!initializedFields.contains(LazyField.ALIGNMENT_START)) { setAlignmentStart(getAlignmentStartImpl()); } return super.getAlignmentStart(); }
@Override public String format() { if (!initializedAttributes.contains(LazyAttribute.RG)) { getAttribute("RG"); } return super.format(); }
@Override public void loadValue(SRALazyRecord self) { self.getCigarString(); } },
@Override public void loadValue(SRALazyRecord self) { self.getAlignmentStart(); } },
private SAMRecord nextAlignment() { try { lastRecord = new SRALazyRecord(header, accession, run, alignedIterator, alignedIterator.getReadId(), alignedIterator.getAlignmentId()); } catch (ErrorMsg e) { throw new RuntimeException(e); } if (validationStringency != null) { lastRecord.setValidationStringency(validationStringency); } hasMoreAlignments = null; return lastRecord; }