RNAG7
RNAseq Boxplot
This page can be used as a template of how to create boxplots for RNA-seq gene expression data using available hermes
, and to create interactive boxplot for RNA-seq gene expression analysis using teal.modules.hermes
.
The draw_boxplot()
function used below needs HermesData
as input. See RNAG1 for details on how to import, filter and normalize HermesData
.
We can create boxplots for expression values of single genes by providing the gene ID in a gene_spec
(gene specification) as follows.
We can also create boxplots for multiple genes next to each other, simply by specifying multiple gene IDs in the gene_spec
. Note that names given to the gene ID vector are used in the plot instead of the IDs.
We can also specify a gene summary function for multiple genes, thereby using the corresponding gene signature. Note that here we just want to use the first 6 genes from the object
without explicitly specifying the gene IDs, and this can be done through the genes()
function in hermes
.
We can add sample variables for stratification (x_var
), faceting (facet_var
) or coloring (color_var
).
Code
We can also add jittering to the data points overlaying the boxplot using the jitter
flag.
Code
We can also create violin plots instead of boxplots using the violin
flag.
We start by importing a MultiAssayExperiment
; here we use the example multi_assay_experiment
available in hermes
. It is wrapped as a teal::dataset
. We can then use the provided teal module tm_g_boxplot
to have a boxplot module in our teal app.
Code
[INFO] 2024-09-14 17:28:54.0569 pid:4015 token:[] teal.modules.hermes Initializing tm_g_boxplot
[INFO] 2024-09-14 17:28:55.5265 pid:4015 token:[9c2e99f7] teal Initializing reporter_previewer_module
Warning: 'experiments' dropped; see 'drops()'
R version 4.4.1 (2024-06-14)
Platform: x86_64-pc-linux-gnu
Running under: Ubuntu 22.04.4 LTS
Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.20.so; LAPACK version 3.10.0
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[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
time zone: Etc/UTC
tzcode source: system (glibc)
attached base packages:
[1] stats4 stats graphics grDevices utils datasets methods
[8] base
other attached packages:
[1] teal.modules.hermes_0.1.6 teal_0.15.2
[3] teal.slice_0.5.1 teal.data_0.6.0
[5] teal.code_0.5.0 shiny_1.9.1
[7] hermes_1.8.1 SummarizedExperiment_1.34.0
[9] Biobase_2.64.0 GenomicRanges_1.56.1
[11] GenomeInfoDb_1.40.1 IRanges_2.38.1
[13] S4Vectors_0.42.1 BiocGenerics_0.50.0
[15] MatrixGenerics_1.16.0 matrixStats_1.4.1
[17] ggfortify_0.4.17 ggplot2_3.5.1
loaded via a namespace (and not attached):
[1] RColorBrewer_1.1-3 jsonlite_1.8.8
[3] shape_1.4.6.1 MultiAssayExperiment_1.30.3
[5] magrittr_2.0.3 farver_2.1.2
[7] rmarkdown_2.28 GlobalOptions_0.1.2
[9] zlibbioc_1.50.0 vctrs_0.6.5
[11] memoise_2.0.1 webshot_0.5.5
[13] BiocBaseUtils_1.7.3 htmltools_0.5.8.1
[15] S4Arrays_1.4.1 forcats_1.0.0
[17] progress_1.2.3 curl_5.2.2
[19] SparseArray_1.4.8 sass_0.4.9
[21] bslib_0.8.0 fontawesome_0.5.2
[23] htmlwidgets_1.6.4 testthat_3.2.1.1
[25] httr2_1.0.4 cachem_1.1.0
[27] teal.widgets_0.4.2 mime_0.12
[29] lifecycle_1.0.4 iterators_1.0.14
[31] pkgconfig_2.0.3 webshot2_0.1.1
[33] Matrix_1.7-0 R6_2.5.1
[35] fastmap_1.2.0 GenomeInfoDbData_1.2.12
[37] rbibutils_2.2.16 clue_0.3-65
[39] digest_0.6.37 colorspace_2.1-1
[41] shinycssloaders_1.1.0 ps_1.8.0
[43] AnnotationDbi_1.66.0 DESeq2_1.44.0
[45] RSQLite_2.3.7 filelock_1.0.3
[47] labeling_0.4.3 fansi_1.0.6
[49] httr_1.4.7 abind_1.4-8
[51] compiler_4.4.1 bit64_4.0.5
[53] withr_3.0.1 doParallel_1.0.17
[55] backports_1.5.0 BiocParallel_1.38.0
[57] DBI_1.2.3 logger_0.3.0
[59] biomaRt_2.60.1 rappdirs_0.3.3
[61] DelayedArray_0.30.1 rjson_0.2.22
[63] chromote_0.3.1 tools_4.4.1
[65] httpuv_1.6.15 glue_1.7.0
[67] callr_3.7.6 promises_1.3.0
[69] grid_4.4.1 checkmate_2.3.2
[71] cluster_2.1.6 generics_0.1.3
[73] gtable_0.3.5 websocket_1.4.2
[75] tidyr_1.3.1 hms_1.1.3
[77] xml2_1.3.6 utf8_1.2.4
[79] XVector_0.44.0 ggrepel_0.9.6
[81] foreach_1.5.2 pillar_1.9.0
[83] stringr_1.5.1 limma_3.60.4
[85] later_1.3.2 circlize_0.4.16
[87] dplyr_1.1.4 BiocFileCache_2.12.0
[89] lattice_0.22-6 bit_4.0.5
[91] tidyselect_1.2.1 ComplexHeatmap_2.20.0
[93] locfit_1.5-9.10 Biostrings_2.72.1
[95] knitr_1.48 gridExtra_2.3
[97] teal.logger_0.2.0 edgeR_4.2.1
[99] xfun_0.47 statmod_1.5.0
[101] brio_1.1.5 stringi_1.8.4
[103] UCSC.utils_1.0.0 yaml_2.3.10
[105] shinyWidgets_0.8.6 evaluate_0.24.0
[107] codetools_0.2-20 tibble_3.2.1
[109] cli_3.6.3 xtable_1.8-4
[111] Rdpack_2.6.1 processx_3.8.4
[113] jquerylib_0.1.4 munsell_0.5.1
[115] teal.reporter_0.3.1 Rcpp_1.0.13
[117] dbplyr_2.5.0 png_0.1-8
[119] parallel_4.4.1 assertthat_0.2.1
[121] blob_1.2.4 prettyunits_1.2.0
[123] scales_1.3.0 purrr_1.0.2
[125] crayon_1.5.3 GetoptLong_1.0.5
[127] rlang_1.1.4 formatR_1.14
[129] KEGGREST_1.44.1 shinyjs_2.1.0