1 Introduction

TCGAbiolinksGUI was created to help users more comfortable with graphical user interfaces (GUI) to search, download and analyze Cancer data. It offers a graphical user interface to the R/Bioconductor package TCGAbiolinks (A. Colaprico et al. 2016), which is able to access The National Cancer Institute (NCI) Genomic Data Commons (GDC) through its
GDC Application Programming Interface (API). Additional packages from Bioconductor are included, such as ComplexHeatmap package (Gu, Eils, and Schlesner 2016) to aid in visualizing the data, ELMER (Yao et al. 2015) to identify regulatory enhancers using gene expression + DNA methylation data + motif analysis and Pathview (Luo and Brouwer 2013) for pathway-based data integration and visualization.

The GUI was created using Shiny, a Web Application Framework for R, and uses several packages to provide advanced features that can enhance Shiny apps, such as shinyjs to add JavaScript actions for the app, shinydashboard to add dashboards and shinyFiles to provide an API for client side access to the server file system. A running version of the GUI is found in http://tcgabiolinks.fmrp.usp.br:3838/

This work has been supported by a grant from Henry Ford Hospital (H.N.) and by the São Paulo Research Foundation FAPESP (2016/01389-7 to T.C.S. & H.N. and 2015/07925-5 to H.N.) the BridgeIRIS project, funded by INNOVIRIS, Region de Bruxelles Capitale, Brussels, Belgium, and by GENomic profiling of Gastrointestinal Inflammatory-Sensitive CANcers (GENGISCAN), Belgian FNRS PDR (T100914F to A.C., C.O. & G.B.). T.C.S. and B.P.B. were supported by the NCI Informatics Technology for Cancer Research program, NIH/NCI grant 1U01CA184826.

2 Starting with TCGAbiolinksGUI

2.1 Installation

