/POMAShiny

:apple: Web-based User-friendly Workflow for Metabolomics and Proteomics Data Analysis

Primary LanguageRGNU General Public License v3.0GPL-3.0

POMAShiny

Lifecycle: stable Last Commit License: GPL v3

Overview

POMAShiny is a web-based tool that provides a structured, flexible and user-friendly workflow for pre-processing, exploratory data analysis (EDA) and statistical analysis of metabolomics and proteomics data. This tool is based on the POMA R/Bioconductor package, which increases the reproducibility and flexibility of the analysis outside the web environment. POMAShiny’s workflow is structured in four sequential and well-defined panels: 1) data upload, 2) pre-processing, 3) EDA and 4) statistical analysis panels. POMAShiny is hosted at https://webapps.nutrimetabolomics.com/POMAShiny.

Run POMAShiny locally

Step 1: Clone this repository

Open the terminal and run:

git clone "https://github.com/pcastellanoescuder/POMAShiny.git"

Step 2: Install package dependencies

Open the POMAShiny.Rproj with RStudio and run:

# CRAN packages
installifnot <- function(pckgName){
  if (!(require(pckgName, character.only = TRUE))) {
    install.packages(pckgName, dep = TRUE)
    require(pckgName, character.only = TRUE)
  }
}

pk1 <- c('shiny', 'DT', 'devtools', 'reshape2', 'plotly', 'fresh', 'shinyhelper', 'ggraph', 
         'rmarkdown', 'shinyWidgets', 'tidyverse', 'knitr', 'patchwork', 'BiocManager')

for (i in 1:length(pk1)){
  installifnot(pk1[i])
}

# Install the old version of 'bs4Dash'
devtools::install_version("bs4Dash", version = "0.5.0", repos = "http://cran.us.r-project.org")

# Bioconductor packages
installBiocifnot <- function(pckgName){
  if (!(require(pckgName, character.only = TRUE))) {
    BiocManager::install(pckgName)
    require(pckgName, character.only = TRUE)
  }
}

pk2 <- c('Biobase', 'POMA', 'MSnbase')

for (i in 1:length(pk2)){
  installBiocifnot(pk2[i])
}

NOTE: POMAShiny was built with bs4Dash version 0.5.0 and is not compatible with newer versions of bs4Dash due to substantial breaking changes in the API. We keep the old version as indicated by the bs4Dash developers.

Step 3: Deploy POMAShiny locally 🎉

Once all dependencies have been installed run the following command and enjoy the analysis!

shiny::runApp(appDir = "app")

Run POMAShiny Docker container image

Step 1: Pull Docker image

Pull the POMAShiny Docker container image hosted at Docker Hub by running the following command in the terminal.

docker pull pcastellanoescuder/pomashiny:v.1.1.14

Step 2: Run Docker image

Run the container on your terminal once it has been pulled.

docker run -d --rm -p 3838:3838 pomashiny

Step 3: Run POMAShiny in your browser

Open your browser and paste http://0.0.0.0:3838. Then, enjoy the analysis!

Code of Conduct

Please note that the POMAShiny project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.