Code Ocean App Panels and Shiny Apps
The interdisciplinary nature of computational biology demands rapid, reliable sharing of analyses to enable collaborative, reproducible research between individuals and teams. Increasingly, conventional methods of sharing, e.g. PDFs or Powerpoint slides are too limited for conveying the complexity of information.
Complex analyses require interactive formats
The main issue with these formats is their static nature. Using PDFs or slides researchers can only share one analysis at a time. To compare different analyses the user has to manually review multiple figures. Any modification the user might want to make to the analysis results in a time-consuming back-and-forth with the creator of the code, who needs to make the modifications and reshare the results – only to likely prompt another “what if” question.
Adding to the complexity of sharing is the diversity of expertise and needs of different user groups which can range from computational researchers to bench scientists, C-level executives, and potentially external partners such as medical doctors.
To address the varied needs of these different user groups, user-friendly web app development tools are becoming more popular. Compared to traditional tools, the new web app development tools are easy to use but still provide attractive, dynamic visualizations that can be shared with users.
While the actual code and complexities underlying the analysis are masked, users can now directly interact with the data using features such as dropdown menus, slide bars, and text boxes. This is especially helpful for sharing the results of computational analysis pipelines: the interactive nature of the apps conveys much more information than static graphs are able to.
Code Ocean: two ways to deliver interactive analysis
At Code ocean we enable dynamic web app development via two tools:
- Shiny, the popular RStudio web app development tool, and
- Code Ocean’s built-in App Panel
Shiny is a versatile, powerful tool that provides ample customization options for creating applications based on R. Shiny can be accessed using the Code Ocean CloudWorkstation which makes it easy to get started. Shiny apps are written using two R scripts, one for the user interface and one for the computational analysis, and in Code Ocean they can be easily managed along with any data files and software packages using the user-friendly interface provided by the Project Manager. The native RStudio supported by the Code Ocean CloudWorkstation also provides interactive integration with Shiny for developing apps inside Code Ocean.
Shiny is a great tool for sharing analysis during the project and publishing the final product, however, developers will need to code primarily in R which requires expertise in coding and debugging. Additionally, there is a cost associated with deploying the app widely.
To address these issues with Shiny, Code Ocean’s has developed its App Panel feature and integrated it into the Computational Workbench platform. The App Panel provides a fast and easy alternative for many of the fundamental features of Shiny, e.g. user-friendly UI that can be edited quickly without writing code. The App Panel supports different coding languages, and allows inputting parameters through files. The platform benefits also offers intuitive organizing and the ability to share the app and results in a Compute Capsule.
These features allow any user to actively adjust the parameters and click the “reproducible run” button to work directly with the data, modify the analysis, and obtain an interactive visual – all without the help of a coder.
Two Ways to Create, Organize and Share Interactive Analysis
|Fast, user-friendly tools for interactive visualization||Yes||Yes|
|Supported by Code Ocean?||Yes, included integration||Yes, included feature|
|Create interactive UI||Yes||Yes|
|Self Service environment management and DevOps||Yes when used with Code Ocean or used with a standalone DevOps||Yes, ready to use with Code Ocean|
|Coding requirements||R code needed for both the UI and server||Code-less editing of standard UI elements (title, menu, parameter inputs) through a pre-built tab|
|Language supported||R and Python (if used with packages like reticulate)||Any language supported on Code Ocean|
|App Reproducibility||Guaranteed if created using CO Capsules||Guaranteed with Code Ocean Capsules|
Web app tools are essential for sharing intuitive, interactive analysis with a range of different collaborators. Code Ocean supports both RStudio’s Shiny and its own integrated App Panel. The tools provide users, even those without deep coding expertise, with flexible tools they can rely on for seamless creation and sharing of their computational analyses.
To take a deeper look at Code Ocean’s Shiny and App Panel integration please watch our video:
- ShinyOmics Capsule:https://codeocean.com/capsule/5806396/tree
- Combo Synergy of Two Drugs Capsule: https://codeocean.com/capsule/3920002/tree
- Solution Brief & Product Data Sheet: https://codeocean.com/resources/collateral/
- User Documentation: https://codeocean.com/resources/documentation/
- Shiny User Guide:https://docs.rstudio.com/shinyapps.io/
- App Panel Guide:https://docs.codeocean.com/onboarding/app-panel-guide