Hello to the experts in analyzing chromosome structure data in HiC format,

I have a very basic question. I have a HiC file (specifics are mentioned below), using which I would like to obtain contact probability between a pair of genomic loci. I obtained contact probabilities between the two loci at different resolutions available in the HiC file. However, rather than having a vector of contact probabilities, I would like to have a single number that appropriately represents the contact probability between the loci.

My guess is that there could be two ways to get a single number as the contact probability between two given genomic loci.

  1. Should I take the highest contact probability? or,
  2. Depending on the lengths of the genomics loci of interest, may be the resolution that is close to that could be selected as a single number that represents the contact probability between the loci. Eg. with this strategy, if genomic loci of interest are ~5kb in length the contact probability at 5kb resolution is selected as a single number. Then, the issue is that the length of the genomic loci of interest could be lower than the lowest length of resolution available in the HiC file.
  3. Contact probabilities at different resolutions could be aggregated. Then I wonder what would be the appropriate way to aggregate contact probabilities, e.g. by multiplication or median or something else.

Just to reiterate, above these are my guess and I am not sure whats the best way. So basically my question is: how can I get a single number that would represent the contact probability between a pair of genomic loci using HiC data?

Some specifics that might be useful in answering my question.


The fundamental unit of a Hi-C contact is the nearest restriction enzyme cut site. This is where each mate in a read pair from a Hi-C library comes from and is mapped to when converting sequencing data into a contact matrix.

Because the distance to the nearest cut site is variable at different genomic positions, and depth of coverage of any single locus is typically low, contacts are aggregated into bins and "normalized" to account for differences in cut site densities within those bins. This normalization transforms the raw contact matrix into something resembling a stochastic transition matrix, where you can think of the elements of that matrix as "what is the probability that at any moment in time bin $i$ is in contact with bin $j$".

So the probability you're looking for is the $(i, j)$th element of the normalized contact matrix, where bins $i$ and $j$ contain your regions of interest. If your regions straddle the bin boundaries, you may want to average those bins.

You get to pick the resolution of the contact matrix, but if you select a resolutiong that's too small, you run the risk of making your matrix too sparse and having no contact between those loci. If you pick one that's too large, your matrix elements aren't really informative for your question at hand.

Given your 500-5000 bp range and median of 1 kbp, it may make sense to pick a resolution between 1 kbp and 5 kbp and use that.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.