Learn R Programming

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

NameDownloadsVersionPlatforms

Install from conda-forge channel with:

conda install -c conda-forge r-ucscxenashiny

It 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/ucscxenashiny

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:

docker run -d --name xenashiny -p 3838:3838 shixiangwang/ucscxenashiny

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:

docker exec -it xenashiny /bin/bash

You 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-dev

CentOS:

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

:hammer_and_wrench: Troubleshooting

  1. ERROR: dependencies ‘gmp’, ‘Rmpfr’ are not available for package ‘PMCMRplus’ or ERROR: dependency ‘pairwiseComparisons’ is not available for package ‘ggstatsplot’.

    Your operating system lacks gmp and Rmpfr development libraries.

    # Ubuntu
    apt install -y libgmp3-dev libmpfr-dev
    # CentOS
    yum install -y gmp-devel mpfr-devel
  2. installation of package ‘gridtext’ had non-zero exit status with error info grid-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.

    CXX11=/opt/rh/devtoolset-9/root/usr/bin/g++ -std=c++11
  3. installation of package ‘nloptr’ had non-zero exit status with error info libtool: 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

  4. package ‘pacman’ is not available or similar.

    Install it by hand in R console.

    install.packages("pacman")
  5. there is no package called ‘shinythemes’ or similar.

    Install it by hand in R cosole.

    install.packages("shinythemes")
  6. 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")
          }
       )
    }
  7. 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")
          }
       )
    }

:writing_hand: Author

:page_with_curl: LICENSE

GPLv3 © Openbiox

Copy Link

Version

Install

install.packages('UCSCXenaShiny')

Monthly Downloads

334

Version

2.1.0

License

GPL (>= 3)

Issues

Pull Requests

Stars

Forks

Maintainer

Shixiang Wang

Last Published

May 15th, 2024

Functions in UCSCXenaShiny (2.1.0)

load_data

Load Dataset Provided by This Package
query_molecule_value

Get Molecule or Signature Data Values from Dense (Genomic) Matrix Dataset of UCSC Xena Data Hubs
vis_ccle_gene_cor

Visualize CCLE Gene Expression Correlation
get_ccle_cn_value

Fetch Identifier Value from Pan-cancer Dataset
query_toil_value_df

Obtain ToilHub Info for Single Molecule
query_tcga_group

Group TPC samples by build-in or custom phenotype and support filtering or merging operations
vis_dim_dist

Visualize the distribution difference of samples after dimension reduction analysis
vis_gene_TIL_cor

Heatmap for Correlation between Gene and Tumor Immune Infiltration (TIL)
tcga_clinical_fine

Toil Hub: Cleaned TCGA Clinical Data for grouping
vis_identifier_cor

Visualize Identifier-Identifier Correlation
tcga_clinical

Toil Hub: TCGA Clinical Data
vis_gene_tmb_cor

Visualize Correlation between Gene and TMB (Tumor Mutation Burden)
vis_gene_cor_cancer

Visualize Gene-Gene Correlation in a TCGA Cancer Type
tcga_genome_instability

TCGA: Genome Instability Data
vis_gene_cor

Visualize Gene-Gene Correlation in TCGA
vis_ccle_tpm

Visualize CCLE Gene Expression
tcga_gtex

Toil Hub: Merged TCGA GTEx Selected Phenotype
toil_info

Toil Hub: TCGA TARGET GTEX Selected Phenotype
vis_gene_stemness_cor

Visualize Correlation between Gene and Tumor Stemness
vis_gene_pw_cor

Visualize Correlation between Gene and Pathway signature Score
tcga_tmb

TCGA: TMB (Tumor Mutation Burden) Data
%>%

Pipe Operator
vis_pcawg_gene_cor

Visualize Gene-Gene Correlation in TCGA
vis_identifier_dim_dist

Visualize the distribution difference of samples after Molecule Identifier dimension reduction analysis
vis_identifier_grp_comparison

Visualize Comparison of an Molecule Identifier between Groups
query_pancan_value

Query Single Identifier or Signature Value from Pan-cancer Database
tcga_surv

Toil Hub: TCGA Survival Data
query_general_value

download data for shiny general analysis
tcga survival analysis

TCGA Survival Analysis
vis_gene_msi_cor

Visualize Correlation between Gene and MSI (Microsatellite instability)
vis_toil_Mut

Visualize molecular profile difference between mutation and wild status of queried gene
vis_gene_immune_cor

Heatmap for Correlation between Gene and Immune Signatures
vis_pancan_anatomy

Visualize Single Gene Expression in Anatomy Location
vis_unicox_tree

Visualize Single Gene Univariable Cox Result from Toil Data Hub
vis_pcawg_dist

Visualize molecular profile in PCAWG
vis_identifier_grp_surv

Visualize Identifier Group Survival Difference
vis_identifier_multi_cor

Visualize Correlation for Multiple Identifiers
tcga_purity

TCGA: Purity Data
tcga_subtypes

TCGA Subtype Data
vis_gene_drug_response_asso

Visualize Gene and Drug-Target Association with CCLE Data
vis_toil_Mut_cancer

Visualize molecular profile difference between mutation and wild status of queried gene in Single Cancer Type
vis_toil_TvsN_cancer

Visualize Gene TPM in Single Cancer Type (Tumor (TCGA) vs Normal (TCGA & GTEx))
vis_toil_TvsN

Visualize Pan-cancer TPM (tumor (TCGA) vs Normal (TCGA & GTEx))
vis_gene_drug_response_diff

Visualize Gene and Drug Response Difference with CCLE Data
vis_pcawg_unicox_tree

Visualize Single Gene Univariable Cox Result in PCAWG
app_run

Run UCSC Xena Shiny App
available_hosts

Show Available Hosts
TCGA.organ

TCGA: Organ Data
ccle_absolute

ABSOLUTE Result of CCLE Database
UCSCXenaShiny-package

Xena Shiny App
analyze_gene_drug_response_asso

Analyze Association between Gene (Signature) and Drug Response with CCLE Data
analyze_gene_drug_response_diff

Analyze Difference of Drug Response (IC50 Value (uM)) between Gene (Signature) High and Low Expression with CCLE Data
.opt_pancan

A default setting for pan-cancer studies
ccle_info

Phenotype Info of CCLE Database
ccle_info_fine

Cleaned Phenotype Info of CCLE Database for grouping
keep_cat_cols

Keep Only Columns Used for Sample Selection
pcawg_purity

Purity Data of PCAWG
ezcor

Run Correlation between Two Variables and Support Group by a Variable
mol_quick_analysis

Quick molecule analysis and report generation
ezcor_batch

Run correlation between two variables in a batch mode and support group by a variable
pcawg_info_fine

Cleaned Phenotype Info of PCAWG Database for grouping
pcawg_info

Phenotype Info of PCAWG Database
ezcor_partial_cor

Run partial correlation