This function performs hierarchical differential analysis using a moderated t-test statistic, which accounts for multiple imputation variability if applicable.

mi4limma(qData, sTab, VarRubin, comp.type = "OnevsOne", robust = FALSE)

Arguments

qData

A matrix of quantitative data, without any missing values. It should be the averaged matrix from the array resulting from multi.impute.

sTab

The experimental matrix, also corresponding to the pData function of MSnbase.

VarRubin

A numerical vector, resulting from proj_matrix. It denotes the vector of projected variance-covariance matrices. It should be of length the number of peptides or proteins considered.

comp.type

A string that corresponds to the type of comparison. Values are: 'anova1way', 'OnevsOne' and 'OnevsAll'; default is 'OnevsOne'.

robust

logical, should the estimation of df.prior and var.prior be robustified against outlier sample variances? (as in limma's eBayes)

Value

A list of two dataframes : logFC and P_Value. The first one contains the logFC values of all the comparisons (one column for one comparison), the second one contains the pvalue of all the comparisons (one column for one comparison). The names of the columns for those two dataframes are identical and correspond to the description of the comparison.

References

M. Chion, Ch. Carapito and F. Bertrand (2021). Accounting for multiple imputation-induced variability for differential analysis in mass spectrometry-based label-free quantitative proteomics. arxiv:2108.07086. https://arxiv.org/abs/2108.07086.

Author

Adapted by Marie Chion, from limmaCompleteTest by Hélène Borges, Thomas Burger, Quentin Giai-Gianetto and Samuel Wieczorek.

Examples

set.seed(2016) data(qData) data(sTab) fit.limma <- mi4limma(qData, sTab, diag(1,2))
#> Warning: Partial NA coefficients for 32 probe(s)
#> Warning: More than half of residual variances are exactly zero: eBayes unreliable