Skip to content
View SEvisual's full-sized avatar

Block or report SEvisual

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
SEvisual/README.md

SEvisual

CRAN status

SEvisual provides an interactive visualization shiny-based App for exploring data stored in SummarizedExperiment object, currently supporting heatmap and MDS/PCA plot.

  • Interactive visualization

  • Modern UI

    • The UI is built with bslib, which is a Bootstrap 5 theme for shiny. It is a modern, clean and highly customizable theme for shiny applications
  • Handling of missing values (NA)

    • deletion or K-nearest neighbors (KNN) imputation using impute
  • Mandatory clustering

  • Support SummarizedExperiment object as input

    • SummarizedExperiment is used to store rectangular matrices of experimental results, which is a matrix-like container where rows represent features of interest (e.g. genes, transcripts, exons, etc.) and columns represent samples
  • Support data.frame as input

    • If the input data is a data.frame, it is automatically converted to a SummarizedExperiment object, assuming that all values are numeric
  • Support qs file as input

    • This .qs file contains SummarizedExperiment object, which can be loaded directly into the app
  • Online

    • The SEvisual shiny app is also hosted on the website: SEvisual. (N.B. This may be slow and interrupted due to overlapping memory usage.)

Install

  • Install Dependency Packages
    if (!requireNamespace("BiocManager", quietly=TRUE)) install.packages("BiocManager")
    packages <- c('tidyverse', "cli", "shiny", "bslib", "plotly", "qs", "SummarizedExperiment", 
                "htmltools", "colourpicker", "RColorBrewer", "shinyWidgets", "waiter", "shinyalert",
                "DT", "shinycustomloader", "GetoptLong", "kableExtra", "circlize", "impute",
                "ComplexHeatmap", "InteractiveComplexHeatmap", "pheatmap", "bsicons")
    for(i in 1:length(packages)){
        if (!requireNamespace(packages[i], quietly=TRUE)){
            BiocManager::install(packages[i], update=FALSE)
        }
    }
  • Install SEvisual Package
    if (!requireNamespace("SEvisual", quietly=TRUE)) devtools::install_github("SEvisual/SEvisual")

Usage

#SummarizedExperiment 
    if (!require("BiocManager", quietly=TRUE)) install.packages("BiocManager")
    BiocManager::install("airway")
    library(airway)
    data(airway)            #SummarizedExperiment with annotation
    SEvisual(airway)

#data.frame
    SEvisual(mtcars)        #automatically convert to SummarizedExperiment but without annotation
    SEvisual(iris)          #non-numeric values will be forcibly converted to numeric(eg. Species)

#data.frame convert to SummarizedExperiment with annotation
    colData <- data.frame(type=sample(c("A", "B"), ncol(mtcars), replace=TRUE)) #columns annotations
    rowData <- data.frame(car=rownames(mtcars))                                 #rows annotations 
    mtcars.SE <- SummarizedExperiment(assay=mtcars, colData=colData, rowData=rowData)
    SEvisual(mtcars.SE)

Get started

Since SEvisual covers a wide packages of uses, it has numerous getting started articles, each focusing on a particular interest:

Package Description
tidyverse 🍭 An opinionated collection of R packages designed for data science
shiny 🍎 Makes it easy to build interactive web applications (apps) straight from R
bslib 🍋 A modern UI toolkit for Shiny and R Markdown based on Bootstrap
plotly 🍒 Makes interactive, publication-quality graphs
qs 🍇 Quickly writing and reading any R object to and from disk
SummarizedExperiment 🍉 Store rectangular matrices of experimental results
bsicons 🍓 Use Bootstrap icons (as inline SVG)
htmltools 🍑 Tools for HTML generation and output.
colourpicker 🍰 A colour picker tool for Shiny and for selecting colours in plots
RColorBrewer 🍌 color schemes for maps designed by Cynthia Brewer
shinyWidgets 🍬 custom widgets and other components to enhance your shiny applications
waiter 🍍 Full screen and partial loading screens for Shiny
shinyalert 🌽 Easily create pretty popup messages (modals) in Shiny
shinycustomloader 🍅 A custom css/html or gif/image file for the loading screen in R shiny
DT 🍩 An R interface to the DataTables library
ComplexHeatmap 🍧 Make complex heatmaps

Getting help

There are two main places to get help with SEvisual:

@SEvisual's activity is private