An htmlwidget wrapper of the Integrative Genomics Viewer (IGV) — embed an interactive genome browser in your Shiny apps, and drive it from R. One of only two Bioconductor packages bridging IGV to R.
gladkia-igvshiny-demo.share.connect.posit.cloud
Click through BED / BedGraph / GWAS / BAM / CRAM tracks in a running app — no
install required. (Hosted on Posit Connect Cloud;
source in demo/posit-connect/.)

Release version from Bioconductor:
if (!require("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("igvShiny")
Development version from GitHub:
remotes::install_github("gladkia/igvShiny")
library(shiny)
library(igvShiny)
options <- parseAndValidateGenomeSpec(genomeName = "hg38", initialLocus = "NDUFS2")
ui <- fluidPage(
igvShinyOutput("igv")
)
server <- function(input, output, session) {
output$igv <- renderIgvShiny({
igvShiny(options)
})
}
shinyApp(ui, server)
From there, load tracks reactively with the load*Track* functions
(loadBedTrack, loadBedGraphTrack, loadGwasTrack, loadBamTrackFromURL,
loadCramTrackFromURL, …) and move the view with showGenomicRegion().
htmlwidget, usable as a Shiny module.showGenomicRegion(), getGenomicRegion()).Runnable apps live in inst/demos/, one per topic:
igvShinyDemo.R (most of the API — this is what the
live demo serves),
tiny.R, genomes.R, gwas.R, local-data.R, modules.R,
two-instances.R. Run one with
shiny::runApp(system.file("demos", "tiny.R", package = "igvShiny")).
vignette("igvShiny")
Contributions are welcome — please open an issue or pull request. The package
follows Bioconductor coding and review standards (see AGENTS.md).
MIT © the igvShiny authors (see LICENSE.md / DESCRIPTION).
Originally created by Paul Shannon; lead developer and maintainer: Arkadiusz Gladki.