gunz_cm.compressions.cmc_zstd_encoder#

Module contents#

CMC Transforms + Zstd Encoder for GZCM v3 compression.

Combines CMC’s domain-specific transforms (diagonal transform, binarization) with Zstd entropy coding for faster decode than pure CMC.

Examples

class gunz_cm.compressions.cmc_zstd_encoder.CmcZstdEncoder(tile_size: int = 256, resolution: int = 50000, level: int = 3)[source]#

Bases: object

CMC Transforms + Zstd encoder for contact matrix tiles.

Uses CMC’s domain-specific transforms (diagonal transform, binarization) with Zstd entropy coding for better compression and faster decode.

Parameters:
  • tile_size (int, default=256) – Tile size for block processing.

  • resolution (int, default=50000) – Hi-C resolution in bp.

  • level (int, default=3) – Compression level (1-22 for zstd, 1-9 for zlib fallback).

Examples

encode_tile(mat: ndarray) bytes[source]#

Encode a single contact matrix tile.

Parameters:

mat (np.ndarray) – 2D contact matrix tile (upper triangular).

Returns:

Compressed bitstream (shape info + encoded data).

Return type:

bytes

Examples

encode_tiles(tiles: ndarray) list[bytes][source]#

Encode multiple tiles.

Parameters:

tiles (np.ndarray) – 4D array of shape (n_tile_rows, n_tile_cols, tile_size, tile_size).

Returns:

List of encoded bitstreams, one per tile.

Return type:

list[bytes]

Examples

get_compression_info() dict[source]#

Return compression metadata.

Returns:

Compression parameters for header.

Return type:

dict

Examples