Skip to contents

This function performs a limma spline analysis to identify significant time-dependent changes in features (e.g., proteins) within an omics time-series dataset. It evaluates features within each condition level and between levels by comparing average differences and interactions between time and condition.

Usage

run_limma_splines(splineomics)

Arguments

splineomics

An S3 object of class `SplineOmics` that contains the following elements:

  • data: The matrix of the omics dataset, with the feature names optionally as row headers.

  • rna_seq_data: An object containing the preprocessed RNA-seq data, such as the output from `limma::voom` or a similar preprocessing pipeline.

  • meta: A dataframe containing metadata corresponding to the data, must include a 'Time' column and the column specified by condition.

  • design: A character string representing the limma design formula.

  • condition: A character string specifying the column name in meta used to define groups for analysis.

  • spline_params: A list of spline parameters used in the analysis, including:

    • spline_type: The type of spline (e.g., "n" for natural splines or "b" for B-splines).

    • dof: Degrees of freedom for the spline.

    • knots: Positions of the internal knots (for B-splines).

    • bknots: Boundary knots (for B-splines).

    • degree: Degree of the spline (for B-splines only).

Value

The SplineOmics object, updated with a list with three elements: - `time_effect`: A list of top tables for each level with the time effect. - `avrg_diff_conditions`: A list of top tables for each comparison between the levels. The comparison is the average difference of the values. - `interaction_condition_time`: A list of top tables for each comparison between levels. The comparison is the interaction between the condition and the time.