Fit a MuSyC Synergy Model
MuSyC_model.RdThe MuSyC synergy model is a bivariate functional form with Bliss and Loewe synergy models models as special cases described in (Meyer, et al., 2019) and (Wooten, et al., 2021).
The functional form is
<response> ~ MuSyC(
<treatment 1> - <logd1scale>,
<treatment 2> - <logd2scale>,
logE0,
logC1, logE1, h1,
logC2, logE2, h2,
logE3, logalpha)See MuSyC_robust() for the full mathematical description of the
MuSyC function. By default the observed data (and therefore should be
columns in the input data data.frame) are
<treatment 1>:logd1, thelog10of the dose as a molar concentration of treatment 1<treatment 2>:logd2, thelog10of the dose as a molar concentration of treatment 2<response>:response, with unspecified units
The logd1scale and logd2scale are used to center <treatment 1>
and <treatment 2> to make fitting more numerically stable. If they are not
in the input data, then they are taken to be the mean of
<treatment 1> and <treatment 2> respectively.
The modeled parameters are
logE0: thelog(<response>)when<treatment 1> = 0and<treatment 2> = 0logC1: thelog(<treatment 1>)where when<treatment 2> = 0, the<response>is halfway betweenE0andE1logE1: thelog(response)when<treatment 1> => Infand<treatment 2> = 0h1: the hill slope of the response with respect to<treatment 1>when<treatment 1> = C1and<treatment 2> = 0. SeeMuSyC_hi_to_si()andMuSyC_si_to_hi()for converting between the slope (si) and hill slope (hi).logC2: thelog(<treatment 2>)where when<treatment 1> = 0, the<response>is halfway betweenE0andE2logE2: thelog(response)when<treatment 2> => Infand<treatment 1> = 0h2: the hill slope of the response with respect to<treatment 2>when<treatment 2> = C2and<treatment 1> = 0. SeeMuSyC_hi_to_si()andMuSyC_si_to_hi()for converting between the slopec(si) and hill slope (hi).logE3: thelog(response)when<treatment1 1> => Infand<treatment 2> => Inf, modeling the synergistic efficacylogalpha: thelogof the synergistic potencyalpha. Whenalpha > 1the treatments are synergistic so that<treatment 1>`` shifts the response due to<treatment 2>to lower doses and visa versa. Whenalpha < 1the treatments are antagonistic so that<treatment 1>shifts the response to<treatment 2>` to higher doses and vise versa
Usage
MuSyC_model(
data,
prior = MuSyC_prior(),
init = MuSyC_init(),
formula = MuSyC_formula(),
control = list(adapt_delta = 0.99, max_treedepth = 12),
stanvars = c(MuSyC_stanvar(), MuSyC_genquant()),
expose_functions = TRUE,
...
)Arguments
- data
data.frameof observed data. It must contain columns for the treatment, response and any additional predictors specified in the formula. Seesigmoid_agonist_formula()for more details.- prior
brms::brmsprior()for the model parameters. To create a prior for the MuSyC model, use theMuSyC_prior()function.- init
functiongiving the initial values for the parameters. To specify the initial values, use theMuSyC_init()function.- formula
bpformulaobject. To create a formula for the MuSyC model, use theMuSyC_formula()function.- control
a named
listof arguments to control the sampler's behavior. Addingmax_treedepthand giving a greater value than10can improve model convergence.- stanvars
stanvarscode for the MuSyC model.- expose_functions
logical. Expose the sigmoid function used in the model. This is needed e.g. forbrms::loo_compare()- ...
additional arguments passed to
brms::brm()
References
Meyer, D.J., Wooten, D.J., Paudel B.B., Bauer, J., Hardeman, K.N., Westover, D., Lovly, C.M., Harris, L.A., Tyson D.R., Quaranta, V., Quantifying Drug Combination Synergy along Potency and Efficacy Axes, Cell Syst. 8, 2 (2019). https://doi.org/10.1016/j.cels.2019.01.003
Wooten, D.J., Meyer, C.T., Lubbock, A.L.R. et al. MuSyC is a consensus framework that unifies multi-drug synergy metrics for combinatorial drug discovery. Nat Commun 12, 4607 (2021). https://doi.org/10.1038/s41467-021-24789-z