Contents

1 Overview

With the popularity and wide availability of Hi-C data - a high throughput chromatin confirmation capture technology - an appropriate display format was needed. The igv.js team created the Interact track, supporint the bedpe data file format.

2 Example

We demonstrate this track with a few lines extracted from the Encode project’s ENCFF110BUX experiment, from Michael Snyder’s lab, showing the boundaries and extent of two topologically-associated domains (TADS), typically small genomic regions which are somewhat isolated from neighboring regions, which is believed to play a role in restricting enhancer/promoter interactions.

An equally important, and perhaps more common use of paired-end interaction data is to represent Hi-C maps of enhancer-promoter interactions. These data also rely upon the bedpe file format.

igv.js provides several visualization parameters not yet supported in igvR.

To define a TAD, two genomic locations are required, as shown here and in the code below:

      chrom1    start1      end1 chrom2    start2      end2
           2 105780000 105790000      2 105890000 105900000
           2 105575000 105600000      2 106075000 106100000

3 Code

These few lines provide a complete, if minimal introduction to the BedpeInteractionsTrack.

library(igvR)
igv <- igvR()
setBrowserWindowTitle(igv, "Paired-end demo")
setGenome(igv, "hg38")
tbl.bedpe <- data.frame(chrom1=c("2","2"),
                        start1=c(105780000, 105575000),
                        end1=c(105790000, 105600000),
                        chrom2=c("2","2"),
                        start2=c(105890000, 106075000),
                        end2=c(105900000, 106100000),
                        stringsAsFactors=FALSE)

  # construct a "region of interest" (roi) string from tbl.bedpe
  # this is where our two features are found. 

shoulder <- 300000
roi <- sprintf("%s:%d-%d", tbl.bedpe$chrom1[1],
                           min(tbl.bedpe$start1) - shoulder,
                           max(tbl.bedpe$end2) + shoulder)

showGenomicRegion(igv, roi)
track <- BedpeInteractionsTrack("ENCFF110BUX", tbl.bedpe)
displayTrack(igv, track)

4 Display

5 Session Info

sessionInfo()
#> R version 4.2.2 (2022-10-31)
#> Platform: x86_64-pc-linux-gnu (64-bit)
#> Running under: Ubuntu 20.04.5 LTS
#> 
#> Matrix products: default
#> BLAS:   /home/biocbuild/bbs-3.16-bioc/R/lib/libRblas.so
#> LAPACK: /home/biocbuild/bbs-3.16-bioc/R/lib/libRlapack.so
#> 
#> locale:
#>  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_GB              LC_COLLATE=C              
#>  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8    LC_PAPER=en_US.UTF-8       LC_NAME=C                 
#>  [9] LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> other attached packages:
#> [1] BiocStyle_2.26.0
#> 
#> loaded via a namespace (and not attached):
#>  [1] bookdown_0.33       digest_0.6.31       R6_2.5.1            jsonlite_1.8.4      evaluate_0.20      
#>  [6] highr_0.10          cachem_1.0.7        rlang_1.0.6         cli_3.6.0           jquerylib_0.1.4    
#> [11] bslib_0.4.2         rmarkdown_2.20      tools_4.2.2         xfun_0.37           yaml_2.3.7         
#> [16] fastmap_1.1.1       compiler_4.2.2      BiocManager_1.30.20 htmltools_0.5.4     knitr_1.42         
#> [21] sass_0.4.5