Package htsjdk.beta.codecs.reads.cram
Class CRAMDecoder
java.lang.Object
htsjdk.beta.codecs.reads.cram.CRAMDecoder
- All Implemented Interfaces:
HtsDecoder<SAMFileHeader,
,SAMRecord> HtsQuery<SAMRecord>
,ReadsDecoder
,ReadsQuery<SAMRecord>
,Closeable
,AutoCloseable
,Iterable<SAMRecord>
- Direct Known Subclasses:
CRAMDecoderV2_1
,CRAMDecoderV3_0
InternalAPI
Base class for
BundleResourceType.READS_CRAM
decoders.-
Constructor Summary
ConstructorDescriptionCRAMDecoder
(Bundle inputBundle, ReadsDecoderOptions readsDecoderOptions) InternalAPI Common constructor for CRAM decoders. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Close any resources associated with this decoder.static CRAMReferenceSource
getCRAMReferenceSource
(CRAMDecoderOptions cramDecoderOptions) final String
Get a user-friendly display name for this decoder.final String
Get the name of the file format supported by this decoder.The format name defines the underlying format handled by this decoder, and also corresponds to the format of the primary bundle resource that is required when decoding (seeBundleResourceType
andBundleResource.getFileFormat()
).Get the file header for this decoder.Get the inputBundle
for this decoder.Get theReadsDecoderOptions
for this decoder.boolean
hasIndex()
Return true if the underlying resource has an index.boolean
Gte true if the underlying resource is queryable.iterator()
Get an iterator of all records in the underlying resource.query
(List<HtsInterval> intervals, HtsQueryRule queryRule) Get an iterator over all records from the underlying resource that match the query arguments.Fetch the mate for the given read.queryStart
(String queryName, long start) Get an iterator over all records from the underlying resource that overlap the start positionGet an iterator of unmapped reads.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.HtsDecoder
getVersion
Methods inherited from interface htsjdk.beta.plugin.interval.HtsQuery
query, query, query, queryContained, queryContained, queryContained, queryOverlapping, queryOverlapping, queryOverlapping
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
CRAMDecoder
InternalAPI Common constructor for CRAM decoders.- Parameters:
inputBundle
- anBundle
containing cram resourcereadsDecoderOptions
-ReadsDecoderOptions
to use.
-
-
Method Details
-
getFileFormat
Description copied from interface:HtsDecoder
Get the name of the file format supported by this decoder.The format name defines the underlying format handled by this decoder, and also corresponds to the format of the primary bundle resource that is required when decoding (seeBundleResourceType
andBundleResource.getFileFormat()
).- Specified by:
getFileFormat
in interfaceHtsDecoder<SAMFileHeader,
SAMRecord> - Returns:
- the name of the underlying file format handled by this decoder
-
getDisplayName
Description copied from interface:HtsDecoder
Get a user-friendly display name for this decoder.- Specified by:
getDisplayName
in interfaceHtsDecoder<SAMFileHeader,
SAMRecord> - Returns:
- a user-friendly display name for this decoder for use in error and warning messages
-
getHeader
Description copied from interface:HtsDecoder
Get the file header for this decoder.- Specified by:
getHeader
in interfaceHtsDecoder<SAMFileHeader,
SAMRecord> - 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.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceHtsDecoder<SAMFileHeader,
SAMRecord>
-
iterator
Description copied from interface:HtsQuery
Get 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.- Specified by:
isQueryable
in interfaceHtsQuery<SAMRecord>
- 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. -
query
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.- Specified by:
query
in interfaceHtsQuery<SAMRecord>
- Parameters:
intervals
- list of intervals to matchqueryRule
- query rule to use, fromHtsQueryRule
- Returns:
- an iterator over all records from the underlying resource that match the query arguments
-
queryStart
Description copied from interface:HtsQuery
Get an iterator over all records from the underlying resource that overlap the start position- Specified by:
queryStart
in interfaceHtsQuery<SAMRecord>
- Parameters:
queryName
- name to matchstart
- start position to overlap- Returns:
- an iterator over all records from the underlying resource that overlap the start position
-
queryUnmapped
Description copied from interface:ReadsDecoder
Get an iterator of unmapped reads. Requires an index resource to be included in the inputBundle
.- Specified by:
queryUnmapped
in interfaceReadsDecoder
- Specified by:
queryUnmapped
in interfaceReadsQuery<SAMRecord>
-
queryMate
Description copied from interface:ReadsDecoder
Fetch the mate for the given read. Requires an index resource to be included in the inputBundle
.- Specified by:
queryMate
in interfaceReadsDecoder
- Specified by:
queryMate
in interfaceReadsQuery<SAMRecord>
- Parameters:
rec
- the source record- Returns:
- the source record's mate, or Optional.empty() if the source record has no mate
-
getInputBundle
Get the inputBundle
for this decoder.- Returns:
- the input
Bundle
for this decoder
-
getReadsDecoderOptions
Get theReadsDecoderOptions
for this decoder.- Returns:
- the
ReadsDecoderOptions
for this decoder.
-
getCRAMReferenceSource
@InternalAPI public static CRAMReferenceSource getCRAMReferenceSource(CRAMDecoderOptions cramDecoderOptions)
-