Skip to content

R Shiny App Wiki (Outdated)

JadenLing edited this page May 10, 2024 · 1 revision

Shiny App/RStudio


The Shiny App is a library provided by RStudio. It is a platform that allows a web interface to be launched and accessed by a local host. However, we will be focusing on launching the Shiny App on OnDemand. In this case, we have 2 ways to launch the web interface: RStudio or the Shiny App itself.

Link to set up basic shiny program

2024 Semester 1 implementation:

  • Here is the implementation. It is still a demo version, additional features still need to be added, primarily the customisable parameters that differ from workflow to workflow.

  • here is the technical notes for the app.

  • More detailed notes on the app can be found here

  • A list of errors that have come up when implementing the current solution can be found here

For the Summer Intake 2023-2024 implementation:

High Level Architecture


The high-level architecture depicted in the diagram illustrates the process flow for a user interacting with a Shiny/R interface within an OnDemand environment to submit jobs to a High-Performance Computing (HPC) system, specifically Milton HPC. Here’s an explanation of the steps involved:

  1. User Interaction:

    • The user logs into the OnDemand platform. OnDemand is a web portal for HPC centers that provides a graphical interface for accessing remote computing resources.
  2. Shiny/R via OnDemand Interface:

    • Once logged in, the user interacts with a Shiny/R web application interface. Shiny is an R package that enables the creation of interactive web applications directly from R.
    • Within this interface, the user launches the application using instructions from the README from here
    • The user then selects a specific workflow and specify the source directory for input and output (the destination where you'd like the data to be stored).
    • After doing this, the user clicks the "Submit Job" button to initiate the job.
  3. Outside Shiny/R Interface:

    • Separately, there is a workflow directory that includes a Slurm script to submit jobs to the HPC for each workflow. Slurm is a job scheduler that allocates resources and manages job queues in an HPC environment. This directory is used to set up the environment or provide additional instructions for the HPC jobs that are initiated from the Shiny/R interface.
  4. Job Submission and Results:

    • The job is submitted into the Milton HPC system. The submission process is managed by the Slurm job scheduler, as indicated by the script that is part of the workflow.
    • Once the job is processed by the HPC resources, the outputs are saved into the specified directory. This directory is where the user can access the results of their computations or analysis after the job has completed.

The architecture allows a user without deep knowledge of HPC systems to perform complex tasks and computations by interacting with a user-friendly web interface. Behind the scenes, the system handles the intricacies of job scheduling, resource allocation, and output management.

The high level infrastructure:

High level infrastructure for Shiny/R OnDemand

Wiki Pages

Project Overview

  1. Home
  2. User Stories

2024 Semester 1 Implementation

  1. 2024 Semester 1 Onboarding Checklist
  2. Current Overview of Domain

Note: The current code implementation could be found here or if you follow the instructions in the Onboarding Checklist

The following Sections are outdated but are here if you are curious what previous intakes did

Previous Intakes

2023-24 Summer Intake

  1. 2023-24 Summer Intake Onboarding Checklist

2023 Semester 2 Implementation

  1. Galaxy App Wiki
Clone this wiki locally