Running RStudio Shiny Server and Apps on DNAnexus

RStudio Shiny Server

Shiny is an RStudio package for rapidly creating web apps in the R language. If your R script has users who are scared of that Matrix-esque black window with green text and have been begging you to create something easier for them to use, Shiny is for you. This allows you to avoid coding in HTML, CSS, and especially JavaScript. With a few lines of R code, you can convert your command line apps/scripts into a feature-rich, easy-to-use application with a beautiful graphical user interface (GUI).

Many bioinformaticians and data scientists know and love R (personally I am more of a parseltongue guy). Lots of useful Shiny apps have been created including GENAVi, shinyCircos, and shinyGO, to name a few. Therefore, many of our users naturally asked the question: “How do we run our Shiny apps on the DNAnexus platform?”

Here is how!

Click here to view the how-to article in DNAnexus documentation and read detailed descriptions of three different examples with increasing complexity and varied features. In brief, you can wrap your Shiny app (or any other web app on that matter) into a special DNAnexus applet, run it, and work with it in a web browser. The process is quite simple and can be done in a matter of hours, depending on the complexity of your app.

In the documentation page, I tried to keep the scenarios simple but to still cover real-life use cases. However, there are lots of different Shiny apps and lots of different use cases; the described methods may not fully fit yours. I still hope that this will give you a good foundation so you can build on it. If you want to go full pro and, for instance, create monolithic docker images containing both Shiny Server and your app, as well as configuration files and other data, you can start from a Dockerfile of the Shiny Server and modify it. (examples of such Dockerfiles are easily searchable). Creating an RStudio Pro server is also possible using these methods. The code and example Docker files can be found on their Github site. (Remember: you will need a license.)

Good luck, and let us know your thoughts, questions, comments, and suggestions, or other subjects you would like us to write about. We would love to hear from you!