gunz_cm.compressions.bsc_encoder#

Module contents#

BSC Encoder wrapper for GZCM v3 compression.

Uses BSC CLI subprocess with LD_LIBRARY_PATH for libomp.

Examples

class gunz_cm.compressions.bsc_encoder.BscEncoder(tile_size: int = 512, resolution: int = 50000, level: int = 3)[source]#

Bases: object

BSC encoder for contact matrix tiles.

Uses bsc CLI subprocess for true BSC (Block Sorting Compression).

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

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

  • level (int, default=3) – Compression level (0-9, higher = better compression).

Examples

encode_tile(mat: ndarray) bytes[source]#

Encode a single contact matrix tile.

Parameters:

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

Returns:

BSC-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