Binding Curves

An Introduction to Assays

David Gosser

2021-10-25

Introduction

Binding Curves (or Binding Assays) are an approach to determining the equilibrium constant for the interaction of two molecules, commonly used in biochemistry1 See Pollard, Thomas (2017). A Guide to Simple and Informative Binding Assays. Molecular Biology of the Cell 21(23). Typically, the a small molecule (commonly called the “ligand”) attaches to a larger molecule such as a protein. If we denote the protein as P and the ligand as L we can express the dissociation as:

\(PL \rightleftharpoons P + L\)

and where the total protein is the bound plus unbound.

\(P_{tot} = PL + P\)

With the dissociation constant:

\(K_d = \frac{[P][L]}{PL]}\)

The concentration of the ligand is varied and the fraction bound \(\frac{[PL]}{P_{tot}}\) is plotted versus the L.2 While the mathematics is the similar, not the difference in a titration curve, where the -log(H), or the “ligand” is measured

Substituting \(P_{tot} = P + PL\) into the \(K_d\) expression:

we get

\(K_d = \frac{([P_{tot}]-[PL])[L]}{PL]} = \frac{([P_{tot}][L]-[PL]{L]}}{[PL]}\)

\(K_d[PL] + [PL][L] = [P_{tot}][L]\)

\([PL](K_d +[L]) = [P_{tot}][L]\)

and we get expression for fraction bound as a function of \(K_d\) and L.

\(\frac{[PL]}{P_{tot}} = \frac{[L]}{K_d + [L]}\)

note as L increases the fraction bound goes from 0 to 1.

Rhe key to binding assay is to find an experimental method to determine the concentration of PL, the bound form.

Non-linear analysis with R

#  Nonlinear Regression / Binding Curve 
#  simulate noisy data for myoglobin  KD = 0.26  [L] in kPa
# includes example of a loop
#  data generated with random noise added 


 
 KD <- 0.26              # initializing variables
 i <- 0.0  
 y <- 0.0
 
 
 i <-  seq(.1,1.5,0.1)
 i
##  [1] 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5
 length(i)
## [1] 15
 rnd <- rnorm(15,0,0.04)

 y <-  i/(KD+i) + rnd
 y
##  [1] 0.2187558 0.4246375 0.5412278 0.6229945 0.6836800 0.7577431 0.7085906
##  [8] 0.7322742 0.8186848 0.7279381 0.7853469 0.8478658 0.8002454 0.9697076
## [15] 0.8786064
 length(y)
## [1] 15
tryfit <- nls(y ~ i/(KD+i),  
              start = c(KD = 5))

summary(tryfit)
## 
## Formula: y ~ i/(KD + i)
## 
## Parameters:
##    Estimate Std. Error t value Pr(>|t|)    
## KD  0.25371    0.01706   14.87 5.72e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.04921 on 14 degrees of freedom
## 
## Number of iterations to convergence: 7 
## Achieved convergence tolerance: 3.718e-07
plot(i,y, main = "Myoglobin Binding Curve", xlab = "pO2 Kpa", ylab = "Fractional Binding")
  
lines(i,predict(tryfit), col = "blue")    # add a line fitted to points

#x <- c(1,2,4)
#y <- c(2,4,8)
# plot(x,y)
   knitr::include_graphics('250px-Myoglobin.png')

...

Myoglobin Myoglobin

knitr::include_graphics('250px-Myoglobin.png')
i 
##  [1] 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5
y
##  [1] 0.2747990 0.4487896 0.5363615 0.6458692 0.5918296 0.6592068 0.7916520
##  [8] 0.7516527 0.7988273 0.7534327 0.7313488 0.8069766 0.8166417 0.8303163
## [15] 0.7818573

Myoglobin Myoglobin

plot(i,y)
lines(i,predict(tryfit), col = "blue") 

Arbitrary Margin Content

We know from the first fundamental theorem of calculus that for \(x\) in \([a, b]\): \[\frac{d}{dx}\left( \int_{a}^{x} f(u)\,du\right)=f(x).\]