I have an untargeted metabolomics dataset, where samples were collected over 4 timepoints (not repeated measures) from two groups of patients:

A) patients treated with placebo
B) patients treated with drug

1353 features were detected from LC-MS analysis, and I would like to do a two-way ANOVA analysis for each feature to see the effects of the treatment (placebo vs. drug) and time. I'd like to follow this ANOVA up with pair-wise comparisons to see in which timepoints the drug had a significant effect. I know that for the initial two-way ANOVA analysis I'd have to adjust for multiple comparisons (whether its Bonferonni or FDR correction) since I am simultaneously hypothesis testing on 1353 different features, but would I also somehow adjust the follow-up pair-wise comparisons to account for the 1353 features as well?


1 Answer 1


When you do multiple comparisons you have to correct for the number of comparisons. So if you proceed this way you will have to do a lot of multiple-comparison corrections.

One trick is to structure the analysis in a way that minimizes the number of comparisons or takes advantage of the structure of the data to provide tighter error estimates.

For example, instead of 1353 separate univariate regressions (2-way ANOVA can be considered a multiple regression with two predictors plus their interaction), consider a multivariate multiple regression with all 1353 features as outcomes. The individual regression coefficients with respect to each feature will be the same, but the joint analysis takes into account the correlations that are inevitable in this type of design. This document outlines how to proceed. Then you can evaluate "which timepoints the drug had a significant effect" for the model as a whole.

An alternative could be to do a form of partial least squares regression that can reduce the dimensionality of the problem and thus the number of comparisons. You could use a form that handles a matrix of feature values as outcomes, or flip the problem around and use partial least squares discriminant analysis to see which components of that matrix best predict membership in each of your 8 sample groups (4 time points for each of treatment and control).

I don't have direct experience with this type of metabolic data. This review on Statistical Analysis and Modeling of Mass Spectrometry-Based Metabolomics Data and this web page from a virtual book on Metabolomics should provide more guidance.

Extra thought, probably better

The tried-and-true limma package in Bioconductor, although designed for microarray data, is suitable for metabolic data provided that the data are processed appropriately. See this post among others found by a search on "limma metabolomics". That package starts with individual tests but shares information among the tests to provide more useful empirical Bayes estimates of variances for hypothesis testing. Multiple-comparisons corrections are built in.

MetaboDiff is designed specifically for metabolomics data, but I haven't used it at all.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.