insulation_score: Calculate insulation scores

View source: R/insulation_score.R

insulation_scoreR Documentation

Calculate insulation scores

Description

Insulation scores are calculated by sliding a square along the diagonal of the Hi-C matrix and averaging the values in that square.

Usage

insulation_score(
  explist,
  window = 30,
  norm_to = c("chromosome", "genome", "none"),
  norm_fun = log2overmedian
)

Arguments

explist

Either a single GENOVA contacts object or list of GENOVA contact objects.

window

An integer of length 1 for the size of the sliding square.

norm_to

A character of length 1, either "chromosome" or "genome" noting whether normalisation should occur per chromosome or for the genome as a whole. Can be set to "none" to skip normalisation.

norm_fun

A function that takes a numeric vector as input and returns normalised values of equal length. Defaults to calculating the log2 value over the median.

Details

Typically, when the sliding square passes within a TAD, it yields high insulation scores whereas in between TADs it yields low insulation scores. Hence, TAD boundaries can be identified as local minima in the insulation score.

To follow the Crane et al. (2015) strategy for insulation scores, use 10kb resolution contacts objects, set the 'window' argument to 50, set the 'norm_to' argument to "chromosome" and the 'norm_fun' argument to log2overmean.

Value

An IS_discovery object containing the following slot:

insula_score

A data.table with genomic locations and insulation scores for each element in the 'explist' argument.

Resolution recommendation

10kb-40kb

See Also

For calling TADs from insulation scores, see call_TAD_insulation. For plotting a heatmap of insulation over genomic locations, see tornado_insulation.

Examples

## Not run: 
iscore <- insulation_score(list(WT_20kb, KO_20kb), window = 20)

## End(Not run)

robinweide/GENOVA documentation built on March 14, 2024, 11:16 p.m.