Fit a MuSyC Synergy Model
MuSyC_model.Rd
The 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
, thelog10
of the dose as a molar concentration of treatment 1<treatment 2>
:logd2
, thelog10
of 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> = 0
and<treatment 2> = 0
logC1
: thelog(<treatment 1>)
where when<treatment 2> = 0
, the<response>
is halfway betweenE0
andE1
logE1
: thelog(response)
when<treatment 1> => Inf
and<treatment 2> = 0
h1
: the hill slope of the response with respect to<treatment 1>
when<treatment 1> = C1
and<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 betweenE0
andE2
logE2
: thelog(response)
when<treatment 2> => Inf
and<treatment 1> = 0
h2
: the hill slope of the response with respect to<treatment 2>
when<treatment 2> = C2
and<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> => Inf
and<treatment 2> => Inf
, modeling the synergistic efficacylogalpha
: thelog
of the synergistic potencyalpha
. Whenalpha > 1
the treatments are synergistic so that<treatment 1>`` shifts the response due to
<treatment 2>to lower doses and visa versa. When
alpha < 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.frame
of 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
function
giving the initial values for the parameters. To specify the initial values, use theMuSyC_init()
function.- formula
bpformula
object. To create a formula for the MuSyC model, use theMuSyC_formula()
function.- control
a named
list
of arguments to control the sampler's behavior. Addingmax_treedepth
and giving a greater value than10
can improve model convergence.- stanvars
stanvars
code 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