ADAMgui is an Graphical User Interface for the ADAM package which is GSEA R package created to group a set of genes from comparative samples (control versus experiment) belonging to different species according to their respective functions (Gene Ontology and KEGG pathways as default) and show their significance by calculating p-values referring to gene diversity and activity (Castro et al. (2009)). Each group of genes is called GFAG (Group of Functionally Associated Genes).
The ADAM package was constituted by an statistical class, all genes present in the expression data are grouped by their respective functions according to the domains described by AnalysisDomain argument. The relationship between genes and functions are made based on the species annotation package. If there is no annotation package, a three column file (gene, function and function description) must be provided. For each GFAG, gene diversity and activity in each sample are calculated. As the package always compare two samples (control versus experiment), relative gene diversity and activity for each GFAG are calculated. Using bootstrap method, for each GFAG, according to relative gene diversity and activity, two p-values are calculated. The p-values are then corrected, according to the correction method defined by PCorrectionMethod argument, generating a q-value (Molan (2018)). The significative GFAGs will be those whoose q-value stay under the cutoff set by PCorrection argument. Optionally, it’s possible to run Wilcoxon test and/or Fisher’s exact test (Fontoura and Mombach (2016)). These tests also provide a corrected p-value, and siginificative groups can be seen through them.
The ADAMgui package provides a graphical class so the outputs of the statistical functions in the ADAM package can be studied through different plots. It’s possible, for example, to choose a specific GFAG and observe the gene expression behavior within it. Features as differential expression and fold change can be easily seen.
Download and installation of the package can be done with Bioconductor plataform via BiocManager package, as the code chunk shows:
if (!requireNamespace("BiocManager", quietly = TRUE)){
install.packages("BiocManager")
BiocManager::install("ADAMgui")}
Download and installation of the development version of the package can be done from the package’s GitHub repositories as follows:
After download and installation of the desired version of the ADAMgui package, it can be loaded:
The ADAMgui package contains 2 graphical modules for visualization and analysis of the GFAGAnalysis output file. These modules are shiny-generated (GUI)s that allows the user to create and download plots in .eps format. The functions that launches those applications are: GFAGpathUi() and GFAGtargetUi(). The sections below contains more information about both applications.
‘Paths’ are essentially group names that contains the targets (eg: Gene Ontologies and KEGG are paths while genes and proteins related to them are targets). The GFAGAnalysis output file contains information about the paths that the user utilized in the analysis and the GFAGpathUi() is a function that launches a shiny based (GUI) that can construct heatmaps for q-values present in the GFAGAnalysis output file. Below there is the layout of an usage example of the application with the GFAGAnalysis output file created with the first 10 entries of the Aedes Aegypt data used in the statistical modules.
To generate the input file ‘ResultAnalysisAedes.txt’ use the commands on R console listed below. First load the data in the package:
Then select the first 10 rows:
And save it:
Now launch the app, it can be launched in local machine or your default browser:
GFAGpathUi(TRUE) #Run the app in your default browser.
GFAGpathUi(FALSE) #Run the app in R (your local machine).
11 - Tab 2: Reset Dataframe - Action buttom that resets everything done by the user in Tabs 2,3 and 4.
18 - Tab 3: Select ID/Path column position - Disabled until you hit 14, here you must select what is the current position of your ID/Path column in your currently formated data.frame. The default value is 1, should your ID/Path column be in another position, then change the value accordingly!
This application was made to further analyse the GFAGs in the GFAGAnalysis output file. These paths can have many targets (genes, proteins) and this application constructs a plot that show the differential expression of the targets in a selected Path. The user needs to input 4 files in order to use this application: the GFAGAnalysis output file, an expression file, a Path-to-Target relationship file and a differential expression file.
Below there is the layout of an usage example of the application with the GFAGAnalysis output file of the Aedes Aegypt data used in the statistical modules. Load the required data first in order to generate the input data:
Now create the files:
# save the GFAG output file
write.table(dt,'ResultAnalysisAedes.txt',sep='\t',quote = F,
row.names = F,col.names = T)
# save the target expression file
write.table(dt,'ExpressionAedes.txt',sep='\t',quote = F,
row.names = F,col.names = T)
# save the Path-to-Target relationship file
write.table(dt,'GeneFunctionAedes.txt',sep='\t',quote = F,
row.names = F,col.names = T)
# save the target differential expression file
write.table(dt,'DiffAedes.txt',sep='\t',quote = F,
row.names = F,col.names = T)
The app can be launched in local machine or your default browser:
GFAGtargetUi(TRUE) #Run the app in your default browser.
GFAGtargetUi(FALSE) #Run the app in R (your local machine).
15 - Tab 3: Q-value interval selection - Slider input to select a desired q-value interval between 0 and 1. Used for filtering q-values to plot.
16 - Tab 3: LogFC interval selection - Slider input to select a desired logFC interval between -10 and 10. Used for filtering logFCs to plot.
17 - Tab 3: Plot Height - Select the desired plot height.
18 - Tab 3: Plot Width - Select the desired plot height.
19 - Tab 3: Select font family for plot elements - Select the desired font family for the plot’s elements.
20 - Tab 3: Select font size for plot elements - Select the desired font size for the plot’s elements.
21 - Tab 3: Select font size for plot title - Select the desired font size for the plot’s title.
22 - Tab 3: Select font size for axis text - Select the desired font size for the axis text.
23 - Tab 3: Select font size for axis title - Select the desired font size for the axis title.
24 - Tab 3: Select font face for axis text - Select the desired font face/style for the axis text.
25 - Tab 3: Select font face for axis title - Select the desired font face/style for the axis title.
26 - Tab 3: Select font face for plot title - Select the desired font face/style for the plot title.
27 - Tab 3: Plot Buttons - Buttons to create a plot with the selected data and parameters and display it on the main panel. There are 4 tipes of plots: ‘Plot with filtered LogFC values’, ‘Plot with filtered q.values’, ‘Plot with filtered q.values and LogFC values’ and ‘Plot with no filter’.
28 - Tab 3: Download Plot - Download buttom for downloading the displayed plot in .eps format. Disabled as long as there is no plot displayed on the main panel.
29 - Tab 3: Main Panel - Display the plot.
## R version 4.4.1 (2024-06-14)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 24.04.1 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.26.so; LAPACK version 3.12.0
##
## 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
##
## time zone: Etc/UTC
## tzcode source: system (glibc)
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] ADAMgui_1.23.0 ADAM_1.21.0
##
## loaded via a namespace (and not attached):
## [1] DBI_1.2.3 pbapply_1.7-2
## [3] gridExtra_2.3 testthat_3.2.1.1
## [5] rlang_1.1.4 magrittr_2.0.3
## [7] matrixStats_1.4.1 compiler_4.4.1
## [9] RSQLite_2.3.7 reshape2_1.4.4
## [11] png_0.1-8 vctrs_0.6.5
## [13] stringr_1.5.1 pkgconfig_2.0.3
## [15] crayon_1.5.3 fastmap_1.2.0
## [17] backports_1.5.0 XVector_0.45.0
## [19] utf8_1.2.4 promises_1.3.0
## [21] rmarkdown_2.28 UCSC.utils_1.1.0
## [23] purrr_1.0.2 varhandle_2.0.6
## [25] bit_4.5.0 xfun_0.48
## [27] zlibbioc_1.51.2 cachem_1.1.0
## [29] GenomeInfoDb_1.41.2 jsonlite_1.8.9
## [31] blob_1.2.4 later_1.3.2
## [33] DelayedArray_0.31.14 broom_1.0.7
## [35] parallel_4.4.1 R6_2.5.1
## [37] bslib_0.8.0 stringi_1.8.4
## [39] RColorBrewer_1.1-3 car_3.1-3
## [41] brio_1.1.5 GenomicRanges_1.57.2
## [43] jquerylib_0.1.4 Rcpp_1.0.13
## [45] SummarizedExperiment_1.35.5 knitr_1.48
## [47] IRanges_2.39.2 httpuv_1.6.15
## [49] Matrix_1.7-1 tidyselect_1.2.1
## [51] abind_1.4-8 yaml_2.3.10
## [53] plyr_1.8.9 lattice_0.22-6
## [55] tibble_3.2.1 Biobase_2.65.1
## [57] shiny_1.9.1 KEGGREST_1.45.1
## [59] evaluate_1.0.1 Biostrings_2.73.2
## [61] pillar_1.9.0 BiocManager_1.30.25
## [63] ggpubr_0.6.0 carData_3.0-5
## [65] MatrixGenerics_1.17.1 DT_0.33
## [67] stats4_4.4.1 shinyjs_2.1.0
## [69] generics_0.1.3 colorRamps_2.3.4
## [71] S4Vectors_0.43.2 ggplot2_3.5.1
## [73] munsell_0.5.1 scales_1.3.0
## [75] BiocStyle_2.33.1 xtable_1.8-4
## [77] glue_1.8.0 maketools_1.3.1
## [79] tools_4.4.1 sys_3.4.3
## [81] data.table_1.16.2 ggsignif_0.6.4
## [83] buildtools_1.0.0 grid_4.4.1
## [85] tidyr_1.3.1 AnnotationDbi_1.67.0
## [87] colorspace_2.1-1 GenomeInfoDbData_1.2.13
## [89] Formula_1.2-5 cli_3.6.3
## [91] fansi_1.0.6 S4Arrays_1.5.11
## [93] dplyr_1.1.4 gtable_0.3.6
## [95] rstatix_0.7.2 sass_0.4.9
## [97] digest_0.6.37 BiocGenerics_0.51.3
## [99] SparseArray_1.5.45 ggrepel_0.9.6
## [101] htmlwidgets_1.6.4 memoise_2.0.1
## [103] htmltools_0.5.8.1 lifecycle_1.0.4
## [105] httr_1.4.7 GO.db_3.20.0
## [107] mime_0.12 bit64_4.5.2