Skip to contents

The model

The dose-response function f:𝐱(0,1)f:\boldsymbol{x} \to (0,1), maps drug concentrations 𝐱\boldsymbol{x} to a measure of cell viability – zero corresponding to all cells being dead after treatment, one corresponding to all cells still alive. In drug-combination screens, it is common to assume that the dose-response function can be broken down as f(𝐱)=p0(𝐱)+Δ(𝐱), f(\boldsymbol{x}) = p_0(\boldsymbol{x})+\Delta(\boldsymbol{x}), where p0(𝐱)p_0(\boldsymbol{x}) encodes a non-interaction assumption, and Δ(𝐱)\Delta(\boldsymbol{x}) captures the residual interaction effect.

Non-interaction

The non-interaction assumption, p0(𝐱)p_0(\boldsymbol{x}), captures what can be reasonably assumed about a joint drug effect, given estimates of the drugs’ individual effect. We assume a Bliss style independence assumption, where we first assume that the individual drugs’ dose-response function takes the form of a log-logistic curve hi(xi|l,s,m)=l+1l1+10s(xim), h_i(x_i|l,s,m) = l + \frac{1-l}{1+10^{s(x_i-m)}}, where ll is the lower-asymptote, ss the slope, and mm the drugs ‘EC-50’ on the log10\log_{10} scale. The Bliss assumption then amounts to a probabilistic independence assumption, where p0(𝐱)=h1(x1|l1,s1,m1)h2(x2|l2,s2,m2). p_0(\boldsymbol{x}) = h_1(x_1|l_1,s_1,m_1) \ h_2(x_2|l_2,s_2,m_2). We call it probabilistic, because we can interpret the individual dose-response curves, hi()h_i() as probability of cell survival. Defining the events Ai=A cell survives drug A at concentration x1iBj=A cell survives drug B at concentration x2jCij=A cell survives both drugs at concentration 𝐱=(x1i,x2j), \begin{align} A_i & = \text{A cell survives drug A at concentration $x_{1i}$} \\ B_j & = \text{A cell survives drug B at concentration $x_{2j}$} \\ C_{ij} & = \text{A cell survives both drugs at concentration $\boldsymbol{x}=(x_{1i},x_{2j})$}, \end{align} the corresponding probabilities become p0(𝐱)=P(Cij)=P(Ai)P(Bi)=h1(x1|l1,s1,m1)h2(x2|l2,s2,m2). p_0(\boldsymbol{x}) = P(C_{ij}) = P(A_i)P(B_i) = h_1(x_1|l_1,s_1,m_1) \ h_2(x_2|l_2,s_2,m_2).

Interaction

The interaction component, Δ(𝐱)\Delta(\boldsymbol{x}), captures any joint effect of the drugs that is not captured by the non-interaction assumption. If two drugs are more effective together than it would be expected by p0p_0, we call it synergy, which corresponds to Δ<0\Delta <0. The opposite effect is deemed antagonism.

