Package htsjdk.samtools.cram.encoding
Class ByteArrayLenEncoding
- java.lang.Object
-
- htsjdk.samtools.cram.encoding.CRAMEncoding<byte[]>
-
- htsjdk.samtools.cram.encoding.ByteArrayLenEncoding
-
public class ByteArrayLenEncoding extends CRAMEncoding<byte[]>
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
Constructors Constructor Description ByteArrayLenEncoding(CRAMEncoding<Integer> lenEncoding, CRAMEncoding<byte[]> byteEncoding)
Note: depending on the sub-encodings, this encoding can wind up being a core/external hybrid.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description CRAMCodec<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[]
toSerializedEncodingParams()
Serialize encoding parameters to an ITF8-encoded byte array.String
toString()
-
Methods inherited from class htsjdk.samtools.cram.encoding.CRAMEncoding
buildReadCodec, buildWriteCodec, id, toEncodingDescriptor
-
-
-
-
Constructor Detail
-
ByteArrayLenEncoding
public ByteArrayLenEncoding(CRAMEncoding<Integer> lenEncoding, CRAMEncoding<byte[]> byteEncoding)
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 Detail
-
fromSerializedEncodingParams
public static ByteArrayLenEncoding fromSerializedEncodingParams(byte[] serializedParams)
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
-
-