Skip to content

paulsengroup/hictk

Repository files navigation

hictk

License docs Ubuntu CI MacOS CI Windows CI Build Dockerfile Fuzzy testing Download from Bioconda

Zenodo DOI


hictk is a blazing fast toolkit to work with .hic and .cool files.

This repository hosts hictk: a set of CLI tools to work with Cooler, as well as libhictk: the C++ library underlying hictk.

Python bindings for libhictk are available at paulsengroup/hictkpy, while R bindings are published at paulsengroup/hictkR.

hictk is capable of reading files in .cool, .mcool, .scool and .hic format (including hic v9) as well as writing .hic, .cool and .mcool files.

Installing hictk

hictk is developed on Linux and tested on Linux, MacOS and Windows.

hictk can be installed using containers, bioconda or directly from source. Refer to Installation for more information.

Running hictk

hictk provides the following subcommands:

subcommand description
balance Balance Hi-C files using ICE, SCALE, or VC.
convert Convert Hi-C files between different formats.
dump Read interactions and other kinds of data from .hic and Cooler files and write them to stdout.
fix-mcool Fix corrupted .mcool files.
load Build .cool and .hic files from interactions in various text formats.
merge Merge multiple Cooler or .hic files into a single file.
metadata Print file metadata to stdout.
rename-chromosomes Rename chromosomes found in a Cooler file.
validate Validate .hic and Cooler files.
zoomify Convert single-resolution Cooler and .hic files to multi-resolution by coarsening.

Refer to Quickstart (CLI) and CLI Reference for more details.

Using libhictk

libhictk can be installed in various way, including with Conan and CMake FetchContent. Section Quickstart (API) of hictk documentation contains further details on how this can be accomplished.

Quickstart (API) also showcases the basic functionality offered by libhictk. For more complex examples refer to the sample programs under the examples/ folder as well as to the source code of hictk.

The public C++ API of hictk is documented in the C++ API Reference section of hictk documentation.

Citing

If you use hictk in you research, please cite the following publication:

Roberto Rossini, Jonas Paulsen, hictk: blazing fast toolkit to work with .hic and .cool files Bioinformatics, Volume 40, Issue 7, July 2024, btae408, https://doi.org/10.1093/bioinformatics/btae408

BibTex
@article{hictk,
    author = {Rossini, Roberto and Paulsen, Jonas},
    title = "{hictk: blazing fast toolkit to work with .hic and .cool files}",
    journal = {Bioinformatics},
    volume = {40},
    number = {7},
    pages = {btae408},
    year = {2024},
    month = {06},
    issn = {1367-4811},
    doi = {10.1093/bioinformatics/btae408},
    url = {https://doi.org/10.1093/bioinformatics/btae408},
    eprint = {https://academic.oup.com/bioinformatics/article-pdf/40/7/btae408/58385157/btae408.pdf},
}