EskelandLab / ShinyArchRUiO

GNU General Public License v3.0
18 stars 5 forks source link

ShinyArchrUiO

ShinyArchR.UiO(ShinyArchR User interface Open) is a user-friendly, integrative, and open-source shiny-based web app using R programming for visualization of massive single-cell chromatin accessibility data (scATAC-seq) based on ArchR, (Granja et al, 2021). Example of web interface on tutorial dataset is available at ShinyArchR.UiO website (Sharma et al, Bioinformatics,2021). Learn more from our videotutorial: https://youtu.be/gIUGgJWlWCw.

Downsampled tutorial data

We utilized the tutorial data downloaded using the getTutorialData() function for Shiny instance of ShinyArchR.UiO. The downsampled tutorial data of hematopoietic cells approximately 0.5 GB in size is used for the analysis with the steps described in full manual of ArchR toolkit (https://www.archrproject.com/bookdown/index.html).

Input Data for ArchR processing

ArchR can read a wide range of input formats, often in fragment files or BAM files, but it is also capable of reading scATAC-seq data. scATAC-seq fragment files contain the corresponding cell ID for each scATAC-seq fragment, sorted into tabix files. BAM files contain information about each scATAC-seq fragment, raw sequence, cellular barcode ID, and other information in tabularized format. The preprocessing pipeline defines what input format is used. The 10x Genomics Cell Ranger software, for example, returns fragment files, while sci-ATAC-seq applications use BAM files. To read fragment files, ArchR uses "scanTabix" and to read BAM files, it uses "scanBam". To support the input process, input data chunks are converted to a compressed table-based representation of fragments, which includes the fragment chromosome, offset-adjusted start and end positions, as well as the cellular barcode ID. To preserve memory consumption while maintaining quick access to chunks, chunks are stored in a temporary HDF5-formatted file. The final step involves reading, organizing, and rewriting all portions of each chromosome to an Arrow file within a single HDF5 group referred to as a "fragment". In this way, ArchR is able to handle extremely large input files efficiently and with very low memory usage, allowing it to fully utilize parallel processing.


Salient Features

ShinyArchR.UiO is written in R Programming using Shiny package, enabling its use locally as well as making it available to broader audiences by hosting on Shiny Server. The web interface has a scalable low memory footprint due to the use of the Arrow file format used by ArchR given massive single-cell ATAC- seq data. Users can export manuscript-ready figures in PDF.

Table of Contents and Additional Tutorials

This readme is divided into the following sections:

Installation:

Download ShinyArchR.UiO from github.com/EskelandLab/ShinyArchR.UiO
or

 git clone https://github.com/EskelandLab/ShinyArchR.UiO.git

Quick Start guide

The analysis performed as shown in the ArchR full manual on a test dataset of hematopoietic cells can be applied to users' datasets.

Installation of mandatory packages

Open R environment or R GUI of your choice and run the following code:

#check for devtools
if (!requireNamespace("devtools", quietly = TRUE)) install.packages("devtools")

#Install ArchR
devtools::install_github("GreenleafLab/ArchR",ref="master",repos=BiocManager::repositories())

#Install ArchR dependencies
library(ArchR)
ArchR::installExtraPackages()

#Installing Required packages  
install.packages(c("shiny","Seurat", "magick","hexbin","shinybusy","gridExtra", "grid","shinycssloaders") 

On command Line:

#Installs devtools
Rscript -e 'install.packages("devtools",repos="http://cran.r-project.org")'
#Installs BiocManages
Rscript -e 'install.packages("BiocManager",repos="http://cran.r-project.org")'
#Installs ArchR
Rscript -e  'devtools::install_github("GreenleafLab/ArchR",ref="master",repos=BiocManager::repositories())'
#Installs ArchR dependencies
Rscript -e 'ArchR::installExtraPackages()'

#Installs packages 
Rscript -e 'install.packages(c("shiny","magick","hexbin","Seurat","shinybusy","gridExtra", "grid","shinycssloaders")' 

Adding folder paths and parameters

Setting up parameters

Running ShinyArchRUiO on Commandline

Navigate to the folder containing ShinyArchRUiO.

R -e "shiny::runApp('ShinyArchR.UiO',launch.browser =TRUE)" 

Running ShinyArchRUiO on R GUI

shiny::runApp('ShinyArchRUiO')

ShinyArchRUiO tab Information


ShinyArchR.UiO Visualization

1. scClusters

6. Peak2GeneLinks heatmaps.

For a more detailed description, Please see supplementary information.

Frequently Asked Questions

Q: Which version of R programming is required?

Q: What are the required packages for running ShinyArchRUiO?

Q: How to set reference genome other than hg19 ?

Q: How much memory/storage space does ShinyArchR.UiO and the Shiny app consume?

Q: If you are getting 502 Bad Gateway error on demo ShinyArchR.UiO web interface?

Q: Does ShinyArchR.UiO supports Seurat objects ?

Q: Specification of ShinyArchR.UiO server ?

RHEL system and we use SElinux, nginx and SSL
Model name: Intel(R) Xeon(R) Platinum 8168 CPU @ 2.70GHz
Architecture:    x86_64
CPU op-mode(s): 32-bit, 64-bit
CPU(s): 4
CPU family: 6
RAM:    31Gi
Icon name:  computer-vm
Virtualization: vmware
Operating System:   Red Hat Enterprise Linux 8.4 (Ootpa)
CPE OS Name:    cpe:/o:redhat:enterprise_linux:8.4:GA
Kernel: Linux 4.18.0-305.el8.x86_64

Additional info

For a general introduction of the tool and how to setting up ShinyArchR.UiO locally.

Please watch ShinyArchR.UiO's Introduction video tutorial.

Please watch ShinyArchR.UiO's Setup video tutorial.

Citations information

Please cite ShinyArchR.UiO article published in OUP Bioinformatics and BiorXiV preprint.

Ankush Sharma, Akshay Akshay, Marie Rogne, Ragnhild Eskeland, ShinyArchR.UiO: user-friendly, integrative and open-source tool for visualization of single-cell ATAC-seq data using ArchR, Bioinformatics, 2021;, btab680, https://doi.org/10.1093/bioinformatics/btab680