BandHiC: a memory-efficient and user-friendly Python package for organizing and analyzing Hi-C matrices down to sub-kilobase resolution
摘要
Recent advances in high-resolution Hi-C and Micro-C technologies have enabled finer-scale characterization of 3D genome architecture. However, these improvements also introduce substantial computational challenges, as the memory requirements of Hi-C/Micro-C contact matrices scale quadratically with resolution, leading to prohibitive resource consumption.
ResultsTo address this, we developed BandHiC, a memory-efficient and user-friendly Python package for organizing and analyzing Hi-C matrices down to sub-kilobase resolution. BandHiC adopts a banded storage strategy that preserves only a configurable diagonal bandwidth of the dense contact matrix, reducing memory usage by up to 99% while maintaining fast random access and intuitive indexing operations. In addition, it provides flexible masking mechanisms to handle missing values, outliers, and unmappable regions, and supports efficient vectorized operations optimized with NumPy, thereby enabling scalable analysis of ultra-high-resolution Hi-C datasets.
ConclusionsBandHiC provides a memory-efficient and scalable framework that enables sub-kilobase-resolution Hi-C matrix analysis on standard hardware. Its seamless integration with the NumPy ecosystem and user-friendly design make it a practical and accessible foundation for future advances in 3D genomics. The source code of the BandHiC Python package is publicly available on GitHub (https://github.com/xdwwb/BandHiC-Master), and comprehensive documentation is provided at its website (https://xdwwb.github.io/BandHiC-Master/). Installation can be performed conveniently through Python’s pip package manager.