@Override public AlignmentFilters<SAMRecord> addUnmappedFilter() { filters.add(samRecord -> samRecord.getReadUnmappedFlag()); return this; }
public int compare(final SAMRecord rec1, final SAMRecord rec2) { if (rec1.getReadUnmappedFlag()) { if (rec2.getReadUnmappedFlag()) return 0; else return 1; } else if (rec2.getReadUnmappedFlag()) { return -1; } return -SAMUtils.compareMapqs(rec1.getMappingQuality(), rec2.getMappingQuality()); } }
public void finalizeStats() { if ( lastRead != null && ! lastRead.getReadUnmappedFlag() ) { stacksPerContig.add(currentContigNumStacks); updateReadsPerStack(currentStackNumReads); } } }
/** * @return reference name, null if this is unmapped */ @Override public String getContig() { if (getReadUnmappedFlag()) { return null; } else { return getReferenceName(); } }
public static void setProperPairFlags(final SAMRecord rec1, final SAMRecord rec2, final List<PairOrientation> expectedOrientations) { final boolean properPair = (!rec1.getReadUnmappedFlag() && !rec2.getReadUnmappedFlag()) ? isProperPair(rec1, rec2, expectedOrientations) : false; rec1.setProperPairFlag(properPair); rec2.setProperPairFlag(properPair); }
public boolean filterOut(final SAMRecord first, final SAMRecord second) { return ((first.getReadUnmappedFlag() || SAMUtils.cigarMapsNoBasesToRef(first.getCigar())) && (second.getReadUnmappedFlag() || SAMUtils.cigarMapsNoBasesToRef(second.getCigar()))); } }));
private static boolean isPairedAndBothMapped(final SAMRecord record) { return record.getReadPairedFlag() && !record.getReadUnmappedFlag() && !record.getMateUnmappedFlag(); }
private void fixRecord(SAMRecord record, ReferenceSequenceFileWalker refSeqWalker){ if (!record.getReadUnmappedFlag()) { if (SET_ONLY_UQ) { AbstractAlignmentMerger.fixUq(record, refSeqWalker, IS_BISULFITE_SEQUENCE); } else { AbstractAlignmentMerger.fixNmMdAndUq(record, refSeqWalker, IS_BISULFITE_SEQUENCE); } } } }
/** * Returns true if we don't think this read is eligible for the BAQ calculation. Examples include non-PF reads, * duplicates, or unmapped reads. Used by baqRead to determine if a read should fall through the calculation. * * @param read * @return */ public boolean excludeReadFromBAQ(final SAMRecord read) { // keeping mapped reads, regardless of pairing status, or primary alignment status. return read.getReadUnmappedFlag() || read.getReadFailsVendorQualityCheckFlag() || read.getDuplicateReadFlag(); } }
private boolean readIsPastCurrentPosition( final T read ) { return ! positionEstablished || read.getReferenceIndex() > currentContigIndex || read.getAlignmentStart() > currentAlignmentStart || (read.getReadUnmappedFlag() && ! unmappedReadsReached); }
public SAMRecord next() { SAMRecord cur = it.next(); if ( last != null ) verifyRecord(last, cur); if ( ! cur.getReadUnmappedFlag() ) last = cur; return cur; }
public boolean filterOut(final SAMRecord first, final SAMRecord second) { return ((first.getReadUnmappedFlag() || SAMUtils.cigarMapsNoBasesToRef(first.getCigar())) && (second.getReadUnmappedFlag() || SAMUtils.cigarMapsNoBasesToRef(second.getCigar()))); } }));
/** * Check for invalid end of alignments. * @param read The read to validate. * @return true if read end is valid, false otherwise. */ private static boolean checkInvalidAlignmentEnd(final SAMRecord read ) { // Alignment aligns to negative number of bases in the reference. if( !read.getReadUnmappedFlag() && read.getAlignmentEnd() != -1 && (read.getAlignmentEnd()-read.getAlignmentStart()+1)<0 ) return false; return true; }
private int getMateReferenceIndex(final SAMRecord record) { if (record.getReadPairedFlag() && !record.getReadUnmappedFlag() && !record.getMateUnmappedFlag()) { return record.getMateReferenceIndex(); } else { return -1; } }
@Override protected void acceptRead(final SAMRecord rec, final ReferenceSequence ref) { // Skip unwanted records if (PF_READS_ONLY && rec.getReadFailsVendorQualityCheckFlag()) return; if (ALIGNED_READS_ONLY && rec.getReadUnmappedFlag()) return; if (rec.isSecondaryOrSupplementary()) return; q.addRecord(rec); oq.addRecord(rec); }
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); } }
private void testConvertedSAMRecord(final SAMRecord converted, final SAMRecord original) { Assert.assertEquals(converted.getReadName(), original.getReadName()); Assert.assertEquals(converted.getBaseQualities(), original.getBaseQualities()); Assert.assertEquals(converted.getReadBases(), original.getReadBases()); Assert.assertEquals(converted.getStringAttribute(SAMTag.CO.name()), original.getStringAttribute(SAMTag.CO.name())); Assert.assertTrue(converted.getReadUnmappedFlag()); } }
private void validateUq(final File input, final File reference) { final SamReader reader = SamReaderFactory.makeDefault().referenceSequence(reference).open(input); final SAMRecordIterator iterator = reader.iterator(); while (iterator.hasNext()){ SAMRecord rec = iterator.next(); if (!rec.getReadUnmappedFlag()) Assert.assertNotNull(rec.getAttribute("UQ")); } }