public static class SamReader.PrimitiveSamReaderToSamReaderAdapter extends java.lang.Object implements SamReader, SamReader.Indexing
SamReader.PrimitiveSamReader
that expands its functionality into a SamReader
,
given the backing SamInputResource
.
Wraps the SamReader.Indexing
interface as well, which was originally separate from SamReader
but in practice
the two are always implemented by the same class.SamReader.AssertingIterator, SamReader.Indexing, SamReader.PrimitiveSamReader, SamReader.PrimitiveSamReaderToSamReaderAdapter, SamReader.ReaderImplementation, SamReader.Type
Constructor and Description |
---|
PrimitiveSamReaderToSamReaderAdapter(SamReader.PrimitiveSamReader p,
SamInputResource resource) |
Modifier and Type | Method and Description |
---|---|
void |
close() |
BrowseableBAMIndex |
getBrowseableIndex()
Gets an index tagged with the BrowseableBAMIndex interface.
|
SAMFileHeader |
getFileHeader() |
SAMFileSpan |
getFilePointerSpanningReads()
Gets a pointer spanning all reads in the BAM file.
|
BAMIndex |
getIndex()
Retrieves the index for the given file type.
|
java.lang.String |
getResourceDescription() |
boolean |
hasBrowseableIndex()
Returns true if the supported index is browseable, meaning the bins in it can be traversed
and chunk data inspected and retrieved.
|
boolean |
hasIndex() |
SamReader.Indexing |
indexing()
Exposes the
SamReader.Indexing facet of this SamReader . |
SAMRecordIterator |
iterator()
Iterate through file in order.
|
SAMRecordIterator |
iterator(SAMFileSpan chunks)
Iterate through the given chunks in the file.
|
SAMRecordIterator |
query(QueryInterval[] intervals,
boolean contained)
Iterate over records that match one of the given intervals.
|
SAMRecordIterator |
query(java.lang.String sequence,
int start,
int end,
boolean contained)
Iterate over records that match the given interval.
|
SAMRecordIterator |
queryAlignmentStart(java.lang.String sequence,
int start)
Iterate over records that map to the given sequence and start at the given position.
|
SAMRecordIterator |
queryContained(QueryInterval[] intervals)
Iterate over records that are contained in the given interval.
|
SAMRecordIterator |
queryContained(java.lang.String sequence,
int start,
int end)
Iterate over records that are contained in the given interval.
|
SAMRecord |
queryMate(SAMRecord rec)
Wraps the boilerplate code for querying a record's mate, which is common across many implementations.
|
SAMRecordIterator |
queryOverlapping(QueryInterval[] intervals)
Iterate over records that overlap any of the given intervals.
|
SAMRecordIterator |
queryOverlapping(java.lang.String sequence,
int start,
int end)
Iterate over records that overlap the given interval.
|
SAMRecordIterator |
queryUnmapped() |
SamReader.Type |
type() |
SamReader.PrimitiveSamReader |
underlyingReader()
Access the underlying
SamReader.PrimitiveSamReader used by this adapter. |
public PrimitiveSamReaderToSamReaderAdapter(SamReader.PrimitiveSamReader p, SamInputResource resource)
public SamReader.PrimitiveSamReader underlyingReader()
SamReader.PrimitiveSamReader
used by this adapter.SamReader.PrimitiveSamReader
used by this adapter.public SAMRecordIterator queryOverlapping(java.lang.String sequence, int start, int end)
SamReader
queryOverlapping
in interface SamReader
sequence
- Reference sequence of interest.start
- 1-based, inclusive start of interval of interest. Zero implies start of the reference sequence.end
- 1-based, inclusive end of interval of interest. Zero implies end of the reference sequence.public SAMRecordIterator queryOverlapping(QueryInterval[] intervals)
SamReader
queryOverlapping
in interface SamReader
intervals
- Intervals to be queried. The intervals must be optimized, i.e. in order, with overlapping
and abutting intervals merged. This can be done with QueryInterval.optimizeIntervals(htsjdk.samtools.QueryInterval[])
public SAMRecordIterator queryContained(java.lang.String sequence, int start, int end)
SamReader
queryContained
in interface SamReader
sequence
- Reference sequence of interest.start
- 1-based, inclusive start of interval of interest. Zero implies start of the reference sequence.end
- 1-based, inclusive end of interval of interest. Zero implies end of the reference sequence.public SAMRecordIterator queryContained(QueryInterval[] intervals)
SamReader
queryContained
in interface SamReader
intervals
- Intervals to be queried. The intervals must be optimized, i.e. in order, with overlapping
and abutting intervals merged. This can be done with QueryInterval.optimizeIntervals(htsjdk.samtools.QueryInterval[])
public SAMRecord queryMate(SAMRecord rec)
public boolean hasBrowseableIndex()
SamReader.Indexing
hasBrowseableIndex
in interface SamReader.Indexing
public BrowseableBAMIndex getBrowseableIndex()
SamReader.Indexing
getBrowseableIndex
in interface SamReader.Indexing
public SAMRecordIterator iterator()
SamReader
public SAMRecordIterator iterator(SAMFileSpan chunks)
SamReader.Indexing
iterator
in interface SamReader.Indexing
chunks
- List of chunks for which to retrieve data.public void close()
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
public SAMFileSpan getFilePointerSpanningReads()
SamReader.Indexing
getFilePointerSpanningReads
in interface SamReader.Indexing
public SAMFileHeader getFileHeader()
getFileHeader
in interface SamReader
public SamReader.Type type()
type
in interface SamReader
SamReader.Type
of this SamReader
public java.lang.String getResourceDescription()
getResourceDescription
in interface SamReader
public boolean hasIndex()
public SamReader.Indexing indexing()
SamReader
SamReader.Indexing
facet of this SamReader
.public BAMIndex getIndex()
SamReader.Indexing
getIndex
in interface SamReader.Indexing
public SAMRecordIterator query(QueryInterval[] intervals, boolean contained)
SamReader
query
in interface SamReader
intervals
- Intervals to be queried. The intervals must be optimized, i.e. in order, with overlapping
and abutting intervals merged. This can be done with QueryInterval.optimizeIntervals(htsjdk.samtools.QueryInterval[])
contained
- If true, each SAMRecord returned is will have its alignment completely contained in one of the
intervals of interest. If false, the alignment of the returned SAMRecords need only overlap one of
the intervals of interest.public SAMRecordIterator query(java.lang.String sequence, int start, int end, boolean contained)
SamReader
query
in interface SamReader
sequence
- Reference sequence of interest.start
- 1-based, inclusive start of interval of interest. Zero implies start of the reference sequence.end
- 1-based, inclusive end of interval of interest. Zero implies end of the reference sequence.contained
- If true, each SAMRecord returned will have its alignment completely contained in the
interval of interest. If false, the alignment of the returned SAMRecords need only overlap the interval of interest.public SAMRecordIterator queryUnmapped()
queryUnmapped
in interface SamReader
public SAMRecordIterator queryAlignmentStart(java.lang.String sequence, int start)
SamReader
queryAlignmentStart
in interface SamReader
sequence
- Reference sequence of interest.start
- Alignment start of interest.