gunz_cm.compressions.zstd_encoder#

Module contents#

Zstd encoder wrapper for GZCM v3 compression.

Uses zlib as fallback since zstandard may not be installed. For better performance, install zstandard: pip install zstandard

Examples

class gunz_cm.compressions.zstd_encoder.ZstdEncoder(tile_size: int = 256, resolution: int = 50000, level: int = 3, use_zstd: bool = True)[source]#

Bases: object

Zstd encoder for contact matrix tiles.

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).

  • use_zstd (bool, default=True) – Use zstd if available, otherwise zlib fallback.

Examples

encode_tile(mat: ndarray) bytes[source]#

Encode a single contact matrix tile.

Parameters:

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

Returns:

Compressed bitstream.

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