项目作者: CRI-iAtlas

项目描述 :
An interactive web portal for exploring immuno-oncology data
高级语言: R
项目地址: git://github.com/CRI-iAtlas/shiny-iatlas.git
创建时间: 2018-02-03T00:50:03Z
项目社区:https://github.com/CRI-iAtlas/shiny-iatlas

开源协议:Apache License 2.0

下载


Shiny-iAtlas

Shiny-iAtlas is an interactive web portal that provides multiple analysis modules to visualize and explore immune response characterizations across cancer types. The app is hosted on shinyapps.io at https://isb-cgc.shinyapps.io/shiny-iatlas/ and can also be accessed via the main CRI iAtlas page at http://www.cri-iatlas.org/.

The portal is built entirely in R and Shiny using the RStudio development environment. Layout and interactivity within the portal are achieved by heavy use of the following packages:

Install

Requirements

MacOS Install instructions

Please see the section “Common Installation Errors (MacOS))” at the end of this README for common issues encountered during installation.

Initialize R Packages and run App

To run the app locally:

  1. Clone this repository

  2. Open shiny-iatlas.Rproj

  3. Install packages. In the RStudio console, run:

    1. renv::restore()

    This may take some time to complete - walk away from your computer, rest your eyes, and catch up on those stretching exercises you are meant to be doing :)

  4. Start the app by running:

    1. shiny::runApp()

Development

Please consult the Contributing Guide for pointers on how to get started on a new module.

When adding any new dependencies to the application, they may be added using (where “useful_package” is the name of the package to add):

  1. renv::install("useful_package")

see https://rstudio.github.io/renv/reference/install.html for more details.

Once a new package is added, run:

  1. renv::snapshot()

This will ensure the new package is added to the renv.lock file.

To remove an installed package, run (where “no_longer_useful_package” is the name of the package to remove):

  1. renv::remove("no_longer_useful_package")

For more on package management with renv, please see https://rstudio.github.io/renv/articles/renv.html

Deployment

The first time you deploy, go through the Deployment Setup instructions below. Afterwards, you can just deploy as per sub-section Deploy.

Deployment Setup (First-Time-Only)

You’ll need to set up your credentials for shinyapps.io. You can get your codes from:

Paste and evaluate your tokens in the RStudio console. They look like this:

  1. # shinyapps.io example credentials
  2. rsconnect::setAccountInfo(
  3. name='shiny-iatlas',
  4. token='xxx',
  5. secret='yyy'
  6. )

Deploy

  1. rsconnect::deployApp()

Data

Input data for the Shiny-iAtlas portal are to a large extent obtained from the Immune Landscape of Cancer30121-3) study. These data can be accessed via the Immunity journal publication page 30121-3), the manuscript page at NCI’s Genomic Data Commons and on iAtlas pages on Synapse. This includes the main feature matrix and various feature and group annotations. Additionally some input files of results were pre-computed specifically for use by this app.

Some of the key input data can be found as dataframe objects in feather files within the data folder:

  • cell_image_id_annotations.feather
  • driver_mutations.feather
  • feature_df.feather
  • feature_method_df.feather
  • fmx_df.feather
  • im_direct_relationships.feather
  • im_expr_df.feather
  • im_potential_factors.feather
  • im_target_annotations.feather
  • im_target_expr_df.feather
  • sample_group_df.feather

Methods

Methods employed by the app are described in Immune Landscape of Cancer30121-3) study and can also be found in Methods descriptions displayed in the app (for example as seen in Data Description module).

Concordance Index (CI)

Concordance indexes for survival endpoints with respect to different immune readouts are computed using a custom package developed by Tai-Hsien Ou Yang. The concordanceIndex package includes a single eponymous function that can be used as follows:

  1. concordanceIndex::concordanceIndex(predictions, observations)

where predictions and observations are numerical vectors of identical length.

Immune Subtype Classifier

The iAtlas Immune Subtype Classifier tool uses the ImmuneSubtypeClassifier R package, developed by David L. Gibbs, for classification of immune subtypes, in cancer, using gene expression data.

Common Installation Errors (MacOS)

When running renv::restore(), you may run into the following errors:

Error when installing Cairo:

  1. checking for pkg-config... no
  2. configure: CAIRO_LIBS is unset, attempting to guess it.
  3. configure: CAIRO_CFLAGS=-I/usr/local/include/cairo
  4. checking if R was compiled with the RConn patch... no
  5. checking cairo.h usability... yes
  6. checking cairo.h presence... yes
  7. checking for cairo.h... yes
  8. checking for PNG support in Cairo... yes
  9. checking for ATS font support in Cairo... no
  10. configure: CAIRO_LIBS=-L/usr/local/lib -lcairo
  11. checking for library containing deflate... -lz
  12. checking whether Cairo programs can be compiled... yes
  13. checking whether cairo_image_surface_get_format is declared... no
  14. checking for FreeType support in cairo... yes
  15. checking whether FreeType needs additional flags... yes
  16. checking whether fontconfig/freetype2 location can be guessed... possibly
  17. checking whether additional flags work... no
  18. configure: error: Cannot use cairo-ft backend, although cairo claims it is working. Please check your caito installation and/or update cairo if necessary or set CAIRO_CFLAGS/CAIRO_LIBS accordingly.
  19. ERROR: configuration failed for package Cairo
  20. * removing ‘/Users/ychae/Documents/iAtlas/shiny-iatlas/renv/staging/1/Cairo
  21. Error: install of package 'Cairo' failed

There are several possible reasons for this:

  • Make sure that you have XQuartz installed. If you’ve recently updated your MacOS, you will need to reinstall XQuartz.
  • You might be missing pkg-config. You can install this by opening a Terminal window and running brew install pkg-config.

Error when installing `RPostgres [1.1.1]:

  1. Installing RPostgres [1.1.1] ...
  2. FAILED
  3. Error installing package 'RPostgres':

Can be resolved by opening a Terminal window and running brew install libpq. You may also need to set PKG_CONFIG_PATH="/usr/local/opt/libpq/lib/pkgconfig".