ZIP
- class synergy.combination.ZIP(use_jacobian=True, drug1_model=None, drug2_model=None, **kwargs)[source]
A model used to fit the Zero Interaction Potency (ZIP) model (doi: 10.1016/j.csbj.2015.09.001).
This model is based on the multiplicative survival principal (i.e., Bliss). All across the dose-response surface, it fits Hill-equations either holding d1==constant or d2==constant.
ZIP quantifies changes in the EC50 (C) and Hill-slope (h) of each drug, as the other is increased. For instance, at a given d1==D1, d2==D2, ZIP fits two Hill equations: one for drug1 (fixing d2==D2), and one for drug2 (fixing d1==D1). These Hill equations are averaged to get a fit value of E (y_c in their paper) at these doses. This is then subtracted from the expected result (y_zip in their paper) obtained by assuming these Hill equations have equivalent h and C to their single-drug counterparts. This difference (delta in their paper) becomes the metric of synergy.
ZIP models store these delta values as model._synergy, but also store the Hill equation fits for drug1 and drug2 across the whole surface, allowing investigation of how h and C change across the surface
Members
- synergyarray_like
(-inf,0)=antagonism, (0,inf)=synergism. The “delta” synergy score from ZIP
- _h_21array_like
The hill slope of drug 1 obtained by holding D2==constant
- _h_12array_like
The hill slope of drug 2 obtained by holding D1==constant
- _C_21array_like
The EC50 of drug 1 obtained by holding D2==constant
- _C_12array_like
The EC50 of drug 2 obtained by holding D1==constant
- E_reference(d1, d2)[source]
Return the expected effect of the combination of drugs at doses d1 and d2.
- Parameters:
d1 (ArrayLike) – Concentration of drug 1
d2 (ArrayLike) – Concentration of drug 2
- Return ArrayLike:
Reference (additive) values of E at the given doses
- fit(d1, d2, E, **kwargs)
Fit the model to data.
- Parameters:
d1 (ArrayLike) – Concentration of drug 1
d2 (ArrayLike) – Concentration of drug 2
E (ArrayLike) – Effect of the combination of drugs at doses d1 and d2
kwargs (dict) –
use_jacobian: whether to use the model jacobian when fitting single-drug models
Additional keyword arguments for
scipy.optimize.curve_fit()- Return ArrayLike:
Synergy values
- property is_fit
True if the model has been fit to data.
- property is_specified
True if each single-drug model is specified.