To install the package from the (Bioconductor repository)[http://bioconductor.org/packages/TCGAbiolinksGUI/] please use the following code.

source("https://bioconductor.org/biocLite.R")
biocLite("TCGAbiolinksGUI", dependencies = TRUE)

To install the development version of the package via GitHub:

source("https://bioconductor.org/biocLite.R")
deps <- c("pathview","clusterProfiler","ELMER", "DO.db","GO.db",
          "ComplexHeatmap","EDASeq", "TCGAbiolinks")
for(pkg in deps)  
    if (!pkg %in% installed.packages()) biocLite(pkg, dependencies = TRUE)
deps <- c("devtools","shape","shiny","readr","googleVis",
          "shinydashboard","shinyFiles","shinyjs","shinyBS")
for(pkg in deps)  
    if (!pkg %in% installed.packages())  install.packages(pkg,dependencies = TRUE)
devtools::install_github("tiagochst/ELMER")
devtools::install_github("tiagochst/ELMER.data")
devtools::install_github("BioinformaticsFMRP/TCGAbiolinksGUI")

2.2 Docker image

TCGAbiolinksGUI is available as Docker image (self-contained environments that contain everything needed to run the software), which can be easily run on Mac OS, Windows and Linux systems.

The image can be obtained from Docker Hub: https://hub.docker.com/r/tiagochst/tcgabiolinksgui/

For more information please check: https://docs.docker.com/ and https://www.bioconductor.org/help/docker/

2.2.1 Setting up image using graphical user interface (GUI)

This PDF shows how to install and execute the image using kitematic, which offers a graphical user interface (GUI) to control your app containers.

2.2.2 Setting up image using command-line

  • Download image: docker pull tiagochst/tcgabiolinksgui
  • To run RStudio Server and shiny-server, but the data is not saved if the container is stopped: sudo docker run --name tcgabiolinksgui -d -P -v /home/$USER/docker:/home/rstudio -p 3333:8787 -p 3334:3838 tiagochst/tcgabiolinksgui
  1. For more information how data can be saved please read this wiki and see command below
  • To run RStudio Server, shiny-server and save the results in the host machine please use the code below: sudo docker run --name tcgabiolinksgui -d -P -v /home/$USER/docker:/home/rstudio -p 3333:8787 -p 3334:3838 tiagochst/tcgabiolinksgui
  1. In case Rstudio is not accessible please check if the folder created (docker) has the right permission
  2. If your system is windows or macOS you will need to change /home/$USER/docker to the correct system path. Examples can be found in this github page
  • To stop the image:
  1. Run sudo docker stop tcgabiolinksgui to stop it
  • To start the image again (after the first time ran with docker run and stopped).
  1. Run sudo docker start tcgabiolinksgui

2.2.3 Accessing the tools after the image is running:

  • TCGAbiolinksGUI will be available at :3334/tcgabiolinksgui
  • RStudio will be available at :3333 (username: rstudio , password:rstudio)

2.3 Quick start

The following commands should be used to start the graphical user interface.

library(TCGAbiolinksGUI)
TCGAbiolinksGUI()

2.4 Video tutorials

To facilitate the use of this package, we have created some tutorial videos demonstrating the tool. Some sections have video tutorials that if clicked will redirect to the video on youtube. For the complete list of videos, please check this youtube list.

2.5 PDF tutorials

For each section we created some PDFs with detailing the steps of each section: Link to folder with PDFs

2.6 Question and issues

Please use Github issues if you want to file bug reports or feature requests.

2.7 Data input summary

Menu Sub-menu Button Data input
Clinical analysis Profile Plot Select file A table with at least two categorical columns
Clinical analysis Survival Plot Select file A table with at least the following columns: days_to_death, days_to_last_followup and one column with a group
Epigenetic analysis Differential methylation analysis Select data (.rda) A summarizedExperiment object
Epigenetic analysis Volcano Plot Select results A csv file with the following pattern: DMR_results_GroupCol_group1_group2_pcut_1e-30_meancut_0.55.csv (Where GroupCol, group1, group2 are the names of the columns selected in the DMR steps.
Epigenetic analysis Heatmap plot Select file A summarizedExperiment object
Epigenetic analysis Heatmap plot Select results Same as Epigenetic analysis >Volcano Plot > Select results
Epigenetic analysis Mean DNA methylation Select file A summarizedExperiment object
Transcriptomic Analysis Volcano Plot Select results A csv file with the following pattern: DEA_results_GroupCol_group1_group2_pcut_1e-30_meancut_0.55.csv (Where GroupCol, group1, group2 are the names of the columns selected in the DEA steps.
Transcriptomic Analysis Heatmap plot Select file A summarizedExperiment object
Transcriptomic Analysis OncoPrint plot Select MAF file A MAF file (columns needed: Hugo_Symbol,Tumor_Sample_Barcode,Variant_Type)
Transcriptomic Analysis OncoPrint plot Select Annotation file A file with at least the following columns: bcr_patient_barcode
Integrative analysis Starburst plot DMR result A csv file with the following pattern: DMR_results_GroupCol_group1_group2_pcut_1e-30_meancut_0.55.csv (Where GroupCol, group1, group2 are the names of the columns selected in the DMR steps.
Integrative analysis Starburst plot DEA result A csv file with the following pattern: DEA_results_GroupCol_group1_group2_pcut_1e-30_meancut_0.55.csv (Where GroupCol, group1, group2 are the names of the columns selected in the DEA steps.
Integrative analysis ELMER Create mee > Select DNA methylation object An rda file with a summarized Experiment object
Integrative analysis ELMER Select results > Select expression object An rda file with the RNAseq data frame
Integrative analysis ELMER Select mee An rda file with a mee object
Integrative analysis ELMER Select results An rda file with the results of the ELMER analysis

3 Citation

Please cite both TCGAbiolinks package and TCGAbiolinksGUI:

  • Silva TC, Colaprico A, Olsen C, Bontempi G, Ceccarelli M, Berman BP. , and Noushmehr H. “TCGAbiolinksGUI: A Graphical User Interface to analyze cancer molecular and clinical data.”Bioinformatics - Submitted for review.
  • Colaprico A, Silva TC, Olsen C, Garofano L, Cava C, Garolini D, Sabedot T, Malta TM, Pagnotta SM, Castiglioni I, Ceccarelli M, Bontempi G and Noushmehr H. “TCGAbiolinks: an R/Bioconductor package for integrative analysis of TCGA data.” Nucleic acids research (2015): gkv1507.

Other related publications to this package:

  • “TCGA Workflow: Analyze cancer genomics and epigenomics data using Bioconductor packages”. F1000Research 10.12688/f1000research.8923.1 (T. Silva et al. 2016)

If you used ELMER please cite:

  • Yao, L., Shen, H., Laird, P. W., Farnham, P. J., & Berman, B. P. “Inferring regulatory element landscapes and transcription factor networks from cancer methylomes.” Genome Biol 16 (2015): 105.
  • Yao, Lijing, Benjamin P. Berman, and Peggy J. Farnham. “Demystifying the secret mission of enhancers: linking distal regulatory elements to target genes.” Critical reviews in biochemistry and molecular biology 50.6 (2015): 550-573.

If you used OncoPrint plot and Heatmap Plot please cite:

  • Gu, Zuguang, Roland Eils, and Matthias Schlesner. “Complex heatmaps reveal patterns and correlations in multidimensional genomic data.” Bioinformatics (2016): btw313

If you used Pathway plot please cite:

  • Luo, Weijun, Brouwer and Cory (2013). “Pathview: an R/Bioconductor package for pathway-based data integration and visualization.” Bioinformatics, 29(14), pp. 1830-1831.

4 Increasing loaded DLL

If you receive this error message: maximal number of DLLs reached... You will need to increase the maximum number of DLL R can load. R_MAX_NUM_DLLS In MACOS just modify the file /Library/Frameworks/R.framework/Resources/etc/Renviron and add R_MAX_NUM_DLLS=110 in the end.

For other OS check https://stat.ethz.ch/R-manual/R-patched/library/base/html/Startup.html.

5 Session info

sessionInfo()
## R version 3.4.1 (2017-06-30)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 16.04.2 LTS
## 
## Matrix products: default
## BLAS: /home/biocbuild/bbs-3.5-bioc/R/lib/libRblas.so
## LAPACK: /home/biocbuild/bbs-3.5-bioc/R/lib/libRlapack.so
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=C              
##  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
##  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
## 
## attached base packages:
## [1] parallel  stats4    stats     graphics  grDevices utils     datasets 
## [8] methods   base     
## 
## other attached packages:
##  [1] TCGAbiolinksGUI_1.2.1      shinydashboard_0.6.1      
##  [3] bindrcpp_0.2               DT_0.2                    
##  [5] dplyr_0.7.2                SummarizedExperiment_1.6.3
##  [7] DelayedArray_0.2.7         matrixStats_0.52.2        
##  [9] Biobase_2.36.2             GenomicRanges_1.28.4      
## [11] GenomeInfoDb_1.12.2        IRanges_2.10.2            
## [13] S4Vectors_0.14.3           BiocGenerics_0.22.0       
## [15] TCGAbiolinks_2.4.6        
## 
## loaded via a namespace (and not attached):
##   [1] R.utils_2.5.0               RSQLite_2.0                
##   [3] AnnotationDbi_1.38.2        htmlwidgets_0.9            
##   [5] grid_3.4.1                  trimcluster_0.1-2          
##   [7] BiocParallel_1.10.1         ELMER_1.6.0                
##   [9] DESeq_1.28.0                munsell_0.4.3              
##  [11] codetools_0.2-15            preprocessCore_1.38.1      
##  [13] miniUI_0.1.1                GOSemSim_2.2.0             
##  [15] colorspace_1.3-2            BiocInstaller_1.26.0       
##  [17] OrganismDbi_1.18.0          knitr_1.16                 
##  [19] robustbase_0.92-7           pathview_1.16.5            
##  [21] DOSE_3.2.0                  KEGGgraph_1.38.1           
##  [23] GenomeInfoDbData_0.99.0     mnormt_1.5-5               
##  [25] hwriter_1.3.2               KMsurv_0.1-5               
##  [27] bit64_0.9-7                 rprojroot_1.2              
##  [29] downloader_0.4              ggthemes_3.4.0             
##  [31] EDASeq_2.10.0               diptest_0.75-7             
##  [33] R6_2.2.2                    doParallel_1.0.10          
##  [35] illuminaio_0.18.0           RJSONIO_1.3-0              
##  [37] locfit_1.5-9.1              flexmix_2.3-14             
##  [39] fgsea_1.2.1                 bitops_1.0-6               
##  [41] reshape_0.8.6               assertthat_0.2.0           
##  [43] scales_0.4.1                nnet_7.3-12                
##  [45] gtable_0.2.0                rlang_0.1.1                
##  [47] genefilter_1.58.1           cmprsk_2.2-7               
##  [49] GlobalOptions_0.0.12        splines_3.4.1              
##  [51] rtracklayer_1.36.4          lazyeval_0.2.0             
##  [53] GEOquery_2.42.0             selectr_0.3-1              
##  [55] shinyBS_0.61                broom_0.4.2                
##  [57] yaml_2.1.14                 reshape2_1.4.2             
##  [59] GenomicFeatures_1.28.4      backports_1.1.0            
##  [61] httpuv_1.3.5                qvalue_2.8.0               
##  [63] clusterProfiler_3.4.4       RBGL_1.52.0                
##  [65] tools_3.4.1                 psych_1.7.5                
##  [67] nor1mix_1.2-2               ggplot2_2.2.1              
##  [69] RColorBrewer_1.1-2          siggenes_1.50.0            
##  [71] Rcpp_0.12.12                plyr_1.8.4                 
##  [73] zlibbioc_1.22.0             purrr_0.2.2.2              
##  [75] RCurl_1.95-4.8              ggpubr_0.1.4               
##  [77] openssl_0.9.6               GetoptLong_0.1.6           
##  [79] viridis_0.4.0               bumphunter_1.16.0          
##  [81] zoo_1.8-0                   ggrepel_0.6.5              
##  [83] cluster_2.0.6               magrittr_1.5               
##  [85] data.table_1.10.4           DO.db_2.9                  
##  [87] circlize_0.4.1              colourpicker_0.3           
##  [89] survminer_0.4.0             mvtnorm_1.0-6              
##  [91] whisker_0.3-2               aroma.light_3.6.0          
##  [93] shinyjs_0.9.1               mime_0.5                   
##  [95] hms_0.3                     evaluate_0.10.1            
##  [97] xtable_1.8-2                XML_3.98-1.9               
##  [99] mclust_5.3                  gridExtra_2.2.1            
## [101] shape_1.4.2                 compiler_3.4.1             
## [103] biomaRt_2.32.1              minfi_1.22.1               
## [105] tibble_1.3.3                R.oo_1.21.0                
## [107] htmltools_0.3.6             tidyr_0.6.3                
## [109] geneplotter_1.54.0          DBI_0.7                    
## [111] matlab_1.0.2                ComplexHeatmap_1.14.0      
## [113] MASS_7.3-47                 fpc_2.1-10                 
## [115] BiocStyle_2.4.1             ShortRead_1.34.0           
## [117] Matrix_1.2-10               readr_1.1.1                
## [119] quadprog_1.5-5              R.methodsS3_1.7.1          
## [121] igraph_1.1.2                bindr_0.1                  
## [123] pkgconfig_2.0.1             km.ci_0.5-2                
## [125] rvcheck_0.0.9               GenomicAlignments_1.12.1   
## [127] registry_0.3                foreign_0.8-69             
## [129] plotly_4.7.1                xml2_1.1.1                 
## [131] foreach_1.4.3               annotate_1.54.0            
## [133] rngtools_1.2.4              pkgmaker_0.22              
## [135] multtest_2.32.0             beanplot_1.2               
## [137] XVector_0.16.0              rvest_0.3.2                
## [139] doRNG_1.6.6                 stringr_1.2.0              
## [141] digest_0.6.12               ConsensusClusterPlus_1.40.0
## [143] graph_1.54.0                Biostrings_2.44.2          
## [145] fastmatch_1.1-0             rmarkdown_1.6              
## [147] base64_2.0                  survMisc_0.5.4             
## [149] dendextend_1.5.2            edgeR_3.18.1               
## [151] curl_2.8.1                  kernlab_0.9-25             
## [153] shiny_1.0.3                 Rsamtools_1.28.0           
## [155] modeltools_0.2-21           rjson_0.2.15               
## [157] nlme_3.1-131                jsonlite_1.5               
## [159] viridisLite_0.2.0           limma_3.32.5               
## [161] shinyFiles_0.6.2            lattice_0.20-35            
## [163] KEGGREST_1.16.0             GO.db_3.4.1                
## [165] httr_1.2.1                  DEoptimR_1.0-8             
## [167] survival_2.41-3             glue_1.1.1                 
## [169] png_0.1-7                   prabclus_2.2-6             
## [171] iterators_1.0.8             Rgraphviz_2.20.0           
## [173] bit_1.1-12                  class_7.3-14               
## [175] stringi_1.1.5               blob_1.1.0                 
## [177] latticeExtra_0.6-28         memoise_1.1.0

References

Gu, Zuguang, Roland Eils, and Matthias Schlesner. 2016. “Complex Heatmaps Reveal Patterns and Correlations in Multidimensional Genomic Data.” Bioinformatics. doi:10.1093/bioinformatics/btw313.

Luo, Weijun, and Cory Brouwer. 2013. “Pathview: An R/Bioconductor Package for Pathway-Based Data Integration and Visualization.” Bioinformatics 29 (14). Oxford Univ Press: 1830–1.

Silva, TC, A Colaprico, C Olsen, F D’Angelo, G Bontempi, M Ceccarelli, and H Noushmehr. 2016. “TCGA Workflow: Analyze Cancer Genomics and Epigenomics Data Using Bioconductor Packages [Version 2; Referees: 1 Approved, 1 Approved with Reservations].” F1000Research 5 (1542). doi:10.12688/f1000research.8923.2.

Yao, L, H Shen, PW Laird, PJ Farnham, and BP Berman. 2015. “Inferring Regulatory Element Landscapes and Transcription Factor Networks from Cancer Methylomes.” Genome Biology 16 (1): 105–5.