UCSCXenaShiny
UCSCXenaShiny is an R package for interactively exploring UCSC Xena.
It is mainly designed to provide a web app (built on the top of {shiny} framework and {UCSCXenaTools} package) for downloading,
analyzing and visualizing datasets from UCSC
Xena.
Please cite the following article when you used UCSCXenaShiny in your study:
Shixiang Wang#, Yi Xiong#, Longfei Zhao#, Kai Gu#, Yin Li, Fei Zhao, Jianfeng Li, Mingjie Wang, Haitao Wang, Ziyu Tao, Tao Wu, Yichao Zheng, Xuejun Li, Xue-Song Liu, UCSCXenaShiny: An R/CRAN Package for Interactive Analysis of UCSC Xena Data, Bioinformatics, 2021;, btab561, https://doi.org/10.1093/bioinformatics/btab561.
:cloud: Use on cloud
If you don't want to install R and packages locally, or you have no programming experience, try using this tool on Oncoharmony Network (http://shiny.zhoulab.ac.cn/UCSCXenaShiny) or Hiplot ORG platform (https://shiny.hiplot.cn/ucsc-xena-shiny).
:snake: Use with Conda
| Name | Downloads | Version | Platforms |
|---|---|---|---|
Install from conda-forge channel with:
conda install -c conda-forge r-ucscxenashinyIt is possible to list all of the versions of r-ucscxenashiny available on your platform with:
conda search r-ucscxenashiny --channel conda-forge:package: Use with Docker
UCSCXenaShiny has corresponding docker image at https://hub.docker.com/r/shixiangwang/ucscxenashiny/, you can install the latest version with:
docker pull shixiangwang/ucscxenashinyFrom v2, docker pull from GitHub
ghcr.ioregistry is also supported, e.g.,docker pull ghcr.io/openbiox/ucscxenashiny:master.
All versions can be found at https://hub.docker.com/r/shixiangwang/ucscxenashiny/tags/.
To use a specified version (e.g., 2.0.0; latest code commit will auto-build a tag master), run the following command to install:
docker pull shixiangwang/ucscxenashiny:2.0.0
# docker pull shixiangwang/ucscxenashiny:master # For latest code, unstableRun the latest stable docker image and keep it at background with:
docker run -d --name xenashiny -p 3838:3838 shixiangwang/ucscxenashinyNow you should find the Shiny when you open URL http://127.0.0.1:3838 with your web browser.
If you deploy the docker in a public (cloud) Linux server, change 127.0.0.1 to the host IP.
For the first time, it may return a failure about 'take a long time to respond', please refresh the web page.
If the application failed to start. Check if the container has installed all dependencies.
docker exec xenashiny R -e 'source(system.file("shinyapp/utils_pkgs.R", package = "UCSCXenaShiny"))'Or you can interactively check the container:
docker exec -it xenashiny /bin/bashYou can manage the deployed container with the following commands:
# Stop the container
docker stop xenashiny
# Start the container
docker start xenashiny:arrow_double_down: Manual installation
You can install stable release of UCSCXenaShiny from CRAN with:
install.packages("UCSCXenaShiny")You can install the development version of UCSCXenaShiny from Github with:
remotes::install_github("openbiox/UCSCXenaShiny")Or r-universe:
install.packages("UCSCXenaShiny", repos = c("https://openbiox.r-universe.dev", "https://cran.r-project.org"))Other dependent R packages specific to the Shiny application will be automatically installed when you start with app_run() command. If you failed to install UCSCXenaShiny, please check if the following system dependencies have been properly installed or see Troubleshooting section for specific installation issues.
System dependencies installation
When you use Windows/MacOS, please skip reading this sub-section.
As Linux distributions are very diverse, here we only test the installation of UCSCXenaShiny on common used Ubuntu/CentOS. If you are using other Linux distributions, you need to solve the system dependencies installation problems yourself when you encounter R package installation errors. However, the installation of system dependencies on Ubuntu/CentOS could be very good references.
Please note all commands below are execuated with
root.
Ubuntu:
apt update -y && apt install -y libcurl4-openssl-dev libssl-dev libxml2-dev \
libgmp3-dev libmpfr-devCentOS:
yum update -y && yum install -y libcurl-devel openssl-devel libxml2-devel \
gmp-devel mpfr-devel libjpeg-devel cairo-devel:beginner: Usage
First load package:
library(UCSCXenaShiny)Start Shiny in your R console (ignore this if you just want to use functions in this package):
app_run()
# At default, the Shiny is running under client mode
# It means the data queried from remote UCSC Xena server will
# be saved to temporary directory determined by R
# If you frequently use this tool or deploy this tool as a web service for multiple users
# It is recommended to run it with 'server' mode
# i.e.,
#
# app_run("server")If you want deploy UCSC Xena Shiny with Shiny Server, please copy App.R and www/ directory under shinyapp.
xena.runMode on the top of App.R is recommended to set as "server" instead of "client" (default).
For advanced users, examples for illustrating useful functions to obtain and analyze data are described in vignette.
All exported data and functions are organized at here.
xena.cacheDir and xena.zenodoDir are two options to control where to store data.
e.g.,
xena.cacheDir = "/xena"
xena.zenodoDir = "/xena/datasets"
options(xena.cacheDir = xena.cacheDir, xena.zenodoDir = xena.zenodoDir)
options(xena.runMode = "server")Option xena.runMode can be used to control the way how the Shiny works.
It can be 'client' or 'server'. You can directly set it in app_run().
:movie_camera: Videos
- Home page: https://www.bilibili.com/video/bv1R84y1F7WT.
- Repository page: https://www.bilibili.com/video/bv1Mq4y1J73o.
- General Analysis page: https://www.bilibili.com/video/bv1p64y1U7iU.
- Quick PanCan Analysis page: https://www.bilibili.com/video/bv1o64y1y7jW.
- Features:
- Genomic Signature: https://www.bilibili.com/video/bv1zB4y1c7eB.
- Upload custom data for general analysis: https://www.bilibili.com/video/BV1pf4y1j7eP.
:hammer_and_wrench: Troubleshooting
ERROR: dependencies ‘gmp’, ‘Rmpfr’ are not available for package ‘PMCMRplus’orERROR: dependency ‘pairwiseComparisons’ is not available for package ‘ggstatsplot’.Your operating system lacks
gmpandRmpfrdevelopment libraries.# Ubuntu apt install -y libgmp3-dev libmpfr-dev # CentOS yum install -y gmp-devel mpfr-develinstallation of package ‘gridtext’ had non-zero exit statuswith error infogrid-renderer.h:61:94: error: no matching function for call to ‘Rcpp::Vector<10, Rcpp::PreserveStorage>::Vector(int, bool&, const GraphicsContext&)’.You have an older C++ version which cannot support C++11 features. This error seems only happen on CentOS. Install a newer C++ and set it as default compiler for R would fix this problem.
yum install centos-release-scl yum install devtoolset-9 # If you use your non-root account to install packages, # change /root to /home/your_id in the following command mkdir -p /root/.R vi /root/.R/MakevarsAppend content to the openning file.
CXX11=/opt/rh/devtoolset-9/root/usr/bin/g++ -std=c++11installation of package ‘nloptr’ had non-zero exit statuswith error infolibtool: link: ERROR: no information for variable 'AR' cru.The latest version of
nloptrcan only support R>=4.0. When you are using R3.6 or below would have this issue. So install an older version in R console can fix this.packageurl <- "https://cran.r-project.org/src/contrib/Archive/nloptr/nloptr_1.2.1.tar.gz" install.packages(packageurl, repos=NULL, type="source")Reference: https://stackoverflow.com/questions/62900525/install-lme4-from-cran-on-ubuntu
package ‘pacman’ is not availableor similar.Install it by hand in R console.
install.packages("pacman")there is no package called ‘shinythemes’or similar.Install it by hand in R cosole.
install.packages("shinythemes")Install package
gganatogramfailed or similar.Install it by hand in R cosole.
if (!requireNamespace("gganatogram")) { library(remotes) tryCatch( remotes::install_github("jespermaag/gganatogram"), error = function(e) { remotes::install_git("https://gitee.com/XenaShiny/gganatogram") } ) }Install package
ggradarfailed or similar.Install it by hand in R cosole.
if (!requireNamespace("ggradar")) { library(remotes) tryCatch( remotes::install_github("ricardo-bion/ggradar"), error = function(e) { remotes::install_git("https://gitee.com/XenaShiny/ggradar") } ) }
:writing_hand: Author
:page_with_curl: LICENSE
GPLv3 © Openbiox