RNAG5
RNAseq Differential Gene Expression Analysis
This page can be used as a template of how to use the available hermes
functions to take differential gene expression analysis between samples in HermesData
, visualize them in a volcano graph, and create an interactive volcano graph using teal.module.hermes
.
The function used to calculate differential gene expression uses HermesData
as input. See RNAG1 for details. In particular, the differential gene expression analysis does not require to normalize HermesData
.
We can calculate a data frame in HermesDataDiffExpr
class to include the gene differential expression between groups in HermesData
using diff_expression()
function. By default, diff_expression()
function uses the limma-voom
method to calculate the gene differential expression, unless specified otherwise as argument. The group
argument is to set the groups for comparison. The group
factors should be a 2-level factor in colData(HermesData)
.
We can also use the DESeq2
Method for gene differential expression.
It is also possible to pass additional arguments to the function behind the methods in the diff_expression()
, ex. if we wish to change the type of size factor estimation when using the DESeq2
method. See ?DESeq2::DESeq()
or ?limma::eBayes()
for details about the additional parameters available.
We can then plot a volcano graph for differential gene expression between groups in HermesData
using the autoplot()
function. The threshold values for adjusted p-values and log2 folder change can be specified.
Warning: Removed 47 rows containing missing values or values outside the scale range
(`geom_point()`).
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_volcanoplot
to include a volcano graph module in our teal app.
Code
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.9020 teal_0.15.2.9061
[3] teal.slice_0.5.1.9011 teal.data_0.6.0.9010
[5] teal.code_0.5.0.9009 shiny_1.9.1
[7] hermes_1.7.2.9002 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] parallelly_1.38.0 bslib_0.8.0
[23] fontawesome_0.5.2 htmlwidgets_1.6.4
[25] testthat_3.2.1.1 httr2_1.0.3
[27] cachem_1.1.0 teal.widgets_0.4.2.9020
[29] mime_0.12 lifecycle_1.0.4
[31] iterators_1.0.14 pkgconfig_2.0.3
[33] webshot2_0.1.1 Matrix_1.7-0
[35] R6_2.5.1 fastmap_1.2.0
[37] future_1.34.0 GenomeInfoDbData_1.2.12
[39] rbibutils_2.2.16 clue_0.3-65
[41] digest_0.6.37 colorspace_2.1-1
[43] shinycssloaders_1.1.0 ps_1.8.0
[45] AnnotationDbi_1.66.0 DESeq2_1.44.0
[47] crosstalk_1.2.1 RSQLite_2.3.7
[49] filelock_1.0.3 labeling_0.4.3
[51] fansi_1.0.6 httr_1.4.7
[53] abind_1.4-8 compiler_4.4.1
[55] bit64_4.0.5 withr_3.0.1
[57] doParallel_1.0.17 backports_1.5.0
[59] BiocParallel_1.38.0 DBI_1.2.3
[61] logger_0.3.0 biomaRt_2.60.1
[63] rappdirs_0.3.3 DelayedArray_0.30.1
[65] rjson_0.2.22 chromote_0.3.1
[67] tools_4.4.1 httpuv_1.6.15
[69] glue_1.7.0 callr_3.7.6
[71] promises_1.3.0 grid_4.4.1
[73] checkmate_2.3.2 cluster_2.1.6
[75] generics_0.1.3 gtable_0.3.5
[77] websocket_1.4.2 tidyr_1.3.1
[79] hms_1.1.3 xml2_1.3.6
[81] utf8_1.2.4 XVector_0.44.0
[83] ggrepel_0.9.6 foreach_1.5.2
[85] pillar_1.9.0 stringr_1.5.1
[87] limma_3.60.4 later_1.3.2
[89] circlize_0.4.16 dplyr_1.1.4
[91] BiocFileCache_2.12.0 lattice_0.22-6
[93] bit_4.0.5 tidyselect_1.2.1
[95] ComplexHeatmap_2.20.0 locfit_1.5-9.10
[97] Biostrings_2.72.1 knitr_1.48
[99] gridExtra_2.3 teal.logger_0.2.0.9009
[101] edgeR_4.2.1 xfun_0.47
[103] statmod_1.5.0 brio_1.1.5
[105] DT_0.33 stringi_1.8.4
[107] UCSC.utils_1.0.0 yaml_2.3.10
[109] shinyWidgets_0.8.6 evaluate_0.24.0
[111] codetools_0.2-20 tibble_3.2.1
[113] cli_3.6.3 xtable_1.8-4
[115] Rdpack_2.6.1 jquerylib_0.1.4
[117] processx_3.8.4 munsell_0.5.1
[119] teal.reporter_0.3.1.9015 Rcpp_1.0.13
[121] globals_0.16.3 dbplyr_2.5.0
[123] png_0.1-8 parallel_4.4.1
[125] assertthat_0.2.1 blob_1.2.4
[127] prettyunits_1.2.0 listenv_0.9.1
[129] scales_1.3.0 purrr_1.0.2
[131] crayon_1.5.3 GetoptLong_1.0.5
[133] rlang_1.1.4 formatR_1.14
[135] KEGGREST_1.44.1 shinyjs_2.1.0