This function performs linear modeling using the Limma package while
accounting for covariates specified
in the meta.info
. It supports two-group comparisons and multi-group
analysis, incorporating covariates
through a design matrix.
Arguments
- x
A list containing two or more data matrices where rows represent features (e.g., genes, proteins) and columns represent samples. The list should contain at least two matrices for pairwise group comparison.
- group.name
A character string indicating the name of the group variable in
meta.info
to be used in the analysis.- meta.info
A data frame containing the metadata for the samples. This includes sample grouping and any covariates to be included in the model.
- formula.str
A string specifying the formula to be used in model fitting. It should follow the standard R formula syntax (e.g.,
~ covariate1 + covariate2
).- trend
A logical value indicating whether to allow for an intensity-dependent trend in the prior variance.
- robust
A logical value indicating whether to use a robust fitting procedure to protect against outliers.
Value
A list containing the following elements:
- d
A vector of the test statistics (log-fold changes or F-statistics) for each feature.
- s
A vector of the standard deviations for each feature, adjusted by the empirical Bayes procedure.
Details
This function first combines the data matrices from different groups and
prepares a design matrix based on the covariates specified in meta.info
using the provided formula. It fits a linear model using Limma,
computes contrasts between groups, and applies empirical Bayes moderation.
For two-group comparisons, the function returns log-fold changes and
associated statistics. In multi-group settings with a single covariate,
it calculates pairwise contrasts and moderated F-statistics.