@Override public boolean getMateUnmappedFlag() { if (!initializedFlags.contains(LazyFlag.MATE_UNMAPPED)) { setMateUnmappedFlag(getMateUnmappedFlagImpl()); } return super.getMateUnmappedFlag(); }
private static boolean isPairedAndBothMapped(final SAMRecord record) { return record.getReadPairedFlag() && !record.getReadUnmappedFlag() && !record.getMateUnmappedFlag(); }
/** * Checks to see if it is valid for this record to have a mate CIGAR (MC) and then if there is a mate CIGAR available. This is done by * checking that this record is paired, its mate is mapped, and that it returns a non-null mate CIGAR. * @param rec * @return */ public static boolean hasMateCigar(SAMRecord rec) { // NB: use getMateCigarString rather than getMateCigar to avoid validation. return (rec.getReadPairedFlag() && !rec.getMateUnmappedFlag() && null != SAMUtils.getMateCigarString(rec)); } }
/** * Checks to see if it is valid for this record to have a mate CIGAR (MC) and then if there is a mate CIGAR available. This is done by * checking that this record is paired, its mate is mapped, and that it returns a non-null mate CIGAR. * * @param rec * @return */ public static boolean hasMateCigar(SAMRecord rec) { // NB: use getMateCigarString rather than getMateCigar to avoid validation. return (rec.getReadPairedFlag() && !rec.getMateUnmappedFlag() && null != SAMUtils.getMateCigarString(rec)); }
private static boolean isPairedAndBothMapped(final SAMRecord record) { return record.getReadPairedFlag() && !record.getReadUnmappedFlag() && !record.getMateUnmappedFlag(); }
/** Updates the duplication metrics given the provided duplicate */ private void updateDuplicationMetrics(final ReadEndsForMateCigar duplicate, final DuplicationMetrics metrics) { // Update the duplication metrics if (!duplicate.getRecord().getReadPairedFlag() || duplicate.getRecord().getMateUnmappedFlag()) { ++metrics.UNPAIRED_READ_DUPLICATES; } else { ++metrics.READ_PAIR_DUPLICATES;// will need to be divided by 2 at the end } this.numDuplicates++; }
/** Updates the duplication metrics given the provided duplicate */ private void updateDuplicationMetrics(final ReadEndsForMateCigar duplicate, final DuplicationMetrics metrics) { // Update the duplication metrics if (!duplicate.getRecord().getReadPairedFlag() || duplicate.getRecord().getMateUnmappedFlag()) { ++metrics.UNPAIRED_READ_DUPLICATES; } else { ++metrics.READ_PAIR_DUPLICATES;// will need to be divided by 2 at the end } this.numDuplicates++; }
private boolean pairedReadIsMovable(SAMRecord read) { return read.getReadPairedFlag() // we're a paired read && (!read.getReadUnmappedFlag() || !read.getMateUnmappedFlag()) // at least one read is mapped && !iSizeTooBigToMove(read); // insert size isn't too big }
private int getMateReferenceIndex(final SAMRecord record) { if (record.getReadPairedFlag() && !record.getReadUnmappedFlag() && !record.getMateUnmappedFlag()) { return record.getMateReferenceIndex(); } else { return -1; } }
private int getMateReferenceIndex(final SAMRecord record) { if (record.getReadPairedFlag() && !record.getReadUnmappedFlag() && !record.getMateUnmappedFlag()) { return record.getMateReferenceIndex(); } else { return -1; } }
/** * The record should already have the DS and MC tags computed */ public void addRecord(final SAMRecord record) { if (record.getReadPairedFlag() && !record.getMateUnmappedFlag() && null == record.getAttribute(SAMTag.MC.getBinaryTag())) { throw new SAMException("Mate Cigar tag (MC) not found in: " + record.getReadName()); } this.records.add(record); }
/** * The record should already have the DS and MC tags computed */ public void addRecord(final SAMRecord record) { if (record.getReadPairedFlag() && !record.getMateUnmappedFlag() && null == record.getAttribute(SAMTag.MC.getBinaryTag())) { throw new SAMException("Mate Cigar tag (MC) not found in: " + record.getReadName()); } this.records.add(record); }
public boolean filterOut(SAMRecord read) { return (! read.getReadPairedFlag() ) || read.getMateUnmappedFlag() || read.getDuplicateReadFlag() || read.getReadFailsVendorQualityCheckFlag() || (read.getMateNegativeStrandFlag() == read.getReadNegativeStrandFlag()); } }
private int getMateCoordinate(final SAMRecord record) { if (record.getReadPairedFlag() && !record.getReadUnmappedFlag() && !record.getMateUnmappedFlag()) { return record.getMateNegativeStrandFlag() ? SAMUtils.getMateUnclippedEnd(record) : SAMUtils.getMateUnclippedStart(record); } else { return -1; } }
private int getMateCoordinate(final SAMRecord record) { if (record.getReadPairedFlag() && !record.getReadUnmappedFlag() && !record.getMateUnmappedFlag()) { return record.getMateNegativeStrandFlag() ? SAMUtils.getMateUnclippedEnd(record) : SAMUtils.getMateUnclippedStart(record); } else { return -1; } }
private int getPairedOrientation(final SAMRecord record) { if (record.getReadPairedFlag() && !record.getReadUnmappedFlag() && !record.getMateUnmappedFlag()) { return getPairedOrientationByte(record.getReadNegativeStrandFlag(), record.getMateNegativeStrandFlag()); } else { return getFragmentOrientation(record); } }
private int getPairedOrientation(final SAMRecord record) { if (record.getReadPairedFlag() && !record.getReadUnmappedFlag() && !record.getMateUnmappedFlag()) { return getPairedOrientationByte(record.getReadNegativeStrandFlag(), record.getMateNegativeStrandFlag()); } else { return getFragmentOrientation(record); } }
public static boolean meetsRemoteCriteria(SAMEvidenceSource source, SAMRecord read) { return read.getReadPairedFlag() && !read.getMateUnmappedFlag() // other side has to be an anchor && !read.getReadFailsVendorQualityCheckFlag() && (meetsDPRemoteCriteria(source, read) || meetsOEARemoteCriteria(source, read)) && !source.getContext().getConfig().adapters.containsAdapter(read); } private static boolean meetsDPRemoteCriteria(SAMEvidenceSource source, SAMRecord read) {
protected Range<Long> getMateRange(SAMRecord r) { if (!r.getReadPairedFlag() || r.getMateUnmappedFlag()) { return null; } Object mc = r.getAttribute(SAMTag.MC.name()); Cigar mateCigar = null; if (mc instanceof String) { mateCigar = TextCigarCodec.decode((String)mc); } long start = lgc.getLinearCoordinate(r.getMateReferenceIndex(), r.getMateAlignmentStart()); return rangeOf(start, mateCigar); }
private boolean isLowerMappedOfNonOverlappingConcordantPair(SAMRecord read) { return !read.getReadUnmappedFlag() && read.getReadPairedFlag() && !read.getMateUnmappedFlag() && read.getAlignmentEnd() < read.getMateAlignmentStart() && read.getReferenceIndex().equals(read.getMateReferenceIndex()) && (read.getAlignmentStart() < read.getMateAlignmentStart() || (read.getAlignmentStart() == read.getMateAlignmentStart() && read.getFirstOfPairFlag())) && pairing.isConcordant(read); } private String trackedBufferName_currentReferenceRead = "coverage.currentReferenceRead";