lmmSynergy {SynergyLMM}R Documentation

Synergy calculation using linear-mixed models

Description

lmmSynergy allows for the calculation of synergy using 3 different references models: Bliss independence, highest single agent and response additivity. The calculation of synergy is based on hypothesis testing on the coefficient estimates from the model fitted by lmmModel().

Usage

lmmSynergy(
  model,
  method = "Bliss",
  min_time = 0,
  robust = FALSE,
  type = "CR2",
  ra_nsim = 1000,
  show_plot = TRUE,
  ...
)

Arguments

model

An object of class "lme" representing the linear mixed-effects model fitted by lmmModel().

method

String indicating the method for synergy calculation. Possible methods are "Bliss", "HSA" and "RA", corresponding to Bliss, highest single agent and response additivity, respectively.

min_time

Minimun time for which to start calculating synergy.

robust

If TRUE, uncertainty is estimated using sandwich-based robust estimators of the variance-covariance matrix of the regression coefficient estimates provided by clubSandwich::vcovCR.lme.

type

Character string specifying which small-sample adjustment should be used, with available options "CR0", "CR1", "CR1p", "CR1S", "CR2", or "CR3". See "Details" section of clubSandwich::vcovCR() for further information.

ra_nsim

Number of random sampling to calculate the synergy for Response Additivity model.

show_plot

Logical indicating if a plot with the results of the synergy calculation should be generated.

...

Additional arguments to be passed to marginaleffects::hypotheses().

Details

lmmSynergy uses the statistical description provided by Demidenko and Miller (2019) for the calculation of synergy. It is based on hypothesis testing on the coefficients estimates from the model fitted by lmmModel(): \hat{\beta}_C, \hat{\beta}_A, \hat{\beta}_B, \hat{\beta}_{AB}, which represent the estimated specific growth rates for the Control, Drug A, Drug B and Combination groups, respectively.

Bliss Indepence Model

For Bliss model, lmmSynergy test the following null hypothesis:

Two-drugs combination experiment:

H_0: \beta_{combination} = \beta_A + \beta_B - \beta_{control}

Three-drugs combination experiment:

H_0: \beta_{combination} = \beta_A + \beta_B + \beta_C - 2\beta_{control}

Highes Single Agent (HSA)

Two-drugs combination experiment: For the HSA model, lmmSynergy test the following null hypothesis:

H_0: \beta_{combination} = \min(\beta_A, \beta_B)

Three-drugs combination experiment: For the HSA model, lmmSynergy test the following null hypothesis:

H_0: \beta_{combination} = \min(\beta_A, \beta_B, \beta_C)

Response Additivity (RA)

For the RA model, lmmSynergy test the following null hypothesis:

Two-drugs combination experiment:

H_0: e^{\beta_{combination}t} = e^{\beta_At}+e^{\beta_Bt}-e^{\beta_{control}t}

Three-drugs combination experiment:

H_0: e^{\beta_{combination}t} = e^{\beta_At}+e^{\beta_Bt}+e^{\beta_Ct}-2e^{\beta_{control}t}

For Bliss and HSA models, lmmSynergy uses marginaleffects::hypotheses() to conduct hypothesis tests on the estimated coefficients of the model.

In the case of the RA model, the null hypothesis is tested comparing the area under the curve (i.e. cumulative effect from the beginning of a treatment to a time point of interest) obtained from each side of the equation for the null hypothesis, based on ra_sim random samplings from the distribution of the coefficients.

Combination Index and Synergy Score

The results obtained by lmmSynergy include the synergy score (SS) and combination index (CI) for the model, for each time point, together with their confidence interval, and the corresponding p-value. The values of SS and CI provided by lmmSynergy follow previous definitions of these metrics so they have the same interpretation:

As mentioned above, the results include the synergy results for each day. This means that lmmSynergy refits the model using the data from time_start defined in lmmModel() until each time point, providing the synergy results for each of these models and for that specific time point.

Uncertainty estimation using robust estimators

If robust = TRUE, lmmSynergy deals with possible model misspecifications, allowing for cluster-robust variance estimation using clubSandwich::vcovCR.lme. When using robust = TRUE, setting type = "CR2" is recommended. See more details in clubSandwich::vcovCR().

Note: When a variance structure has been specified in the model it is recommended to use always robust = TRUE to get a better estimation.

Value

The function returns a list with two elements:

If show_plot = TRUE, a plot with the synergy results obtained with plot_lmmSynergy() is also shown.

References

Examples

# Load the example data
data(grwth_data)
# Fit the model
lmm <- lmmModel(
  data = grwth_data,
  sample_id = "subject",
  time = "Time",
  treatment = "Treatment",
  tumor_vol = "TumorVolume",
  trt_control = "Control",
  drug_a = "DrugA",
  drug_b = "DrugB",
  combination = "Combination"
  ) 
# Most simple use with default values
syn <- lmmSynergy(lmm)
# Accessing to synergy results data frame
syn$Synergy
# Selecting different reference models:
## Bliss
lmmSynergy(lmm, method = "Bliss")
## HSA
lmmSynergy(lmm, method = "HSA")
## RA
lmmSynergy(lmm, method = "RA", ra_sim = 1000)

# Only calculate synergy from Time 12 onwards
lmmSynergy(lmm, min_time = 12)

# Using robust standard errors
lmmSynergy(lmm, method = "Bliss", robust = TRUE, type = "CR2")


[Package SynergyLMM version 1.0.1 Index]