Skip to contents

This function computes differences in rhythmicity between fitted curves for a given pair of conditions.

Usage

getDiffRhythmStats(fit, rhyStats, conds = fit$conds, dopar = TRUE)

Arguments

fit

A limorhyde2 object containing data from multiple conditions.

rhyStats

A data.table of rhythmic statistics, as returned by getRhythmStats(), for fitted models in fit.

conds

A character vector indicating the conditions to compare pairwise, by default all conditions in fit.

dopar

Logical indicating whether to run calculations in parallel if a parallel backend is already set up, e.g., using doParallel::registerDoParallel(). Recommended to minimize runtime.

Value

A data.table containing the following differential rhythm statistics:

  • mean_mesor

  • mean_peak_trough_amp

  • mean_rms_amp (only calculated if rms to getRhythmStats() was TRUE)

  • diff_mesor

  • diff_peak_trough_amp

  • diff_rms_amp (only calculated if rms to getRhythmStats() was TRUE)

  • diff_peak_phase: circular difference between -fit$period/2 and fit$period/2

  • diff_trough_phase: circular difference between -fit$period/2 and fit$period/2

  • diff_rhy_dist: Euclidean distance between polar coordinates (peak_trough_amp, peak_phase)

  • rms_diff_rhy: root mean square difference in mean-centered fitted curves (only calculated if rms to getRhythmStats() was TRUE)

The stats will be based on the value for cond2 minus the value for cond1. The rows of the data.table depend on the 'fitType' attribute of rhyStats:

  • 'fitType' is 'posterior_mean' or 'raw': one row per feature per pair of conditions.

  • 'fitType' is 'posterior_samples': one row per feature per posterior sample per pair of conditions.

Examples

library('data.table')

# rhythmicity in one condition
y = GSE54650$y
metadata = GSE54650$metadata

fit = getModelFit(y, metadata)
fit = getPosteriorFit(fit)
rhyStats = getRhythmStats(fit, features = c('13170', '13869'))

# rhythmicity and differential rhythmicity in multiple conditions
y = GSE34018$y
metadata = GSE34018$metadata

fit = getModelFit(y, metadata, nKnots = 3L, condColname = 'cond')
fit = getPosteriorFit(fit)
rhyStats = getRhythmStats(fit, features = c('13170', '12686'))
diffRhyStats = getDiffRhythmStats(fit, rhyStats)