The aim of famat is to allow users to determine functional links between metabolites and genes. These metabolites and genes lists may be related to a specific experiment/study, but famat only needs a gene symbols list and a Kegg Compound ids list. Using these lists, famat performs pathway enrichment analysis, direct interactions between elements inside pathways extraction, GO terms enrichment analysis, calculation of user’s elements centrality (number of direct interactions between an element and others inside a pathway) and extraction of information related to user’s elements.
Functions available are:Run this command line to install famat.
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("famat")
Then, load famat using library.
This function uses the metabolite list and the gene list provided by user to perform pathway enrichment analysis. Metabolites ids need to be Kegg compound ids, and genes ids need to be gene symbols. Three pathway databases are available: Kegg (“KEGG”), Wikipathways (“WP”) and Reactome (“REAC”).
## your input componentList have 2 components in background
## your input componentList have 2 components in network
Results are then stored into a list. This list must be used in “interactions” function. Pathways enrichment analysis is performed on genes using gprofiler2 and on metabolites using MPINet.
“Interactions” find all direct interactions between genes and metabolites of user’s lists in pathways obtained through pathways enrichment analysis, performed on KEGG, Reactome and Wikipathways pathways. So, this function needs results of “path_enrich” function performed on all these databases. Using direct interactions, centrality of a user’s element inside a pathway is calculated.
Results are then stored into a list. This list must be used in “compl_data” function. Direct interactions were collected from BioPax, KGML and GPML files parsed with PaxtoolsR, graphite and author’s parsers. “Interactions” just get interactions of enriched pathways from this direct interactions list.
This function complete information about elements and pathway obtained with “path_enrich” and “interactions”. A GO term enrichment analysis is performed on genes, pathways obtained through pathways enrichment analysis are filtered (they must contain at least 1/5 elements in user’s lists or a direct interaction between user’s elements) and a hierarchy parent-child is built with pathways and enriched GO terms. GO terms enrichment analysis is performed using clusterProfiler. Then, dataframes containing information about elements, interactions and GO terms are created, with an heatmap showing which user’s elements are in which pathways.
Results are then stored into a list. This list must be used in “rshiny” function.
All results obtained with the three previous functions can be visualized using “rshiny” function. shiny is a R package allowing to create interfaces.
After using this command line, the shiny interface appear.
Interface’s tabs are:Finally, a “Reset” button was made to go back to the initial results.
To conclude, famat has four important functions which have to be used one after another:
## R version 4.4.2 (2024-10-31)
## 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] mgcv_1.9-1 nlme_3.1-166 famat_1.17.0 BiocStyle_2.35.0
##
## loaded via a namespace (and not attached):
## [1] DBI_1.2.3 bitops_1.0-9 gson_0.1.0
## [4] rlang_1.1.4 magrittr_2.0.3 DOSE_4.1.0
## [7] compiler_4.4.2 RSQLite_2.3.9 png_0.1-8
## [10] vctrs_0.6.5 gprofiler2_0.2.3 reshape2_1.4.4
## [13] reactome.db_1.89.0 stringr_1.5.1 pkgconfig_2.0.3
## [16] crayon_1.5.3 fastmap_1.2.0 XVector_0.47.0
## [19] rmarkdown_2.29 enrichplot_1.27.3 UCSC.utils_1.3.0
## [22] purrr_1.0.2 bit_4.5.0.1 xfun_0.49
## [25] zlibbioc_1.52.0 cachem_1.1.0 aplot_0.2.4
## [28] GenomeInfoDb_1.43.2 jsonlite_1.8.9 blob_1.2.4
## [31] BiocParallel_1.41.0 parallel_4.4.2 R6_2.5.1
## [34] bslib_0.8.0 stringi_1.8.4 RColorBrewer_1.1-3
## [37] jquerylib_0.1.4 GOSemSim_2.33.0 Rcpp_1.0.13-1
## [40] knitr_1.49 ggtangle_0.0.6 R.utils_2.12.3
## [43] IRanges_2.41.2 igraph_2.1.2 Matrix_1.7-1
## [46] splines_4.4.2 tidyselect_1.2.1 qvalue_2.39.0
## [49] yaml_2.3.10 codetools_0.2-20 curl_6.0.1
## [52] lattice_0.22-6 tibble_3.2.1 plyr_1.8.9
## [55] treeio_1.31.0 Biobase_2.67.0 withr_3.0.2
## [58] KEGGREST_1.47.0 evaluate_1.0.1 ontologyIndex_2.12
## [61] gridGraphics_0.5-1 Biostrings_2.75.3 ggtree_3.15.0
## [64] pillar_1.10.0 BiocManager_1.30.25 stats4_4.4.2
## [67] clusterProfiler_4.15.1 ggfun_0.1.8 plotly_4.10.4
## [70] generics_0.1.3 RCurl_1.98-1.16 S4Vectors_0.45.2
## [73] ggplot2_3.5.1 tidytree_0.4.6 munsell_0.5.1
## [76] scales_1.3.0 glue_1.8.0 lazyeval_0.2.2
## [79] maketools_1.3.1 tools_4.4.2 sys_3.4.3
## [82] data.table_1.16.4 fgsea_1.33.0 buildtools_1.0.0
## [85] fs_1.6.5 fastmatch_1.1-4 cowplot_1.1.3
## [88] grid_4.4.2 ape_5.8-1 tidyr_1.3.1
## [91] AnnotationDbi_1.69.0 colorspace_2.1-1 patchwork_1.3.0
## [94] GenomeInfoDbData_1.2.13 cli_3.6.3 viridisLite_0.4.2
## [97] dplyr_1.1.4 gtable_0.3.6 R.methodsS3_1.8.2
## [100] yulab.utils_0.1.8 sass_0.4.9 digest_0.6.37
## [103] BiocGenerics_0.53.3 ggrepel_0.9.6 ggplotify_0.1.2
## [106] farver_2.1.2 org.Hs.eg.db_3.20.0 htmlwidgets_1.6.4
## [109] memoise_2.0.1 htmltools_0.5.8.1 R.oo_1.27.0
## [112] lifecycle_1.0.4 httr_1.4.7 GO.db_3.20.0
## [115] bit64_4.5.2