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 any of the following articles when you used UCSCXenaShiny in your study:
V2
- Shensuo Li, Yuzhong Peng, Minjun Chen, Yankun Zhao, Yi Xiong, Jianfeng Li, Peng Luo, Haitao Wang, Fei Zhao, Qi Zhao, Yanru Cui, Sujun Chen, Jian-Guo Zhou, Shixiang Wang, Facilitating integrative and personalized oncology omics analysis with UCSCXenaShiny, Communications Biology, 1200 (2024), https://doi.org/10.1038/s42003-024-06891-2
V1
- 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.
☁️ 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
).
We have deployed two additional apps: a basic version of V2 (https://shiny.zhoulab.ac.cn/UCSCXenaShiny_basic/
) and an archive version of V1 (https://shiny.zhoulab.ac.cn/UCSCXenaShinyV1/
, code please see v1 branch).
🐍 Use with Conda
Name | Downloads | Version | Platforms |
---|---|---|---|
Install from conda-forge
channel with:
It is possible to list all of the versions of r-ucscxenashiny
available on your platform with:
📦 Use with Docker
UCSCXenaShiny has corresponding docker image at https://hub.docker.com/r/shixiangwang/ucscxenashiny/, you can install the latest version with:
From v2, docker pull from GitHub
ghcr.io
registry 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, unstable
Run the latest stable docker image and keep it at background with:
Now 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:
You can manage the deployed container with the following commands:
⏬ 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-dev
CentOS:
🔰 Usage
First load package:
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()
.
🎥 Videos
UCSCXenaShiny v2
Chinese website - Home page: https://www.bilibili.com/video/BV1rT421k7Zv - T•P•C Modules: https://www.bilibili.com/video/BV1E14218779 - T•P•C Pipelines: https://www.bilibili.com/video/BV141421t71g - Repository/General Analysis/Download: https://www.bilibili.com/video/BV1TZ421K7VH
English website: https://www.youtube.com/watch?v=VnIlzcVB1Ow&list=PLN1jxcOQONG6pH8zvHr-qhI3MMtvluITf
UCSCXenaShiny v1
- 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. Please note that upload files must in the format of csv/tsv (gz compression is supported) and files must have extension tsv/txt/csv/gz.
🛠️ Troubleshooting
-
ERROR: dependencies ‘gmp’, ‘Rmpfr’ are not available for package ‘PMCMRplus’
orERROR: dependency ‘pairwiseComparisons’ is not available for package ‘ggstatsplot’
.Your operating system lacks
gmp
andRmpfr
development libraries. -
installation of package ‘gridtext’ had non-zero exit status
with 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/Makevars
Append content to the openning file.
-
installation of package ‘nloptr’ had non-zero exit status
with error infolibtool: link: ERROR: no information for variable 'AR' cru
.The latest version of
nloptr
can 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 available
or 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
gganatogram
failed 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
ggradar
failed 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") } ) }
📃 LICENSE
GPLv3 © Openbiox