| Title: | EMMA: Enrichment Methods Matter for enabling fully reproducible and provenance-aware pathway analysis |
|---|---|
| Description: | EMMA is a package that provides a provenance-aware execution framework for functional enrichment analyses. It allows users to run enrichment analyses using existing tools and workflows while explicitly capturing analytical parameters during runtime, and returns the native enrichment results output together with structured metadata. |
| Authors: | Najla Abassi [aut, cre] (ORCID: <https://orcid.org/0000-0001-8357-0938>), Annekathrin Nedwed [aut] (ORCID: <https://orcid.org/0000-0002-2475-4945>), Federico Marini [aut] (ORCID: <https://orcid.org/0000-0003-3252-7758>) |
| Maintainer: | Najla Abassi <[email protected]> |
| License: | MIT + file LICENSE |
| Version: | 0.99.3 |
| Built: | 2026-05-20 12:39:14 UTC |
| Source: | https://github.com/BiocStaging/EMMA |
data.frame containing Differential Expression Analysis, generated
with DESeq2
A sample data.frame containing Differential Expression Analysis, generated
with DESeq2
A data.frame object
This data.frame object contains the results of a Differential
Expression Analysis performed on data from the macrophage package, more
precisely contrasting the counts from naive macrophage to those associated
with IFNg.
The code to create said object can be found in the folder /inst/scripts in
the EMMA package, the file is called create_datasets_examples.R.
A sample data.frame object, extracted from DESeq2 results
Alasoo, et al. "Shared genetic effects on chromatin and gene expression indicate a role for enhancer priming in immune response", Nature Genetics, January 2018 doi: 10.1038/s41588-018-0046-7.
Append or replace the extra field in the EMMA_record attribute
of a result object returned by EMMA_run(). This allows users to manually
provide additional annotation or contextual information that could not be
captured automatically
EMMA_add_custom_metadata(res, extra = list())EMMA_add_custom_metadata(res, extra = list())
res |
A functional enrichment analysis results object as returned by
|
extra |
A named list of user-defined metadata elements to store in
the |
The input result object with updated EMMA_record attribute
data("fea_res", package = "EMMA") fea_res <- EMMA_add_custom_metadata(fea_res, extra = list(note = "The background gene set list was all expressed genes in the assay"))data("fea_res", package = "EMMA") fea_res <- EMMA_add_custom_metadata(fea_res, extra = list(note = "The background gene set list was all expressed genes in the assay"))
This function generates a human-readable description of the FEA, similar to a Materials and Methods section of a paper, by summarizing the executed call, the parameters, software context, and reference databases used.
EMMA_explain(res, get_citation = TRUE)EMMA_explain(res, get_citation = TRUE)
res |
A functional enrichment analysis results object as returned by
|
get_citation |
Logical indicating whether to display the citations of
the packages used in the FEA. It only prints the citations in an interactive
session (e.g console). Defaults to |
A character string describing how the FEA was performed using the recorded metadata
data("fea_res", package = "EMMA") EMMA_explain(fea_res)data("fea_res", package = "EMMA") EMMA_explain(fea_res)
This function records the R environment during analysis runtime and generates
a lockfile that can be used with tools such as renv.
By default, all currently loaded namespaces are recorded.
EMMA_freeze( project = getwd(), file = "renv.lock", pkgs = loadedNamespaces(), prompt = interactive(), force = TRUE )EMMA_freeze( project = getwd(), file = "renv.lock", pkgs = loadedNamespaces(), prompt = interactive(), force = TRUE )
project |
Character string corresponding to the path to the project directory where the lockfile should be written. If the directory does not exist, it will be created. It defaults to the current working directory |
file |
Character string referring to the name of the lockfile to generate. It defaults to "renv.lock" |
pkgs |
Character vector of package names to snapshot. It defaults to all
currently loaded namespaces via |
prompt |
Logical indicating whether to prompt before taking actions.
Defaults to |
force |
Logical indicating whether to force creation of the lockfile.
Defaults to |
This function calls renv::snapshot() with the specified packages.
The resulting lockfile can later be restored with renv::restore() to
recreate the same package environment.
By default, the lockfile is created with force = TRUE, allowing snapshot
creation even if inconsistencies are detected in the environment.
Invisibly returns the path to the generated lockfile.
The lockfile is written in JSON format and can be used with renv::restore()
to recreate the package environment
# create a lockfile if (requireNamespace("renv", quietly = TRUE)) { tmp <- tempfile("emma_env") dir.create(tmp) EMMA_freeze(project = tmp) # inspect generated files list.files(tmp) # to restore the environment later # renv::restore(project = tmp) }# create a lockfile if (requireNamespace("renv", quietly = TRUE)) { tmp <- tempfile("emma_env") dir.create(tmp) EMMA_freeze(project = tmp) # inspect generated files list.files(tmp) # to restore the environment later # renv::restore(project = tmp) }
EMMA_get_record
EMMA_get_record(res)EMMA_get_record(res)
res |
Functional Enrichment Analysis results (enrichResult, gseaResult ...)
generated by |
list of metadata recorded during FEA runtime
enrichGO(), groupGO(), gseGO(), gseKEGG(), enrichKEGG(),
gost(), run_cluPro(), run_topGO(), run_goseq()
data("fea_res", package = "EMMA") EMMA_get_record(fea_res)data("fea_res", package = "EMMA") EMMA_get_record(fea_res)
This function executes any functional enrichment analysis function and
attaches a provenance record (EMMA_record) describing the analysis. The
captured record includes the original call, metadata derived from the call
and its arguments, runtime information, and optionally the current session
information.
EMMA_run( expr, envir = parent.frame(), store_session_info = TRUE, args_form = c("evaluated", "unevaluated") )EMMA_run( expr, envir = parent.frame(), store_session_info = TRUE, args_form = c("evaluated", "unevaluated") )
expr |
A function call that performs functional enrichment analysis.
The call is captured and executed by EMMA to record analysis parameters and
provenance information. Both bare calls ( |
envir |
An environment in which to evaluate |
store_session_info |
Logical, indicating whether to store the output of
|
args_form |
A character string indicating whether to store the evaluated
or the unevaluated arguments in the provenance record. It default to
|
EMMA_run() accepts both direct calls to known enrichment functions
(enrichGO(), GSEA(), fgsea() ...) and calls to wrapper functions that
internally invoke a know enrichment function.
The result object returned by the enrichment function in expr,
in standard format, with an additional EMMA_record attribute containing the
provenance information. Use EMMA_get_record() to retrieve this record
data("de_res_IFNg_vs_naive", package = "EMMA") data("gene_universe", package = "EMMA") library(gprofiler2) EMMA_run(gost(query = de_res_IFNg_vs_naive$SYMBOL, organism = "hsapiens", correction_method = "fdr", custom_bg = gene_universe, sources = "GO:BP"), store_session_info = FALSE, args_form = "unevaluated")data("de_res_IFNg_vs_naive", package = "EMMA") data("gene_universe", package = "EMMA") library(gprofiler2) EMMA_run(gost(query = de_res_IFNg_vs_naive$SYMBOL, organism = "hsapiens", correction_method = "fdr", custom_bg = gene_universe, sources = "GO:BP"), store_session_info = FALSE, args_form = "unevaluated")
This function displays a human-readable summary of the EMMA_record attribute
attached to a result object produced by EMMA_run()
EMMA_show(res)EMMA_show(res)
res |
A functional enrichment analysis results object as returned by
|
base::invisible()
data("fea_res", package = "EMMA") EMMA_show(fea_res)data("fea_res", package = "EMMA") EMMA_show(fea_res)
EMMA stands for Enrichment Methods Matter. And EMMA stands to help you in realizing it.
Maintainer: Najla Abassi [email protected] (ORCID)
Authors:
Najla Abassi [email protected] (ORCID)
Annekathrin Nedwed [email protected] (ORCID)
Federico Marini [email protected] (ORCID)
Useful links:
list containing Functional Enrichment Analysis results,
generated with gprofiler2
A sample list containing Functional Enrichment Analysis results,
generated with gprofiler2
A list
This list object contains the result table and metadata of the
functional enrichment analysis (FEA) performed on the macrophage data,
specifically using the gost() function from the gprofiler2 package, and
wrapped in EMMA_run()
The code to create said object can be found in the folder /inst/scripts in
the EMMA package, the file is called create_datasets_examples.R.
A sample list containing the FEA results result and metadata.
This results object has the EMMA_record attribute.
Alasoo, et al. "Shared genetic effects on chromatin and gene expression indicate a role for enhancer priming in immune response", Nature Genetics, January 2018 doi: 10.1038/s41588-018-0046-7.
character vector containing the background gene list used to
perform FEA on the macrophage datasetA sample character vector containing the background gene list used to
perform FEA on the macrophage dataset
A character vector
This character vector object contains the assay's rownames
of the macrophage data
The code to create said object can be found in the folder /inst/scripts in
the EMMA package, the file is called create_datasets_examples.R.
A sample character vector containing the assay's rownames
of the macrophage data
Alasoo, et al. "Shared genetic effects on chromatin and gene expression indicate a role for enhancer priming in immune response", Nature Genetics, January 2018 doi: 10.1038/s41588-018-0046-7.