Skip to content

R package and web-tool for interactive visualisation and analysis of single cell RNA-Seq data

Notifications You must be signed in to change notification settings

IMB-Computational-Genomics-Lab/scIVA

Repository files navigation

scIVA - Single Cell Interactive Visualisation and Analysis


scIVA is an interactive web-tool for visualisation and analysis of single cell RNA-Seq data.

The scIVA web-tool is freely available at: http://computationalgenomics.com.au/shiny/scIVA/. No local installation is required to run the web-tool.

The scIVA package can also be loaded and run on a local computer. In this case, several R packages are required to be installed to the local machine, as described below.

Overview


Figure 1. scIVA general workflow.

Upload Data

Users are required to upload:

  • Gene Expression Matrix
  • Cluster Information Matrix

Users can then upload:

  • Cluster List, to subset the data by Clusters
  • Gene List, to subset the data by Specific Genes

scIVA allows for flexible data uploading, with multiple formats accepted, including csv, tsv, and xlsx, each with or without quotations. It also provides options to transpose the data matrices and choose headers from the uploaded dataset. Following the initial upload, the user can subset data by clusters, or upload a gene list to subset by genes, giving greater control to the user. This then gives a preview of the uploaded data, with cell, gene and cluster counts.

Quality Control

scIVA gives users access to a range of quality control measures for cells, including an interactive Beeswarm plot to compare between clusters or experimental design conditions. Sequencing depth quality control shows mean expression with proportions of cells expressing the gene. Also included is a ranking system of genes by mean and variance across the whole dataset and across clusters. This option facilitates gene selection based on gene expression pattern. scIVA also allows for data to be normalized using different procedures, and gives users control to filter outlier genes from the dataset. The resulting data can be downloaded and re-uploaded for subsequent analysis.

Single Gene Visualisation

scIVA has a comprehensive range of interactive visualisation and statistical tests for examining changes of any selected gene between clusters. The key features of scIVA is to provide the ability to visualize the data in an intuitive and interactive way. The Sunburst plot generates a layered graph of the proportion of cells with/without expression of the genes, displaying counts and percentage representation. The Beeswarm plot graphs the proportion of expressed cells and cell-specific expression level by clusters. Multiple density plots are generated to show the distribution of gene expression between clusters for all and for zero-filtered cells. A Summary expression table is generated, which displays counts, percentages and means for each cluster across all cells and positively expressed cells.

Single Gene Analysis

scIVA provides summary statistics in data browsing table by cells and clusters. To first identify genes with potential expression changes, a Kruskal-Wallis test is performed for all clusters, followed by a Kolmogorov-Smirnov test for pair-wise statistical differences in the distributions of gene expression between clusters. A modified form of likelihood ratio test, taking into account zero-inflated distribution, is provided to quantitatively perform differential expression analysis at gene level between clusters and to estimate fold change.

Gene List Analysis

scIVA provides analysis tools for a user uploaded list of multiple genes. Features include reactome pathway analysis, with p-value cutoff for enrichment tests which displays interactive genetic pathways. The user can also choose to cluster by selected genes, with options to choose the number of clusters, and whether to scale by row, with results displayed as a heatmap with dendrogram to illustrate the arrangements of clustering.

Running the web-tool

The following packages must be installed.

install.packages('shiny')
install.packages('plotly')
install.packages('RColorBrewer')
install.packages('sunburstR')
install.packages('readr')
install.packages('readxl')
install.packages('d3r')
install.packages('treemap')
install.packages('ggplot2')
install.packages('grid')
install.packages('randomcoloR')
install.packages('DT')
install.packages('shinythemes')
install.packages('webshot')
install.packages('data.table')
install.packages('heatmaply')
source("https://bioconductor.org/biocLite.R")
biocLite("ReactomePA")
biocLite('org.Hs.eg.db')
biocLite('clusterProfiler')
install.packages('networkD3')
install.packages('ggraph')
install.packages('igraph')
install.packages('ggbeeswarm')

Each package needs to be loaded from the library.

library('shiny')
library('plotly')
library('RColorBrewer')
library('sunburstR')
library('readr')
library('readxl')
library('d3r')
library('treemap')
library('ggplot2')
library('grid')
library('randomcoloR')
library('DT')
library('shinythemes')
library('webshot')
library('data.table')
library('heatmaply')
library('ReactomePA')
library('org.Hs.eg.db')
library('clusterProfiler')
library('networkD3')
library('ggraph')
library('igraph')
library('ggbeeswarm')

Once the packages have been installed, the app can be ran with the following line.

runGitHub("scIVA", "IMB-Computational-Genomics-Lab")

Sample data is provided in the 'Data' folder in the github repository.

Sample data is provided in the 'Data' folder in the github.

Upload 'Expression_sample_data.csv' as the Expression Matrix. Please ensure that Comma Separator is checked.

Upload 'Cluster_sample_data.csv' as the Cluster Matrix. Please ensure that Comma Separator is checked.

Upload 'GeneListSample.csv' as the gene list to subset the data by.

Upload 'ClusterListSample.csv' as the cell list to subset the data by.

About

R package and web-tool for interactive visualisation and analysis of single cell RNA-Seq data

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages