public class SamLocusIterator extends java.lang.Object implements java.lang.Iterable<SamLocusIterator.LocusInfo>, CloseableIterator<SamLocusIterator.LocusInfo>
Modifier and Type | Class and Description |
---|---|
static class |
SamLocusIterator.LocusInfo
The unit of iteration.
|
static class |
SamLocusIterator.RecordAndOffset
Holds a SAMRecord plus the zero-based offset into that SAMRecord's bases and quality scores that corresponds
to the base and quality at the genomic position described the containing LocusInfo.
|
Constructor and Description |
---|
SamLocusIterator(SamReader samReader)
Prepare to iterate through the given SAM records, skipping non-primary alignments.
|
SamLocusIterator(SamReader samReader,
IntervalList intervalList)
Prepare to iterate through the given SAM records, skipping non-primary alignments.
|
SamLocusIterator(SamReader samReader,
IntervalList intervalList,
boolean useIndex)
Prepare to iterate through the given SAM records, skipping non-primary alignments
|
Modifier and Type | Method and Description |
---|---|
void |
close() |
int |
getMappingQualityScoreCutoff() |
int |
getMaxReadsToAccumulatePerLocus() |
int |
getQualityScoreCutoff() |
boolean |
hasNext()
Returns true if there are more LocusInfo objects that can be returned, due to any of the following reasons:
1) there are more aligned reads in the SAM file
2) there are LocusInfos in some stage of accumulation
3) there are loci in the target mask that have yet to be accumulated (even if there are no reads covering them)
|
boolean |
isEmitUncoveredLoci() |
boolean |
isIncludeNonPfReads() |
java.util.Iterator<SamLocusIterator.LocusInfo> |
iterator() |
SamLocusIterator.LocusInfo |
next()
hasNext() has been fixed so that if it returns true, next() is now guaranteed not to return null.
|
void |
remove() |
void |
setEmitUncoveredLoci(boolean emitUncoveredLoci) |
void |
setIncludeNonPfReads(boolean includeNonPfReads) |
void |
setMappingQualityScoreCutoff(int mappingQualityScoreCutoff) |
void |
setMaxReadsToAccumulatePerLocus(int maxReadsToAccumulatePerLocus)
If set, this will cap the number of reads we accumulate for any given position.
|
void |
setQualityScoreCutoff(int qualityScoreCutoff) |
void |
setSamFilters(java.util.List<SamRecordFilter> samFilters)
Controls which, if any, SAMRecords are filtered.
|
public SamLocusIterator(SamReader samReader)
public SamLocusIterator(SamReader samReader, IntervalList intervalList)
intervalList
- Either the list of desired intervals, or null. Note that if an intervalList is
passed in that is not coordinate sorted, it will eventually be coordinated sorted by this class.public SamLocusIterator(SamReader samReader, IntervalList intervalList, boolean useIndex)
samReader
- must be coordinate sortedintervalList
- Either the list of desired intervals, or null. Note that if an intervalList is
passed in that is not coordinate sorted, it will eventually be coordinated sorted by this class.useIndex
- If true, do indexed lookup to improve performance. Not relevant if intervalList == null.
It is no longer the case the useIndex==true can make performance worse. It should always perform at least
as well as useIndex==false, and generally will be much faster.public java.util.Iterator<SamLocusIterator.LocusInfo> iterator()
iterator
in interface java.lang.Iterable<SamLocusIterator.LocusInfo>
public void close()
close
in interface CloseableIterator<SamLocusIterator.LocusInfo>
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
public boolean hasNext()
hasNext
in interface java.util.Iterator<SamLocusIterator.LocusInfo>
public SamLocusIterator.LocusInfo next()
next
in interface java.util.Iterator<SamLocusIterator.LocusInfo>
public void remove()
remove
in interface java.util.Iterator<SamLocusIterator.LocusInfo>
public void setSamFilters(java.util.List<SamRecordFilter> samFilters)
samFilters
- list of filters, or null if no filtering is desired.public int getQualityScoreCutoff()
public void setQualityScoreCutoff(int qualityScoreCutoff)
public int getMappingQualityScoreCutoff()
public void setMappingQualityScoreCutoff(int mappingQualityScoreCutoff)
public boolean isIncludeNonPfReads()
public void setIncludeNonPfReads(boolean includeNonPfReads)
public boolean isEmitUncoveredLoci()
public void setEmitUncoveredLoci(boolean emitUncoveredLoci)
public int getMaxReadsToAccumulatePerLocus()
public void setMaxReadsToAccumulatePerLocus(int maxReadsToAccumulatePerLocus)