MuSyC

class synergy.higher.MuSyC(single_drug_models=None, num_drugs=-1, r_r=1.0, fit_gamma=False, **kwargs)[source]

The MuSyC model for n-dimensional drug combinations.

In MuSyC, synergy is parametrically defined as shifts in potency (alpha), efficacy (beta), or cooperativity (gamma).

Two modes are supported:

  • fit_gamma=False (default) - fits only alpha and beta, with gamma fixed to 1.0

  • fit_gamma=True - fits all synergy parameters (alpha, beta, and gamma)

Interpretation of synergy parameters

Parameter

Values

Synergy/Antagonism

Interpretation

alpha_a_b

[0, 1)

Antagonistic Potency

Drug(s) a decrease the potency of drug b

> 1

Synergistic Potency

Drug(s) a increase the potency of drug b

beta_a

< 0

Antagonistic Efficacy

Combination a is weaker than with one fewer drug

> 0

Synergistic Efficacy

Combination a is stronger than with one fewer drug

gamma_a_b

[0, 1)

Antagonistic Cooperativity

Drug(s) a decrease the cooperativity of drug b

> 1

Synergistic Cooperativity

Drug(s) a increase the cooperativity of drug b

E(d)

Return the effect of the drug combination at doses d.

Parameters:

d (ArrayLike) – doses (shape=(N,) or (M, N) where N is the number of drugs and M is the number of samples

Return ArrayLike:

The effect of the drug combination at doses d (shape=(M,) where M is the number of samples)

E_reference(d)[source]

Return the expected effect of the combination of drugs at doses d1 and d2.

Parameters:

d (ArrayLike) – doses (shape=(N,) or (M, N) where N is the number of drugs and M is the number of samples)

Return ArrayLike:

Reference (additive) values of E at the given doses

fit(d, E, **kwargs)

Fit the model to data.

Parameters:
  • d (array_like) – Array of doses measured

  • E (array_like) – Array of effects measured at doses d

  • bootstrap_iterations (int, default=0) – Number of bootstrap iterations to perform to estimate confidence intervals. If 0, no bootstrapping is performed.

  • kwargs – Optional parameters to pass to scipy.optimize.curve_fit().

get_confidence_intervals(confidence_interval=95)[source]

Returns the lower bound and upper bound estimate for each parameter.

This also calculates confidence intervals for beta, which is derived from the E parameters.

Parameters:

confidence_interval (float, default=95) – % confidence interval to return. Must be between 0 and 100.

Returns:

A dictionary of parameter names to a tuple of the lower and upper bounds of the confidence interval.

Return type:

Dict[str, Tuple[float, float]]

get_parameters()

Return the model’s parameter values keyed by parameter names.

Return type:

Dict[str, Any]

summarize(confidence_interval=95, tol=0.01)[source]

Print a summary table of the synergy model.

Parameters:
  • confidence_interval (float) – The confidence interval to use for parameter estimates (must be between 0 and 100).

  • tol (float) – The tolerance around additivity for determining synergism or antagonism.

property beta: Dict[str, float]

Synergistic efficacy, a synergy parameter derived from E parameters.

Return Dict[str, float]:

A map of which drugs are present in each state to the beta value for that state.

property is_converged: bool

True if the model converged during fitting.

property is_fit

True if the model has been fit to data.

property is_specified: bool

True if all parameters are set.