htShiny(), there is a
save argument which can be set to a path of a folder where interactive heatmap files are stored.
Then in the folder
test_ht, there are the following files generated:
guz@B069-mb04:~/test_ht$ ls -l total 40 -rw-r--r-- 1 guz staff 1.1K Oct 18 15:19 htShiny.R -rw-r--r-- 1 guz staff 5.9K Oct 18 15:19 htShiny.RData -rw-r--r-- 1 guz staff 18B Oct 18 15:19 htShiny.bat -rw-r--r--@ 1 guz staff 18B Oct 18 15:19 htShiny.sh
htShiny.R contains R code that generates the interactive heatmap.
htShiny.RData contains all R objects needed for heatmap and it will be loaded in
htShiny.R. The other two files
htShiny.bat are basically identical and they can be run in the terminal under Linux/MacOS or Windows.
The four files can be sent to collaborators and they can run the following commands to open the interactive heatmap:
cd ~/test_ht sh htShiny.sh # or Rscript htShiny.R
Under Windows, they can simply double click
htShiny.bat prints a message where collaborators can find the link and paste it to browser to open the interactive heatmap.
guz@B069-mb04:~/test_ht$ sh htShiny.sh If the shiny app is not automatically opened in the browser, you can manually copy the following link and paste it to the browser. Listening on http://127.0.0.1:4132
Note, on the collaborator’s side, R must be installed (however, they don’t need to directly interact with R). If the InteractiveComplexHeatmap package is not yet installed there,
htShiny.R automatically installs it for them.
It would be much easier if there is already a Shiny Server available. Users simply put all code that generates interactive heatmaps into a script named
app.R. Under RStudio, they execute the script and click “Publish” in the Shiny app window.
Or under command-line:
Check https://shiny.rstudio.com/deploy/ to find out how to publish Shiny apps to Shiny Server.
Please note, in the R session which publishes the Shiny app, you must execute the command
setRepositories(ind = 1:4) so that on the Shiny Server side, it can successfully install InteractiveComplexHeatmap package.