First and foremost, it is a learning tool to illustrate how to build literate RMarkdown data processing files for IRMS data using the underlying isoreader package as a unified interface for reading, converting and quickly visualizing various raw IRMS data file formats.
The second purpose is to provide an example for a web-based IRMS data repository that is easy to run on any computer/server completely platform-independent and open-source. The isoviewer package provides some rudimentary GUI modules that could be used in other more customized applications.
isoviewer is still in development and not yet available on the Comprehensive R Archive Network (CRAN) but it and its dependencies can be installed from GitHub using the
Once isoviewer is installed, you can launch the user interface on your local machine by using the
iso_start_viewer() function which will search for all iso file objects in your workspace and make them accessible through the graphical interface.
Troubleshooting: if you run into any issues with the viewer crashing unexpectedly and getting stuck during restart. Try resetting it with
isoviewer::iso_start_viewer(reset = TRUE). Also, please consider reporting the details of the crash at https://github.com/isoverse/isoviewer/issues.
To run a local isoviewer server to which other users on your network can connect, simply use the
iso_start_viewer_server() server function and direct others to your IP address, port 3838 (for example 192.168.0.42:3838). Note that this won’t work if your firewall or local network block port 3838. Keep the R session open as long as you want to run the server and stop by it by pressing
Esc or closing your R/RStudio session.
To run a web server with your isofiles (e.g. on www.shinyapps.io), create a new R project folder with a script file called
app.R at the top level (= working directory) of the project. In this file, add the following code and adjust which iso objects to make available in the viewer GUI. Note that for your app to launch quickly when a user connects, it is higly recommended to load only
.rds collections of iso files (i.e. save your iso objects via isoreader’s
iso_save() function and then load them from there for your isoviewer server). To test the server, launch it on your own computer by running
shiny::runApp() from the R console in your project. To deploy this app e.g. to www.shinyapps.io, follow their instructions to get your
rsconnect credentials set up and then simply run
rsconnect::deployApp() from the R console in your project. Note that the bioconductor packages used by isoreader sometimes cause trouble during the upload, in which case you may have to explicitly re-install them before deploying your app (e.g. by using
BiocManager::install()) and setting the bioconductor repositories using
options(repos = BiocManager::repositories()).
# start isoviewer server library(isoreader) isoviewer::iso_start_viewer_server( # provide a list of objects to make accessible iso_objects = list( di_example = iso_read_dual_inlet("di_example.di.rds"), cf_example = iso_read_continuous_flow("cf_example.cf.rds"), scan_example = iso_read_scan("scan_example.scan.rds") ), # make sure it doesn't launch on its own launch = FALSE )
This code example is actually the one available as the online demo below.
An online demo of the isoviewer GUI is available on our server but has limited computational resources (i.e. could be slow).
isoviewer is and will always be fully open-source (i.e. free as in ‘freedom’ and free as in ‘free beer’) and is provided as is. The source code is released under GPL-2.