| name | bioconductor-hicontacts |
| description | HiContacts provides a collection of tools to analyse and visualize Hi-C datasets imported in R by HiCExperiment. |
HiContacts
Workflows
Standard Workflow
library(HiCExperiment)
library(HiContacts)
library(HiContactsData)
cool_file <- HiContactsData('yeast_wt', format = 'cool')
hic <- import(cool_file, format = 'cool')
hic_detrended <- detrend(hic)
hic_smooth <- despeckle(hic)
plotMatrix(hic_smooth, use.scores = 'balanced.despeckled')
Input: A HiCExperiment object.
Output: Detrended, smoothed, or merged contact maps and their corresponding plots.
Contact Map Analysis
library(HiCExperiment)
library(HiContacts)
library(HiContactsData)
mcool_file <- HiContactsData('yeast_wt', format = 'mcool')
hic <- import(mcool_file, format = 'mcool', resolution = 1000)
ratios <- cisTransRatio(hic)
ps <- distanceLaw(hic)
Input: A HiCExperiment object, optionally with an associated pairs file.
Output: A tibble of cis-trans ratios and distance decay P(s) curves.
Topological Feature Mapping
library(HiCExperiment)
library(HiContacts)
library(HiContactsData)
mcool_file <- HiContactsData('yeast_wt', format = 'mcool')
hic <- import(mcool_file, format = 'mcool', resolution = 16000)
hic <- getCompartments(hic, chromosomes = c('XV', 'XVI'))
hic <- refocus(hic, 'II:1-300000') |>
zoom(resolution = 1000) |>
getDiamondInsulation(window_size = 8000) |>
getBorders()
Input: A HiCExperiment object.
Output: A HiCExperiment object updated with compartments, insulation scores, and domain borders.
When to Use
- Visualizing Hi-C contact matrices as heatmaps (square or horizontal) using
plotMatrix().
- Performing matrix arithmetic such as detrending (
detrend()), autocorrelating (autocorrelate()), merging (merge()), dividing (divide()), and smoothing (despeckle()).
- Mapping chromosome compartments (
getCompartments()), insulation scores (getDiamondInsulation()), and domain borders (getBorders()).
- Analyzing distance decay curves using
distanceLaw() and plotting them with plotPs() or plotPsSlope().
When NOT to Use
- For initial raw sequence alignment or filtering of fastq files, use pipelines like HiC-Pro, distiller, or Juicer instead of
HiContacts.
- For general genomic interval manipulation without interaction data, use
GenomicRanges or IRanges directly.
Data Requirements
- A
HiCExperiment object imported from .cool, .mcool, .hic, or HiC-Pro files.
- For accurate distance decay P(s) curves, an associated pairs file (e.g.,
.pairs.gz) should be linked using pairsFile(hic) <- ....
Key Parameters
- use.scores ('balanced'): Specifies which interaction score type to plot or analyze (e.g.,
'balanced', 'detrended', 'autocorrelated').
- limits (NULL): A numeric vector of length 2 specifying the color scale limits in
plotMatrix().
- maxDistance (NULL): Maximum distance from the diagonal to plot in horizontal matrices.
- focal.size (5): Size of the focal window used for smoothing in
despeckle().
- window_size (8000): Window size in base pairs for computing diamond insulation scores in
getDiamondInsulation().
- chromosomes (NULL): Vector of chromosome names to restrict compartment calling in
getCompartments().
Best Practices
- Always use normalized scores (like
'balanced') rather than raw counts for comparative analyses.
- Link a physical pairs file using
pairsFile() before running distanceLaw() to avoid approximations in the P(s) curve.
- Export computed topological features (e.g., compartments or insulation scores) to standard formats like BigWig or BED using
rtracklayer::export().
Common Pitfalls
- Running
distanceLaw() without a pairs file: This results in an approximation warning. Fix by assigning a pairs file to the HiCExperiment object first.
- Plotting matrices with extreme dynamic ranges without log transformation: Use
scale = 'log10' in plotMatrix() to improve visualization.
Alternatives
diffHic: For differential analysis of Hi-C data using biological replicates.
Citations
- Serizay J, Matthey-Doret C, Bignaud A, Baudry L, Koszul R (2024). "Orchestrating chromosome conformation capture analysis with Bioconductor." Nature Communications, 15, 1-9. doi:10.1038/s41467-024-44761-x.
References