Git Product home page Git Product logo

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:

CristEin's Projects

clusterprofiler icon clusterprofiler

:bar_chart: A universal enrichment tool for interpreting omics data

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.