/SciView

Single Cell Interactive Viewer

Primary LanguageR

SciView

Single Cell Interactive Viewer is an R shiny application that allows users to interactively visualize single cell datasets. The application contains two modules - 1) SciViewIn: The input application that processes single cell data from .h5ad or .seurat format into either a local or remote database. 2) SciView: The main application that allows interactive visualization.

Installation: From git

  • The application is developed in R 4.0 and uses several dependancies listed below.

  • R Shiny libraries

    • library(shiny)
    • library(shinydashboard)
    • library(shinyFiles)
    • library(shinyWidgets)
    • library(shinyjs)
    • library(dashboardthemes)
    • library(shinycssloaders)
    • library(shinyBS)
  • R data handling libraries

    • library(Seurat)
    • library(reticulate)
    • library(data.table)
    • library(Matrix)
    • library(SparseM)
    • library(dplyr)
    • library(preprocessCore)
    • library(DT)
    • library(optparse)
    • library(gprofiler2)
    • library(sparkline)
    • library(reactable)
  • R data visualization libraries

    • library(highcharter)
    • library(plotly) #version='4.9.4'
    • library(rasterly)
    • library(png)
    • library(heatmaply)
  • R database libraries

    • library(RSQLite)
    • library(RMySQL)
    • library(DBI)
  • Custom R library

    • library(pddExpn) : Available in this repo
  • Set up R locally or on your R-server.

  • Clone the repo and install all above-listed dependencies.

  • Copy genes.db data file from https://drive.google.com/file/d/1rGWwVrBd9eK-uaO6qFrr6yV_mOKaGFn5/view?usp=share_link and store under the folder SciView

  • If running on ShinyServer, replace the index.html file with the provided copy.

  • Run the SciViewIn applications as following

runApp(appDir = "/path/to/SciViewIn/",launch.browser = T)
  • Run the SciView applications as following
runApp(appDir = "/path/to/SciView/",launch.browser = T)

Installation: From Docker

  • You can run SciView using docker image available through DockerHub

  • The contianer can be run either on and an AWS-EC2 instance or on local linux cluster (where docker is installed and working)

  • You can listen to the SciView container on port 3838

  • While running it on an AWS-EC2, please make sure that the port used for listening on DNS server is open for traffic and is unused by other applications.

  • Make sure that docker is installed on the machine, before running following steps

  • Pull Docker image

docker pull 24122016/sciview:latest
  • Check port usage
lsof -i :8080 
lsof -i :3838 
  • Remove other docker containers
docker rm -f $(docker ps -aq) 
  • Doker docker container and and mount volume * In the below command, data under /home/rstudio/data directory of the EC2 instance is mounted into shiny server * The port 3838 from the docker container is exposed to 8080. Hence, one can listen the application on (DNS-server-address):8080 * Mounted drive can be used to store the data (i.e. single cell seurat/h5ad ojects and .db files created by the application)
docker run -d -p 8080:3838 \
    -v /home:/srv/shiny-server/data \
    --name sciview sciview
  • If you are using local linux machine for running SciView, you can listen to the application on 127.0.0.1:8080

  • You can check the run logs on the above running docker instance by launching interactive shell

docker exec -it sciview bash