Software requirements

  • Git version >= 2.21
  • Docker version >= 20.10
  • Docker-compose version >= 2.23

Don’t have Git installed, see Git Guides

Don’t have Docker installed, see Docker Engine

Don’t have Compose installed, see Compose Plugin

(1) Clone CaDrA and CaDrA.shiny repositories

git clone https://github.com/montilab/CaDrA.git
git clone https://github.com/montilab/CaDrA.shiny.git

Here is a list of configurations:

  • Specify a version of R to use as a base image to launch CaDrA.shiny dashboard. Default R_VERSION=4.3.0
  • Specify a release branch of CaDrA in which one can pull and build its package directly from its Github repo. Default CADRA_BRANCH=devel
  • Mount external data files (e.g. feature sets, gene expression sets, input scores, etc.) to populate CaDrA.shiny dashboard with. One can place external data files in a desired directory (e.g. /path/to/extdata) and change /path/to/extdata to your defined extdata directory in docker-compose.yml.
x-cadra-shiny-extdata:
  &cadra-shiny-extdata
  type: bind
  source: /path/to/extdata
  target: /CaDrA.shiny/inst/extdata

Additionally, a datalist.csv or datalist.RDS must be provided at /path/to/extdata directory including names and paths of where to import these data files into CaDrA.shiny dashboard.

The datalist.csv or datalist.RDS must contain the following fields:

Fields Description Values
feature_set_name Alias name for a feature set Required.
e.g. TCGA_ACC_2016_01_28_GISTIC_MUT_SIG
feature_set_path Absolute path to a feature set file. File format: csv or rds. Required.
e.g. /CaDrA.shiny/inst/extdata/feature_set/TCGA_ACC_2016_01_28_GISTIC_MUT_SIG.rds
input_score_name Alias name for an input score Optional.
input_score_path Absolute path to an input score file. File format: csv or rds. Optional.
gene_expression_name Alias name for a gene expression set Optional.
gene_expression_path Absolute path to a gene expression set file. File format: csv or rds. Optional.

An example of datalist.csv:

feature_set_name feature_set_path input_score_name input_score_path gene_expression_name gene_expression_path
CCLE SCNAs and Mutations /CaDrA.shiny/inst/extdata/CCLE_MUT_SCNA.rds B-catenin Activity in CCLE /CaDrA.shiny/inst/extdata/CTNBB1_reporter.rds
TCGA BrCa SCNAs and Mutations /CaDrA.shiny/inst/extdata/BRCA_GISTIC_MUT_SIG.rds YAP/TAZ Activity in TCGA BrCa /CaDrA.shiny/inst/extdata/TAZYAP_BRCA_ACTIVITY.rds
Simulated Feature Set /CaDrA.shiny/inst/extdata/sim_FS.rds Simulated Input Score /CaDrA.shiny/inst/extdata/sim_Scores.rds

IMPORTANT NOTE: Since Docker does not have direct access to the host machine, we must list each data file in its absolute path as referenced to its mounted directory inside the container (e.g. /CaDrA.shiny/inst/extdata) not the host directory.

  • Mount code base of CaDrA, change /path/to/CaDrA to your CaDrA directory.
x-cadra-code:
  &cadra-code
  type: bind
  source: /path/to/CaDrA
  target: /CaDrA
  • Mount code base of CaDrA.shiny, change /path/to/CaDrA.shiny to your CaDrA.shiny directory
x-cadra-shiny-code:
  &cadra-shiny-code
  type: bind
  source: /path/to/CaDrA.shiny
  target: /CaDrA-shiny

(3) Start cadra.shiny service in docker-compose.yml to trigger the build, run its container, and finally launch CaDrA.shiny dashboard

docker-compose up -d 

-d: run the container in detached mode

For more information about the docker-compose syntax, see docker-compose up reference

(4) Check if the image is built successfully

docker images

REPOSITORY        TAG        IMAGE ID        CREATED        SIZE
cadra.shiny       latest     2c22887402d3    2 hours ago    2.56GB

(5) Check if the container runs successfully

docker ps


CONTAINER ID   IMAGE               COMMAND                    CREATED        STATUS        PORTS                    NAMES
b37b6b19c4e8   cadra.shiny:latest  "/bin/bash -c /user/..."   5 hours ago    Up 5 hours    0.0.0.0:4567->3838/tcp   cadra.shiny

(6) Access CaDrA.shiny dashboard on your localhost

Using your preferred web browser, type in http://localhost:4567 and see if CaDrA.shiny dashboard is indeed hosted there.



Any questions or issues? Please report them on our github issues.