Differential expression analysis contains foldchange analysis, VIP and t-test on metabolomic data.

run_metabolomeDA(
    object_raw = NULL,
    object_norm = NULL,
    variable,
    variable_name,
    DA_method = c("all", "fc", "vip", "t"),
    method_VIP = c("PLS", "OPLS"),
    cutoff_prev = 0.1,
    p_adjust = c("none", "fdr", "bonferroni", "holm",
                 "hochberg", "hommel", "BH", "BY"))

Arguments

object_raw

(Optional). a SummarizedExperiment::SummarizedExperiment object with raw intensity values (default: NULL).

object_norm

(Optional). a SummarizedExperiment::SummarizedExperiment object with normalized intensity values (default: NULL).

variable

(Required). character. grouping variable for test.

variable_name

(Required). two characters. variable' names.

DA_method

(Optional). character. method for differential analysis (default: "all"). options include:

  • "all": three methods.

  • "fc": foldchange analysis.

  • "vip": VIP analysis.

  • "t": t-test analysis.

method_VIP

(Optional). character. method for VIP (default: "PLS"), options include:

  • "PLS": Partial Least Squares Discriminant Analysis.

  • "OPLS": Orthogonal Partial Least Square Discriminant Analysis.

cutoff_prev

(Optional). Numeric. the Prevalence threshold (default: 0.1).

p_adjust

(Optional). character. method to adjust p-values by. Options include "holm", "hochberg", "hommel", "bonferroni", "BH", "BY", "fdr", "none". See stats::p.adjust() for more details (default: "BH").

Value

A data frame of the differential results.

Details

To identify the potential significant metabolites is important in metabolomics. Here, we use three methods to obtain the results:

  1. FoldChange: the raw intensity values;

  2. VIP (Variable important in projection) by PLS-DA: the normalized intensity values;

  3. T-test: the normalized intensity values.

Combining all the results and providing more choice for users to determine the differential metabolites (Recommend: Log2FoldChange and AdjustedPvalue).

Author

Created by Hua Zou (12/2/2023 Shenzhen China)

Examples


data("Zeybel_2022_protein")
Zeybel_2022_protein_imput <- impute_abundance(
      Zeybel_2022_protein,
      group = "LiverFatClass",
      method = "knn")
Zeybel_2022_protein_norm <- scale_variables(
      Zeybel_2022_protein_imput,
      method == "zscore")
DA_results <- run_metabolomeDA(
  object_raw = Zeybel_2022_protein,
  object_norm = Zeybel_2022_protein_norm,
  variable = "LiverFatClass",
  variable_name = c("None", "Severe"))
#> PLS-DA
#> 21 samples x 72 variables and 1 response
#> standard scaling of predictors and response(s)
#>       R2X(cum) R2Y(cum) Q2(cum) RMSEE pre ort pR2Y  pQ2
#> Total   0.0898    0.823   0.291 0.221   1   0 0.05 0.05

if (FALSE) {

}