igvR 1.20.0
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.
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
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)
sessionInfo()
#> R version 4.3.0 RC (2023-04-13 r84269)
#> Platform: x86_64-pc-linux-gnu (64-bit)
#> Running under: Ubuntu 22.04.2 LTS
#>
#> Matrix products: default
#> BLAS: /home/biocbuild/bbs-3.17-bioc/R/lib/libRblas.so
#> LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0
#>
#> 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
#>
#> time zone: America/New_York
#> tzcode source: system (glibc)
#>
#> attached base packages:
#> [1] stats graphics grDevices utils datasets methods base
#>
#> other attached packages:
#> [1] BiocStyle_2.28.0
#>
#> loaded via a namespace (and not attached):
#> [1] digest_0.6.31 R6_2.5.1 bookdown_0.33 fastmap_1.1.1 xfun_0.39
#> [6] cachem_1.0.7 knitr_1.42 htmltools_0.5.5 rmarkdown_2.21 cli_3.6.1
#> [11] sass_0.4.5 jquerylib_0.1.4 compiler_4.3.0 highr_0.10 tools_4.3.0
#> [16] evaluate_0.20 bslib_0.4.2 yaml_2.3.7 BiocManager_1.30.20 jsonlite_1.8.4
#> [21] rlang_1.1.0