Wrapper function for Bootstrap Over-Representation Analysis (ORA)
Run_bootstrap_ORA.Rd
This function performs a bootstrap-based over-representation analysis (ORA) on a given list of metabolites and background.
Usage
Run_bootstrap_ORA(
marker_list,
background,
custom_universe = NULL,
alpha_cutoff = 0.05,
min_intersection = 3,
consider_isobars = T,
polarization_mode = NA,
mass_range_ppm = 3,
annot_db = "HMDB",
annot_custom_db = NULL,
use_LION = F,
endogenous_only = T,
pathway_assoc_only = F,
remove_expected_predicted = T,
annot_list = NULL,
annot_weights = NULL,
n_bootstraps = 50,
boot_fract_cutoff = 0.5,
q.val_cutoff = 0.2,
selected_terms = NULL,
adjust_contingency = T,
report_ambiguity_scores = F
)
Arguments
- marker_list
A vector or list of marker sets to analyze.
- background
A list of named terms where each term is a character vector of metabolites.
- custom_universe
An optional vector specifying a custom universe of terms. If not provided all metabolites in background will be used as universe.
- alpha_cutoff
A numeric value indicating the alpha cutoff for significance.
- min_intersection
An integer specifying the minimum intersection required between input list and a given term in background.
- consider_isobars
A logical indicating whether to consider isobars.
- polarization_mode
A parameter for polarization mode. If provided, it will be used to consider isomers and isobars.
- mass_range_ppm
A numeric value for mass range in parts per million (ppm).
- annot_db
A character string specifying the annotation database(s) used for annotation. Check
build_iso_bg
for more information.- annot_custom_db
An optional custom annotation database. If provided, it will be used alongside or instead of the specified annotation database.
- use_LION
A logical indicating whether to use LION ontology for select isomers/isobars for background.
- endogenous_only
A logical indicating whether to consider only endogenous compounds. Applies only for HMDB and CoreMetabolome annotation databases.
- pathway_assoc_only
A logical indicating whether to consider only pathway-associated compounds. Applies only for HMDB and CoreMetabolome annotation databases.
- remove_expected_predicted
A logical indicating whether to remove expected and predicted annotations. Applies only for HMDB and CoreMetabolome annotation databases.
- annot_list
An optional list of annotations. If provided, it will be used instead of generating isomers from built-in formula to molecule mapping.
- annot_weights
An optional list of annotation weights. If provided, it will be used in the ambiguity score calculation and bootstrap analysis.
- n_bootstraps
An integer specifying the number of bootstrap iterations.
- boot_fract_cutoff
A numeric value specifying the minimum bootstrap fraction cutoff required. Default to 0.5 .
- q.val_cutoff
A numeric value specifying the q-value cutoff for significance.
- selected_terms
An optional vector of selected terms to focus on. If provided, the analysis will be restricted to these terms.
- adjust_contingency
A logical indicating whether to adjust the contingency table to account for isomeric ambiguity.
- report_ambiguity_scores
A logical indicating whether to report ambiguity scores. If TRUE, ambiguity scores will be included in the results.
Value
A list containing the ORA results for each group of markers. Both filtered and per-bootstrap results are provided.
Examples
if (FALSE) { # \dontrun{
data("example_ORA_markers")
data("example_ORA_obj")
object = example_ORA_obj
enrich_res <- Run_bootstrap_ORA(
marker_list = example_ORA_markers,
background = object$pathway_list,
polarization_mode = object$polarization_mode,
mass_range_ppm = object$mass_range_ppm,
annot_db = object$Annotation_database,
annot_custom_db = object$Custom_database,
use_LION = ifelse(stringr::str_detect(object$background_name, "LION"), TRUE, FALSE),
endogenous_only = object$endogenous_only,
pathway_assoc_only = object$pathway_assoc_only,
remove_expected_predicted = object$remove_expected_predicted,
annot_weights = object$annotation.weights,
consider_isobars = object$consider_isobars,
annot_list = object$annotations
)
} # }