public class BAMFileReader extends SamReader.ReaderImplementation
Modifier and Type | Class and Description |
---|---|
class |
BAMFileReader.BAMQueryFilteringIterator
Pull SAMRecords from a coordinate-sorted iterator, and filter out any that do not match the filter.
|
Modifier and Type | Method and Description |
---|---|
void |
close() |
CloseableIterator<SAMRecord> |
createIndexIterator(QueryInterval[] intervals,
boolean contained,
long[] filePointers)
Prepare to iterate through SAMRecords that match the given intervals.
|
protected void |
enableIndexCaching(boolean enabled)
If true, uses the caching version of the index reader.
|
protected void |
enableIndexMemoryMapping(boolean enabled)
If false, disable the use of memory mapping for accessing index files (default behavior is to use memory mapping).
|
SAMFileHeader |
getFileHeader() |
SAMFileSpan |
getFilePointerSpanningReads()
Gets an unbounded pointer to the first record in the BAM file.
|
static BAMFileSpan |
getFileSpan(QueryInterval[] intervals,
BAMIndex fileIndex)
Use the index to determine the chunk boundaries for the required intervals.
|
BAMIndex |
getIndex()
Retrieves the index for the given file type.
|
CloseableIterator<SAMRecord> |
getIterator()
Prepare to iterate through the SAMRecords in file order.
|
CloseableIterator<SAMRecord> |
getIterator(SAMFileSpan chunks) |
ValidationStringency |
getValidationStringency() |
boolean |
hasIndex() |
CloseableIterator<SAMRecord> |
query(QueryInterval[] intervals,
boolean contained)
Prepare to iterate through the SAMRecords that match any of the given intervals.
|
CloseableIterator<SAMRecord> |
queryAlignmentStart(java.lang.String sequence,
int start)
Prepare to iterate through the SAMRecords with the given alignment start.
|
CloseableIterator<SAMRecord> |
queryUnmapped()
Prepare to iterate through the SAMRecords that are unmapped and do not have a reference name or alignment start.
|
protected static SAMFileHeader |
readHeader(BinaryCodec stream,
ValidationStringency validationStringency,
java.lang.String source)
Reads the header of a BAM file from a stream
|
void |
setEagerDecode(boolean desired) |
SamReader.Type |
type() |
protected void enableIndexCaching(boolean enabled)
enabled
- true to use the caching version of the reader.protected void enableIndexMemoryMapping(boolean enabled)
enabled
- True to use memory mapping, false to use regular I/O.public SamReader.Type type()
public boolean hasIndex()
public BAMIndex getIndex()
public void setEagerDecode(boolean desired)
public void close()
public SAMFileHeader getFileHeader()
public ValidationStringency getValidationStringency()
public CloseableIterator<SAMRecord> getIterator()
public CloseableIterator<SAMRecord> getIterator(SAMFileSpan chunks)
public SAMFileSpan getFilePointerSpanningReads()
public CloseableIterator<SAMRecord> query(QueryInterval[] intervals, boolean contained)
intervals
- list of intervals to be queried. Must be optimized.contained
- If true, the alignments for the SAMRecords must be completely contained in the interval
specified by start and end. If false, the SAMRecords need only overlap the interval.QueryInterval.optimizeIntervals(QueryInterval[])
public CloseableIterator<SAMRecord> queryAlignmentStart(java.lang.String sequence, int start)
sequence
- Reference sequence sought.start
- Alignment start sought.public CloseableIterator<SAMRecord> queryUnmapped()
protected static SAMFileHeader readHeader(BinaryCodec stream, ValidationStringency validationStringency, java.lang.String source) throws java.io.IOException
stream
- A BinaryCodec to read the header fromvalidationStringency
- Determines how stringent to be when validating the samsource
- Note that this is used only for reporting errors.java.io.IOException
public static BAMFileSpan getFileSpan(QueryInterval[] intervals, BAMIndex fileIndex)
intervals
- the intervals to restrict reads tofileIndex
- the BAM index to usepublic CloseableIterator<SAMRecord> createIndexIterator(QueryInterval[] intervals, boolean contained, long[] filePointers)
intervals
- the intervals to restrict reads tocontained
- if true
, return records that are strictly
contained in the intervals, otherwise return records that overlapfilePointers
- file pointer pairs corresponding to chunk boundaries for the
intervals