Package htsjdk.samtools.cram.encoding
Class ByteArrayLenEncoding
java.lang.Object
htsjdk.samtools.cram.encoding.CRAMEncoding<byte[]>
htsjdk.samtools.cram.encoding.ByteArrayLenEncoding
NOTE: this encoding can be a hybrid encoding in that it ALLOWS for the possibility to split it's data
between the core block and an external block (i.e., if lenEncoding is CORE and byteEncoding is EXTERNAL)
This has implications for data access, since some of it's data is interleaved with other data in the
core block.
-
Constructor Summary
ConstructorDescriptionByteArrayLenEncoding
(CRAMEncoding<Integer> lenEncoding, CRAMEncoding<byte[]> byteEncoding) Note: depending on the sub-encodings, this encoding can wind up being a core/external hybrid. -
Method Summary
Modifier and TypeMethodDescriptionCRAMCodec<byte[]>
buildCodec
(SliceBlocksReadStreams sliceBlocksReadStreams, SliceBlocksWriteStreams sliceBlocksWriteStreams) Instantiate the codec represented by this encoding by supplying it with the appropriate streamsstatic ByteArrayLenEncoding
fromSerializedEncodingParams
(byte[] serializedParams) Create a new instance of this encoding using the (ITF8 encoded) serializedParams.byte[]
Serialize encoding parameters to an ITF8-encoded byte array.toString()
Methods inherited from class htsjdk.samtools.cram.encoding.CRAMEncoding
buildReadCodec, buildWriteCodec, id, toEncodingDescriptor
-
Constructor Details
-
ByteArrayLenEncoding
Note: depending on the sub-encodings, this encoding can wind up being a core/external hybrid. See https://github.com/samtools/hts-specs/issues/426).
-
-
Method Details
-
fromSerializedEncodingParams
Create a new instance of this encoding using the (ITF8 encoded) serializedParams.- Parameters:
serializedParams
-- Returns:
- ByteArrayLenEncoding with parameters populated from serializedParams
-
toSerializedEncodingParams
public byte[] toSerializedEncodingParams()Description copied from class:CRAMEncoding
Serialize encoding parameters to an ITF8-encoded byte array. By convention, each subclass should have a corresponding and symmetric "fromSerializedEncodingParams" that returns a new instance of that encoding populated with values from the serialized encoding params.- Specified by:
toSerializedEncodingParams
in classCRAMEncoding<byte[]>
- Returns:
- a byte array containing the encoding's parameter values encoded as an ITF8 stream.
-
buildCodec
public CRAMCodec<byte[]> buildCodec(SliceBlocksReadStreams sliceBlocksReadStreams, SliceBlocksWriteStreams sliceBlocksWriteStreams) Description copied from class:CRAMEncoding
Instantiate the codec represented by this encoding by supplying it with the appropriate streams- Specified by:
buildCodec
in classCRAMEncoding<byte[]>
- Parameters:
sliceBlocksReadStreams
- the core block bit stream aCoreCodec
will read fromsliceBlocksWriteStreams
- the core block bit stream aCoreCodec
will write to- Returns:
- a newly instantiated codec
-
toString
-