Package htsjdk.samtools
Class BAMRecordCodec
java.lang.Object
htsjdk.samtools.BAMRecordCodec
- All Implemented Interfaces:
SortingCollection.Codec<SAMRecord>
,Cloneable
Class for translating between in-memory and disk representation of BAMRecord.
-
Constructor Summary
ConstructorDescriptionBAMRecordCodec
(SAMFileHeader header) BAMRecordCodec
(SAMFileHeader header, SAMRecordFactory factory) -
Method Summary
Modifier and TypeMethodDescriptionclone()
Must return a cloned copy of the codec that can be used independently of the original instance.decode()
Read the next record from the input stream and convert into a java object.void
Write object to OutputStream.static Cigar
makeSentinelCigar
(Cigar cigar) Create a "Sentinel" cigar that will be placed in BAM file when the actual cigar has more than 0xffff operator, which are not supported by the bam format.void
Sets the input stream that records will be read from.void
setInputStream
(InputStream is, String filename) Sets the input stream that records will be read from.void
Sets the output stream that records will be written to.void
setOutputStream
(OutputStream os, String filename) Sets the output stream that records will be written to.
-
Constructor Details
-
BAMRecordCodec
-
BAMRecordCodec
-
-
Method Details
-
clone
Description copied from interface:SortingCollection.Codec
Must return a cloned copy of the codec that can be used independently of the original instance. This is required so that multiple codecs can exist simultaneously that each is reading a separate file.- Specified by:
clone
in interfaceSortingCollection.Codec<SAMRecord>
- Overrides:
clone
in classObject
-
setOutputStream
Sets the output stream that records will be written to.- Specified by:
setOutputStream
in interfaceSortingCollection.Codec<SAMRecord>
-
setOutputStream
Sets the output stream that records will be written to. -
setInputStream
Sets the input stream that records will be read from.- Specified by:
setInputStream
in interfaceSortingCollection.Codec<SAMRecord>
-
setInputStream
Sets the input stream that records will be read from. -
encode
Write object to OutputStream. Reference and mate reference indices must be resolvable, which either means that these have been set into the SAMRecord directly, or the SAMRecord must have a header assigned into it so that reference names can be resolved into indices.- Specified by:
encode
in interfaceSortingCollection.Codec<SAMRecord>
- Parameters:
alignment
- Record to be written.
-
makeSentinelCigar
Create a "Sentinel" cigar that will be placed in BAM file when the actual cigar has more than 0xffff operator, which are not supported by the bam format. The actual cigar will be encoded and placed in the CG attribute.- Parameters:
cigar
- actual cigar to create sentinel cigar for- Returns:
- sentinel cigar xSyN with readLength (x) and referenceLength (y) matching the input cigar.
-
decode
Read the next record from the input stream and convert into a java object.- Specified by:
decode
in interfaceSortingCollection.Codec<SAMRecord>
- Returns:
- null if no more records. Should throw exception if EOF is encountered in the middle of a record.
-