tools for your .cools
Chromosome conformation capture technologies reveal the incredible complexity of genome folding. A growing number of labs and multiple consortia, including the 4D Nucleome, the International Nucleome Consortium, and ENCODE, are generating higher-resolution datasets to probe genome architecture across cell states, types, and organisms. Larger datasets increase the challenges at each step of computational analysis, from storage, to memory, to researchers’ time. The recently-introduced cooler format readily handles storage of high-resolution datasets via a sparse data model.
cooltools leverages this format to enable flexible and reproducible analysis of high-resolution data. cooltools provides a suite of computational tools with a paired python API and command line access, which facilitates workflows either on high-performance computing clusters or via custom analysis notebooks. As part of the Open2C ecosystem, cooltools also provides detailed introductions to key concepts in Hi-C-data analysis with interactive notebook documentation.
If you use cooltools in your work, please cite cooltools via its zenodo DOI:10.5281/zenodo.5214125
The following are required before installing cooltools:
- Python 3.7+
numpy
cython
pip install cooltools
or install the latest version directly from github:
$ pip install https://github.com/open2c/cooltools/archive/refs/heads/master.zip
See the requirements.txt file for information on compatible dependencies, especially for cooler and bioframe.
Documentation can be found here: https://cooltools.readthedocs.io/en/latest/.
Cooltools offers a number of tutorials to showcase analyses it enables using the Open2c code ecosystem. For users who are new to Hi-C analysis, we recommend going through example notebooks in the following order:
- Visualization: how to load and visualize Hi-C data stored in coolers.
- Contacts vs Distance: how to calculate contact frequency as a function of genomic distance, the most prominent feature in Hi-C maps.
- Compartments and Saddles: how to extract eigenvectors and create saddleplots reflecting A/B compartments.
- Insulation and Boundaries: how to extract insulation profiles and call boundaries using insulation profile minima.
- Pileups and Average Patterns: how to create avearge maps around genomic features like CTCF.
Note that these notebooks currently focus on mammalian interphase Hi-C analysis, but are readily extendible to other organisms and cellular contexts.
Our contributing guide can be found here.