Package htsjdk.beta.codecs.reads.htsget.htsgetBAMV1_2

# Class HtsgetBAMDecoderV1_2

java.lang.Object
htsjdk.beta.codecs.reads.htsget.HtsgetBAMDecoder
htsjdk.beta.codecs.reads.htsget.htsgetBAMV1_2.HtsgetBAMDecoderV1_2

All Implemented Interfaces:
  `HtsDecoder<SAMFileHeader,SAMRecord>`, `HtsQuery<SAMRecord>`, `ReadsDecoder`, `ReadsQuery<SAMRecord>`, `Closeable`, `AutoCloseable`, `Iterable<SAMRecord>`

public class HtsgetBAMDecoderV1_2 extends HtsgetBAMDecoder
Version 1.2 of `BundleResourceType.FMT_READS_HTSGET_BAM` decoder.

## Constructor Summary

Constructors
Constructor
Description
`HtsgetBAMDecoderV1_2(Bundle inputBundle, ReadsDecoderOptions decoderOptions)`

## Method Summary

Modifier and Type
Method
Description
`void`
`close()`
Close any resources associated with this decoder.
`SAMFileHeader`
`getHeader()`
Get the file header for this decoder.
`boolean`
`hasIndex()`
Return true if the underlying resource has an index.
`boolean`
`isQueryable()`
Gte true if the underlying resource is queryable.
`CloseableIterator<SAMRecord>`
`iterator()`
Get an iterator of all records in the underlying resource.
`CloseableIterator<SAMRecord>`
`query(String queryString)`
Get an iterator over all records from the underlying resource that match the query string
`CloseableIterator<SAMRecord>`
`query(List<HtsInterval> intervals, HtsQueryRule queryRule)`
Get an iterator over all records from the underlying resource that match the query arguments.
`Optional<SAMRecord>`
`queryMate(SAMRecord rec)`
Fetch the mate for the given read.
`CloseableIterator<SAMRecord>`
`queryStart(String queryName, long start)`
Get an iterator over all records from the underlying resource that overlap the start position
`CloseableIterator<SAMRecord>`
`queryUnmapped()`
Get an iterator of unmapped reads.

### Methods inherited from class htsjdk.beta.codecs.reads.htsget.HtsgetBAMDecoder

`getDisplayName, getFileFormat, getInputBundle, getReadsDecoderOptions, getVersion`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface htsjdk.beta.plugin.interval.HtsQuery

`query, query, queryContained, queryContained, queryContained, queryOverlapping, queryOverlapping, queryOverlapping`

### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`

## Constructor Details

### HtsgetBAMDecoderV1_2

public HtsgetBAMDecoderV1_2(Bundle inputBundle, ReadsDecoderOptions decoderOptions)

## Method Details

### getHeader

public SAMFileHeader getHeader()
Description copied from interface: `HtsDecoder`
Get the file header for this decoder.

Returns:
  the file header for this decoder, of type `H`

### close

public void close()
Description copied from interface: `HtsDecoder`
Close any resources associated with this decoder.

### iterator

public CloseableIterator<SAMRecord> iterator()
Description copied from interface: `HtsQuery`
Get an iterator of all records in the underlying resource.

Returns:
  an iterator of all records in the underlying resource

### isQueryable

public boolean isQueryable()
Description copied from interface: `HtsQuery`
Gte true if the underlying resource is queryable.

Returns:
  true if the underlying resource is queryable. this may be true even if the underlying resource returns false for `HtsQuery.hasIndex()`

### hasIndex

public boolean hasIndex()
Description copied from interface: `HtsQuery`
Return true if the underlying resource has an index.

Returns:
  true if the underlying resource has an index

### query

public CloseableIterator<SAMRecord> query(String queryString)
Description copied from interface: `HtsQuery`
Get an iterator over all records from the underlying resource that match the query string

Parameters:
  `queryString` - decoder specific query string
Returns:
  an iterator over all records from the underlying resource that match the query string

### query

public CloseableIterator<SAMRecord> query(List<HtsInterval> intervals, HtsQueryRule queryRule)
Description copied from interface: `HtsQuery`
Get an iterator over all records from the underlying resource that match the query arguments. Callers much ensure that the intervals are in increasing order and do not overlap or abut.

Parameters:
  `intervals` - list of intervals to match
  `queryRule` - query rule to use, from `HtsQueryRule`
Returns:
  an iterator over all records from the underlying resource that match the query arguments

### queryStart

public CloseableIterator<SAMRecord> queryStart(String queryName, long start)
Description copied from interface: `HtsQuery`
Get an iterator over all records from the underlying resource that overlap the start position

Parameters:
  `queryName` - name to match
  `start` - start position to overlap
Returns:
  an iterator over all records from the underlying resource that overlap the start position

### queryUnmapped

public CloseableIterator<SAMRecord> queryUnmapped()
Description copied from interface: `ReadsDecoder`
Get an iterator of unmapped reads. Requires an index resource to be included in the input `Bundle`.

### queryMate

public Optional<SAMRecord> queryMate(SAMRecord rec)
Description copied from interface: `ReadsDecoder`
Fetch the mate for the given read. Requires an index resource to be included in the input `Bundle`.

Parameters:
  `rec` - the source record
Returns:
  the source record's mate, or Optional.empty() if the source record has no mate