Learn R Programming

mseapca (version 2.2.1)

ora_full: Over-representation analysis with full enumeration of undetected metabolite patterns

Description

This function performs over-representation analysis (ORA) by enumerating all possible patterns of significant and non-significant assignments among undetected metabolites for each metabolite set. It returns the minimum, median, and maximum p-values from Fisher’s exact tests across these patterns, thereby estimating the full uncertainty range due to undetected metabolites.

Usage

ora_full(SIG, DET, M)

Value

A list containing:

Range of p-values

A matrix with rows corresponding to metabolite sets and three columns: lower p-value, p-value(median), and upper p-value.

Arguments

SIG

A character vector of statistically significant metabolites.

DET

A character vector of all detected metabolites (the background).

M

A named list of metabolite sets, where each element is a character vector of metabolites.

Author

Hiroyuki Yamamoto

Details

For each metabolite set, the number of undetected metabolites is calculated. The function then considers all possible numbers of significant metabolites (from 0 to the total number of undetected ones) among those undetected. For each case, a 2x2 contingency table is constructed and Fisher’s exact test is applied. The resulting p-values are aggregated to report the minimum, median, and maximum values.

References

Yamamoto H, Fujimori T, Sato H, Ishikawa G, Kami K, Ohashi Y, Statistical hypothesis testing of factor loading in principal component analysis and its application to metabolite set enrichment analysis. BMC Bioinformatics, (2014) 15(1):51.

Yamamoto H. Probabilistic Over-Representation Analysis for Metabolite Set Enrichment Analysis Considering Undetected Metabolites", Jxiv, (2024).

Examples

Run this code
# Example: Metabolome data
data(fasting_mseapca)

SIG <- fasting_mseapca$SIG
DET <- fasting_mseapca$DET
M <- fasting_mseapca$pathway

# Perform ORA using detected metabolites only
B <- ora_full(SIG, DET, M)
B$`Range of p-values`

Run the code above in your browser using DataLab