Learn R Programming

mseapca (version 2.2.1)

ora_est: ORA adjusting for undetected metabolites

Description

This function performs metabolite set enrichment analysis using over-representation analysis (ORA), incorporating point estimates to adjust for potentially undetected metabolites. It supports three estimation methods: naive, weighted, and shrinkage-based adjustment.

Usage

ora_est(SIG, DET, M, method = "naive", lambda = 5)

Value

A list containing:

  • Result of MSEA (ORA with adjustment): A matrix with raw p-values and adjusted q-values (BH correction) for each metabolite set.

  • significant metabolites: A list of significant metabolites overlapping with each metabolite set.

  • Contingency tables: A list of 2×2 contingency tables used in Fisher's exact tests.

Arguments

SIG

Character vector of significant metabolites

DET

Character vector of detected metabolites (background set)

M

A named list, where each element is a metabolite set (e.g., pathway) containing character vectors of metabolites

method

A character string specifying the estimation method to use. One of "naive", "weighted", or "shrink". Default is "naive".

lambda

A numeric value used in the "shrink" method as a shrinkage parameter. Default is 5.

Author

Hiroyuki Yamamoto

Details

This function estimates the impact of undetected metabolites on enrichment results. It builds upon the ORA results from detected metabolites, then adjusts the contingency tables by estimating how many undetected metabolites might be significant, based on a specified method.

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_est(SIG, DET, M)
B$`Result of MSEA (ORA with adjustment)`

Run the code above in your browser using DataLab