Because the interaction landscape can be complex, with multiple local peaks and valleys, we model this term non-parametrically using a Gaussian Process prior (GP). To ensure that the resulting dose-response function only takes values in the interval (0,1)(0,1), we push the GP through a transformation function g()g(). That is $$ z(\boldsymbol{x}) \sim \mathcal{GP}(0,\kappa(\boldsymbol{x},\boldsymbol{x}')) \\ \Delta(\boldsymbol{x}) = g(z(\boldsymbol{x})), $$ where the transformation function looks like g(z(𝐱))=p0(𝐱)1+exp{b1z(𝐱)+log[p0(𝐱)1p0(𝐱)]}+1p0(𝐱)1+exp{b2z(𝐱)log[p0(𝐱)1p0(𝐱)]}. g(z(\boldsymbol{x})) = \frac{-p_0(\boldsymbol{x})}{1+\exp\left\{b_1z(\boldsymbol{x})+\log\left[\frac{p_0(\boldsymbol{x})}{1-p_0(\boldsymbol{x})}\right]\right\}} + \frac{1-p_0(\boldsymbol{x})}{1+\exp\left\{-b_2z(\boldsymbol{x})-\log\left[\frac{p_0(\boldsymbol{x})}{1-p_0(\boldsymbol{x})}\right]\right\}}. In addition to ensuring the proper bounds for the dose-response function, this transformation has the feature of g(0)=0g(0)=0, which corresponds to an a priori assumption that 𝔼[f(𝐱)|p0(𝐱)]p0(𝐱). \mathbb{E}\left[f(\boldsymbol{x}) | p_0(\boldsymbol{x})\right] \approx p_0(\boldsymbol{x}). That is, we make our non-interaction assumption into a formal prior expectation on the dose-response function. This achieves two things, (1) a slightly conservative model that needs to be convinced that interaction effects are present, and (2) no built-in bias of interaction in the prior structure.

The covariance function κ(𝐱,𝐱)\kappa(\boldsymbol{x},\boldsymbol{x}') can be given multiple specifications, including a squared exponential, Matérn, and Rational Quadratic covariance functions. By default, we use a Matérn covariance with the ν\nu parameter set to 3/2 yielding κ(𝐱,𝐱)=σf2(1+3𝐱𝐱)exp{3𝐱𝐱}. \kappa(\boldsymbol{x},\boldsymbol{x}') = \sigma_f^2\left(1+\frac{\sqrt{3}\Vert\boldsymbol{x}-\boldsymbol{x}'\Vert}{\ell}\right)\exp\left\{-\frac{\sqrt{3}\Vert\boldsymbol{x}-\boldsymbol{x}'\Vert}{\ell}\right\}. Finally, by utilizing the natural grid structure of the drug concentrations, we can write the kernel function as κ(𝐱,𝐱)=σf2κ(x1,x1)κ(x2,x2), \kappa(\boldsymbol{x},\boldsymbol{x}') = \sigma_f^2 \kappa(x_1,x_1')\kappa(x_2,x_2'), which induces a Kronecker product structure on the final covariance matrix. Following the implementation detailed in Flaxman et al. (2015), this greatly improves the computational efficiency of the model.

The observation model

Given the above formulation for the dose-response function ff, we assume that we have access to noisy observations from it. These observations are typically generated from various cellular assays, e.g. viability assays. In particular we assume that given concentration points 𝐱1,,𝐱n\boldsymbol{x}_1,\ldots,\boldsymbol{x}_n we have observations y1,,yny_1,\ldots,y_n where yi=f(𝐱i)+ϵi, y_i = f(\boldsymbol{x}_i) + \epsilon_i, where we assume that the errors ϵi\epsilon_i are normally distributed with mean zero. For the variance of the observational errors, by default we model these in a heteroscedastic fashion as Var[ϵi]=σ2(f(𝐱i)+λ), \text{Var}\left[\epsilon_i\right] = \sigma^2(f(\boldsymbol{x}_i)+\lambda), where λ\lambda is set to a small value to handle the case when f=0f = 0, but there is still some residual noise. In a typical setup where cell viability is calculated through a normalization to positive and negative controls, lambda can be empirically set as λ=σ+2σ2, \lambda = \frac{\sigma^2_{+}}{\sigma^2_{-}}, where σ+2\sigma^2_{+} and σ2\sigma^2_{-} denotes the variance of positive and negative controls, respectively.

We choose a heteroscedastic model by default, because in cell viability assays, the observations are normalized in relation to positive and negative controls. The positive controls typically have much lower variance compared to the negative controls, which translates to viability measures closer to zero being more precisely measured. We also allow homoscedastic noise as an option.

Full model specification

The full model specification, with all default prior distributions look like $$ y_i \sim \mathcal{N}\left(f(\boldsymbol{x}_i),\sigma^2(f(\boldsymbol{x}_i)+\lambda)\right), \ i = 1,\ldots, n \\ \sigma \sim \text{Inv-Ga}\left(5,1\right), \ \lambda = 0.005. \\ f(\boldsymbol{x}_i) = p_0(\boldsymbol{x}_i)+\Delta(\boldsymbol{x}_i) \mathbb{I}(10^{\boldsymbol{x}_i}>0) \\ p_0(\boldsymbol{x}) = h_1(x_1|l_1,s_1,m_1) \ h_2(x_2|l_2,s_2,m_2). \\ l_j = \text{Beta}(1,1.25), \ s_i \sim \text{Gamma}(1,1), \\ m_i \sim \mathcal{N}(\theta_i,\sigma_{m_i}^2), \ j = 1,2 \\ \theta_i \sim \mathcal{N}(0,1), \ \sigma_{m_i}^2 \sim \text{Inv-Ga}\left(3,2\right), \ j = 1,2 \\ \Delta(\boldsymbol{x}) = g(z(\boldsymbol{x})), \ z(\boldsymbol{x}) \sim \mathcal{GP}(0,\kappa(\boldsymbol{x},\boldsymbol{x}')) \\ g(z(\boldsymbol{x})) = \frac{-p_0(\boldsymbol{x})}{1+\exp\left\{b_1z(\boldsymbol{x})+\log\left[\frac{p_0(\boldsymbol{x})}{1-p_0(\boldsymbol{x})}\right]\right\}} + \frac{1-p_0(\boldsymbol{x})}{1+\exp\left\{-b_2z(\boldsymbol{x})-\log\left[\frac{p_0(\boldsymbol{x})}{1-p_0(\boldsymbol{x})}\right]\right\}} \\ \kappa(\boldsymbol{x},\boldsymbol{x}') = \sigma_f^2\left(1+\frac{\sqrt{3}\Vert\boldsymbol{x}-\boldsymbol{x}'\Vert}{\ell}\right)\exp\left\{-\frac{\sqrt{3}\Vert\boldsymbol{x}-\boldsymbol{x}'\Vert}{\ell}\right\}, \\ \sigma_f^2 \sim \text{log-}\mathcal{N}(1,1), \ \ell \sim \text{Inv-Ga}(5,5) \\ b_j \sim \mathcal{N}(1,0.1^2), \ j = 1,2. $$ Note that some of these specifications can be altered. For example, by default we estimate the lower asymptotes, but they can also be fixed equal to zero.

In the model specification above, the interaction term is multiplied with an indicator function 𝕀(𝐱>0)\mathbb{I}(\boldsymbol{x}>0) taking the value 1 if and only if all elements in 𝐱\boldsymbol{x} is strictly larger than zero. This makes sure that we don’t allow for interaction when one of the drugs is at zero concentration.

Summary measures

From the posterior dose-response function f|𝐲f | \mathbf{y}, we derive a number of summary statistics concerning efficacy, synergy and antagonism.

Monotherapy summaries

For the monotherapy curves, we produce estimates of the drug sensitivity score (DSS) of each drug by the integral

DSS0=ab1hj(x)dx, DSS_0 = \int_a^b 1-h_j(x) \text{d}x, where a=min(x1j)a=\min(x_{1j}) and b=max(x1j)b=\max(x_{1j}). That is, the integral is taken from the measured dose range of the drug in question. This is in contrast to how the regular DSS score is calculated, where integration starts where the mono-therapy crosses the 90% viability threshold. This is done to better separate true effects from background noise, but since this is handled here through sampling, we don’t need it. The DSS value is further standardized by the total volume available for drug efficacy, DSS=DSS0(ba) DSS = \frac{DSS_0}{(b-a)} From here, values can be further standardized as in Yadav et al. (2014).

Combination summaries

To summarise the combined drug-response function, we utilise the measures developed in Cremaschi et al. (2019). The basic building block is the ‘volume under the surface’ or VUS, for which the general integral looks like

VUS0(f)=abcdf(𝐱)d𝐱, VUS_0(f) = \int_a^b \int_c^d f(\mathbf{x}) \ \text{d}\mathbf{x}, and the integrals are taken over the observed drug range, i.e. a=min(x1)a = \min (x_1), b=max(x1)b = \max (x_1), c=min(x2)c = \min (x_2), d=max(x2)d = \max (x_2). This is then standardised to obtain a value between zero and 100, VUS(f)=VUS0(f)(ba)(dc). VUS(f) = \frac{VUS_0(f)}{(b-a)(d-c)}. Furthermore, to make this into an overall measure of efficacy, we define the residual VUS (rVUS) by

rVUS(f)=100VUS(f), rVUS(f) = 100 - VUS(f), which makes this value more comparable with the DSS values, where a higher number now indicates a larger efficacy of the drug combination.

The model calculates rVUSrVUS for the dose-response function ff, giving a measure of combined efficacy. In addition, we calculate rVUS(p0)rVUS(p_0), the non-interaction efficacy. This makes it possible to separate how much of the total efficacy that can be attributed to the non-interaction assumption. For the interaction term, we simply compute the VUS values e.g. VUS(Δ)VUS(\Delta) for the interaction efficacy. For the interaction term Δ\Delta, we also compute VUS(Δ)VUS(\Delta^{-}) and VUS(Δ+)VUS(\Delta^{+}) for synergy and antagonism, where Δ+\Delta^{+} and Δ\Delta^{-} denotes the positive and negative parts of Δ\Delta, respectively. That is,

$$ \Delta^{+}(\mathbf{x}) = \max(0,\Delta(\mathbf{x})) \\ \Delta^{-}(\mathbf{x}) = \min(0,\Delta(\mathbf{x})). $$ We compute these measures because, frequently, the interaction surface contains both antagonistic and synergistic regions. When taking the average across the whole surface, an antagonistic outlier might cancel an otherwise strong synergistic effect.

Summarising large screens

When running screens with a large amount of drug combinations, it is helpful to have a normalised measure for comparing synergy across experiments. The rVUSrVUS scores defined above are already standardized to their drug concentration range, but to compare across experiments, we also standardize with respect to the uncertainty in the model. To do this, we calculate a synergy score by normalizing rVUS(Δ)rVUS(\Delta^{-}) with respect to its standard deviation. Synergy score=mean(VUS(Δ))sd(VUS(Δ)). \text{Synergy score} = \frac{\text{mean}(VUS(\Delta^{-}))}{\text{sd}(VUS(\Delta^{-}))}.

References

Cremaschi, Andrea, Arnoldo Frigessi, Kjetil Taskén, and Manuela Zucknick. 2019. “A Bayesian Approach to Study Synergistic Interaction Effects in in-Vitro Drug Combination Experiments.” https://arxiv.org/abs/1904.04901.
Flaxman, Seth, Andrew Gelman, Daniel Neill, Alex Smola, Aki Vehtari, and Andrew Gordon Wilson. 2015. “Fast Hierarchical Gaussian Processes.” Manuscript in Preparation.
Yadav, Bhagwan, Tea Pemovska, Agnieszka Szwajda, Evgeny Kulesskiy, Mika Kontro, Riikka Karjalainen, Muntasir Mamun Majumder, et al. 2014. “Quantitative Scoring of Differential Drug Sensitivity for Individually Optimized Anticancer Therapies.” Scientific Reports 4 (1). https://doi.org/10.1038/srep05193.