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, bsc_bin: str | pathlib.Path | None = None, ld_library_path: str | pathlib.Path | None = None)[source]#
Bases:
objectBSC 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).
bsc_bin (str or pathlib.Path, optional) – Explicit path to the bsc binary. If None, resolved via GUNZ_CM_BSC_BIN env var or system PATH.
ld_library_path (str or pathlib.Path, optional) – Explicit LD_LIBRARY_PATH for the bsc subprocess. If None, resolved via GUNZ_CM_BSC_LD_LIBRARY_PATH env var.
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:
Examples