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.
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).
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.
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.
Download ShinyArchR.UiO from github.com/EskelandLab/ShinyArchR.UiO
or
git clone https://github.com/EskelandLab/ShinyArchR.UiO.git
The analysis performed as shown in the ArchR full manual on a test dataset of hematopoietic cells can be applied to users' datasets.
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")'
Open global.R file in a file editor and specify the following parameters:
ArchRThreads
#Set ArchRThreads as per available computational resources in setting up the ArchR section of the file.
#Default set to 1.
ArchRThreads = 1
Provide the path to the saved folders (Analysis done and divided into the folders as in ArchR manual is indespansable) in global.R
savedArchRProject1 <- loadArchRProject("path to projHeme2/")
savedArchRProject2 <- loadArchRProject("path to ProjHeme3/")
savedArchRProject3 <- loadArchRProject("path to projHeme5/")
Use trajectory name used in getTrajectory function instead of "LymphoidU" in global.R. Save the
trajectory_name<-"LymphoidU"
Save the global.R file.
Navigate to the folder containing ShinyArchRUiO.
R -e "shiny::runApp('ShinyArchR.UiO',launch.browser =TRUE)"
shiny::runApp('ShinyArchRUiO')
For a more detailed description, Please see supplementary information.
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 ?
createGeneAnnotation()
and createGenomeAnnotation()
functions or ArchR. ArchR natively supports hg19
, hg38
, mm9
, and mm10
and using addArchRGenome("hg38")
will use hg38
instead of 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
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.
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