Creating multi-resolution files (.hic and .mcool)#
Converting .cool to .mcool#
Interactions from a single-resolution Cooler file (.cool) can be used to generate a multi-resolution Cooler (.mcool) by iterative coarsening using hictk zoomify
user@dev:/tmp$ hictk zoomify data/4DNFIZ1ZVXC8.mcool::/resolutions/1000 out.mcool
[2023-09-29 19:28:39.926] [info]: Running hictk v0.0.2
[2023-09-29 19:28:39.929] [info]: coarsening cooler at data/4DNFIZ1ZVXC8.mcool::/resolutions/1000 13 times (1000 -> 1000 -> 2000 -> 5000 -> 10000 -> 20000 -> 50000 -> 100000 -> 200000 -> 500000 -> 1000000 -> 2000000 -> 5000000 -> 10000000)
[2023-09-29 19:28:39.929] [info]: copying 1000 resolution from data/4DNFIZ1ZVXC8.mcool::/resolutions/1000
[2023-09-29 19:28:40.119] [info]: generating 2000 resolution from 1000 (2x)
[2023-09-29 19:28:40.343] [info]: [1000 -> 2000] processing chr2L:1996000-1998000 at 4484305 pixels/s...
[2023-09-29 19:28:40.663] [info]: [1000 -> 2000] processing chr2L:4932000-4934000 at 3125000 pixels/s...
[2023-09-29 19:28:40.973] [info]: [1000 -> 2000] processing chr2L:7986000-7988000 at 3236246 pixels/s...
...
[2023-09-29 19:29:12.513] [info]: generating 10000000 resolution from 5000000 (2x)
[2023-09-29 19:29:12.519] [info]: DONE! Processed 13 resolution(s) in 32.59s!
# Coarsen a single resolution
user@dev:/tmp$ hictk zoomify data/4DNFIZ1ZVXC8.mcool::/resolutions/1000 out.cool --resolutions 50000
[2023-09-29 19:30:52.476] [info]: Running hictk v0.0.2
[2023-09-29 19:30:52.482] [info]: coarsening cooler at data/4DNFIZ1ZVXC8.mcool::/resolutions/1000 2 times (1000 -> 1000 -> 50000)
[2023-09-29 19:30:52.482] [info]: copying 1000 resolution from data/4DNFIZ1ZVXC8.mcool::/resolutions/1000
[2023-09-29 19:30:52.668] [info]: generating 50000 resolution from 1000 (50x)
[2023-09-29 19:30:53.789] [info]: [1000 -> 50000] processing chr2L:23000000-23050000 at 896057 pixels/s...
[2023-09-29 19:30:55.005] [info]: [1000 -> 50000] processing chr3L:4600000-4650000 at 822368 pixels/s...
[2023-09-29 19:30:56.440] [info]: [1000 -> 50000] processing chr3R:32050000-32079331 at 696864 pixels/s...
[2023-09-29 19:30:56.863] [info]: DONE! Processed 2 resolution(s) in 4.39s!
Converting a single-resolution .hic to a multi-resolution .hic#
Interactions from a .hic file (like the one generated by hictk load
) can be used to generate a multi-resolution .hic file by iterative coarsening using hictk zoomify
.
hictk will copy interactions for resolutions that are available in the input file.
Interactions at resolutions missing from the input file will be generated by iterative coarsening.
user@dev:/tmp$ hictk zoomify 4DNFIZ1ZVXC8.hic9 4DNFIZ1ZVXC8.zoomified.hic --threads 8
[2024-01-23 16:59:57.369] [info]: Running hictk v0.0.6-570037c-dirty
[2024-01-23 16:59:57.369] [info]: copying resolution 1000 from "4DNFIZ1ZVXC8.hic9"
[2024-01-23 16:59:57.369] [info]: generating 2000 resolution from 1000 (2x)
[2024-01-23 16:59:57.369] [info]: copying resolution 5000 from "4DNFIZ1ZVXC8.hic9"
[2024-01-23 16:59:57.369] [info]: copying resolution 10000 from "4DNFIZ1ZVXC8.hic9"
[2024-01-23 16:59:57.369] [info]: generating 20000 resolution from 10000 (2x)
[2024-01-23 16:59:57.369] [info]: copying resolution 50000 from "4DNFIZ1ZVXC8.hic9"
[2024-01-23 16:59:57.369] [info]: copying resolution 100000 from "4DNFIZ1ZVXC8.hic9"
[2024-01-23 16:59:57.369] [info]: generating 200000 resolution from 100000 (2x)
[2024-01-23 16:59:57.369] [info]: copying resolution 500000 from "4DNFIZ1ZVXC8.hic9"
[2024-01-23 16:59:57.369] [info]: copying resolution 1000000 from "4DNFIZ1ZVXC8.hic9"
[2024-01-23 16:59:57.369] [info]: generating 2000000 resolution from 1000000 (2x)
[2024-01-23 16:59:57.369] [info]: generating 5000000 resolution from 1000000 (5x)
[2024-01-23 16:59:57.369] [info]: generating 10000000 resolution from 5000000 (2x)
[2024-01-23 16:59:57.379] [info]: [1000 bp] ingesting interactions...
[2024-01-23 17:00:02.183] [info]: ingesting pixels at 2157032 pixels/s...
[2024-01-23 17:00:07.271] [info]: ingesting pixels at 1965795 pixels/s...
...
[2024-01-23 17:02:04.842] [info]: [1000 bp] computing expected vector density
[2024-01-23 17:02:05.325] [info]: [2000 bp] computing expected vector density
[2024-01-23 17:02:06.291] [info]: [5000 bp] computing expected vector density
[2024-01-23 17:02:06.292] [info]: writing 13 expected value vectors at offset 193918320...
[2024-01-23 17:02:06.293] [info]: writing 0 normalized expected value vectors at offset 194161639...
[2024-01-23 17:02:06.318] [info]: DONE! Processed 13 resolution(s) in 128.95s!
Tips:
When zoomifying large .hic files,
hictk
may need to create large temporary files. When this is the case, use option--tmpdir
to set the temporary folder to a path with sufficient space.