public boolean filterOut(final SAMRecord record) { for (final SamRecordFilter filter : filters) { if (!filter.filterOut(record)) { return false; } } return true; } public boolean filterOut(final SAMRecord first, final SAMRecord second) {
public boolean filterOut(final SAMRecord first, final SAMRecord second) { for (final SamRecordFilter filter : filters) { if (!filter.filterOut(first, second)) { return false; } } return true; } }
/** * Determines whether a SAMRecord matches this filter * * @param record the SAMRecord to evaluate * @return true if the SAMRecord matches at least one filter, otherwise false */ @Override public boolean filterOut(final SAMRecord record) { for (final SamRecordFilter filter : filters) { if (filter.filterOut(record)) { return true; } } return false; }
/** * Determines whether a SAMRecord matches this filter * * @param record the SAMRecord to evaluate * @return true if the SAMRecord matches at least one filter, otherwise false */ public boolean filterOut(final SAMRecord record) { for (final SamRecordFilter filter : filters) { if (filter.filterOut(record)) { return true; } } return false; }
/** * Determines whether a pair of SAMRecord matches this filter * * @param first the first SAMRecord to evaluate * @param second the second SAMRecord to evaluate * * @return true if the SAMRecords matches the filter, otherwise false */ public boolean filterOut(final SAMRecord first, final SAMRecord second) { for (final SamRecordFilter filter : filters) { if (filter.filterOut(first, second)) { return true; } } return false; } }
/** * Determines whether a SAMRecord matches this filter * * @param record the SAMRecord to evaluate * @return true if the SAMRecord matches at least one filter, otherwise false */ @Override public boolean filterOut(final SAMRecord record) { for (final SamRecordFilter filter : filters) { if (filter.filterOut(record)) { return true; } } return false; }
/** * Determines whether a pair of SAMRecord matches this filter * * @param first the first SAMRecord to evaluate * @param second the second SAMRecord to evaluate * * @return true if the SAMRecords matches the filter, otherwise false */ @Override public boolean filterOut(final SAMRecord first, final SAMRecord second) { for (final SamRecordFilter filter : filters) { if (filter.filterOut(first, second)) { return true; } } return false; } }
/** * Determines whether a pair of SAMRecord matches this filter * * @param first the first SAMRecord to evaluate * @param second the second SAMRecord to evaluate * * @return true if the SAMRecords matches the filter, otherwise false */ @Override public boolean filterOut(final SAMRecord first, final SAMRecord second) { for (final SamRecordFilter filter : filters) { if (filter.filterOut(first, second)) { return true; } } return false; } }
/** * Gets the next record from the underlying iterator that passes the filter * * @return SAMRecord the next filter-passing record */ private SAMRecord getNextRecord() { while (iterator.hasNext()) { SAMRecord record = iterator.next(); // update only the private copy of the metrics so that we don't need to worry about race conditions // that can arise when trying to update the global copy; it was agreed that this is the cleanest solution. privateRuntimeMetrics.incrementNumReadsSeen(); boolean filtered = false; for(SamRecordFilter filter: filters) { if(filter.filterOut(record)) { filtered = true; break; } } if(!filtered) return record; } return null; } }
public boolean[] shouldExtract(List<SAMRecord> records, ReferenceLookup lookup) { boolean hasConsistentReadPair = hasReadPairingConsistentWithReference(getReadPairConcordanceCalculator(), records); boolean[] hasConsistentReadAlignment = hasReadAlignmentConsistentWithReference(records); boolean[] extract = new boolean[records.size()]; for (int i = 0; i < records.size(); i++) { SAMRecord r = records.get(i); extract[i] = !hasConsistentReadAlignment[SAMRecordUtil.getSegmentIndex(r)] && !readfilter.filterOut(r); // supp records should use the primary alignment when considering concordance extract[i] |= !hasConsistentReadPair && !pairfilter.filterOut(primaryAlignmentForSupplementary(r)); extract[i] &= (!r.getDuplicateReadFlag() || INCLUDE_DUPLICATES); } return extract; } @Override
protected SAMRecord getNextRecord() { while (iterator.hasNext()) { SAMRecord record = iterator.next(); if (record.getReferenceIndex() == SAMRecord.NO_ALIGNMENT_REFERENCE_INDEX) return null; else if (record.getReferenceIndex() > stopAfterSequence) return null; else if (record.getReferenceIndex() == stopAfterSequence && record.getAlignmentStart() > stopAfterPosition) { return null; } if (!filter.filterOut(record)) { return record; } } return null; } }
protected SAMRecord getNextRecord() { while (iterator.hasNext()) { SAMRecord record = iterator.next(); if (record.getReferenceIndex() == SAMRecord.NO_ALIGNMENT_REFERENCE_INDEX) return null; else if (record.getReferenceIndex() > stopAfterSequence) return null; else if (record.getReferenceIndex() == stopAfterSequence && record.getAlignmentStart() > stopAfterPosition) { return null; } if (!filter.filterOut(record)) { return record; } } return null; } }
protected SAMRecord getNextRecord() { while (iterator.hasNext()) { SAMRecord record = iterator.next(); if (record.getReferenceIndex() == SAMRecord.NO_ALIGNMENT_REFERENCE_INDEX) return null; else if (record.getReferenceIndex() > stopAfterSequence) return null; else if (record.getReferenceIndex() == stopAfterSequence && record.getAlignmentStart() > stopAfterPosition) { return null; } if (!filter.filterOut(record)) { return record; } } return null; } }
if (filters.filterOut(sam)) { sam.setAttribute(ReservedTagConstants.XN, 1);
@Override protected void acceptRead(final SAMRecord rec, final ReferenceSequence ref) { if (recordFilter.filterOut(rec)) return;