# Models for fitting individual ITC experiments¶

## Basic model pipeline¶

Under the hood, individual models do the following:

- Guess model parameters.
- Calculate the concentrations of all molecular species using guessed binding constants (as well as the titration shot sizes and initial concentrations in the cell and syringe).
- Calculate the heat change per shot using the guess reaction enthalpies and species concentrations from (2).
- Compare the calculated and measured heat changes at each shot.
- Iterate through steps 2-4 using nonlinear regression to find maximum likelihood parameter estimates.

## Differences from other modeling approaches¶

- In
**pytc**, the heat of dilution is a fittable parameter within each model. It is described as a linear function of titrant concentration. This means that a blank titration should**not**be subtracted from the heats before fitting. To incorporate a blank titration, globally fit the dilution for the blank and production experiments (see the demo for an example). - The stoichiometry of each model is fixed (rather than fittable). Instead,
of a fractional stoichiometry, there is a fraction competent (
`fx_competent`

) parameter that floats to account for the fact that not all molecules may be competent to bind in either the titrant or cell. This follows the approach used by sedphat. If this value is very different than one, it may indicate a problem with the experiment.

## Specific Models¶

### Blank¶

Titration of titrant into a cell without a stationary component.

#### Model parameters¶

parameter | variable | parameter name | class |
---|---|---|---|

slope of heat of dilution | \(q_{slope}\) | `dilution_heat` |
nuisance |

intercept of heat of dilution | \(q_{intercept}\) | `dilution_intercept` |
nuisance |

#### Calculate heat changes¶

The change in heat for each shot \(i\) (\(\Delta Q_{i}\)) is:

where \([T]_{i}\) is the concentration of titrant at shot \(i\), \(q_{slope}\) is the slope of the heat of dilution (`dilution_heat`

) and \(q_{intercept}\) is the intercept of the heat of dilution (`dilution_intercept`

).

### Single-Site Binding¶

This is a basic, single-site binding model.

#### Model parameters¶

parameter | variable | parameter name | class |
---|---|---|---|

association constant | \(K\) | `K` |
thermodynamic |

binding enthalpy | \(\Delta H\) | `dH` |
thermodynamic |

fraction competent | — | `fx_competent` |
nuisance |

slope of heat of dilution | — | `dilution_heat` |
nuisance |

intercept of heat of dilution | — | `dilution_intercept` |
nuisance |

#### Model Scheme¶

Scheme is for binding of titrant \(T\) to a stationary species \(S\):

To describe this, we use the following equilibrium constant:

#### Determine the relative populations of species in solution¶

We can only manipulate \([T]_{total}\) and \([S]_{total}\) experimentally, so our first goal is to determine the concentration of \([ST]\), which we cannot manipulate or directly observe.

The real root of this equation describes \([ST]\) in terms of \(K\) and the total concentrations of \([S]\) and \([T]\):

The mole fraction \(ST\) is:

#### Calculate heat changes¶

The change in heat for each shot \(i\) (\(\Delta Q_{i}\)) is:

where \(V_{0}\) is the volume of the cell (fixed) and \(\Delta H\) is the enthalpy of binding. Note that we do not deal with dilution here, as **pytc** calculates \(x_{ST,i}\) for the entire titration, accouting for dilution at each step. \(V_{0}\) is held constant as the total cell volume (not the volume of solution including the neck) as only the cell, not the neck, is detected in the signal.

### Competitive ligand binding¶

Model binding where two molecules compete for binding to a single other molecule. This model was described by Sigurskjold BW (2000) *Analytical Biochemistry* 277(2):260-266 (link).

indiv_models.SingleSiteCompetitor

#### Model parameters¶

parameter | variable | parameter name | class |
---|---|---|---|

association constant for A | \(K_{A}\) | `K` |
thermodynamic |

association constant for B | \(K_{B}\) | `Kcompetitor` |
thermodynamic |

binding enthalpy for A | \(\Delta H_{A}\) | `dH` |
thermodynamic |

binding enthalpy for B | \(\Delta H_{B}\) | `dHcompetitor` |
thermodynamic |

fraction competent | — | `fx_competent` |
nuisance |

slope of heat of dilution | — | `dilution_heat` |
nuisance |

intercept of heat of dilution | — | `dilution_intercept` |
nuisance |

#### Model Scheme¶

Scheme is for competitive binding of \(A\) and \(B\) to protein \(P\):

To describe this, we use the following equilibrium constants:

#### Determine the relative populations of species in solution¶

We can only manipulate \([P]_{total}\), \([A]_{total}\) and \([B]_{total}\) experimentally, so our first goal is to determine the concentrations of species such as \([PA]\), which we cannot manipulate or directly observe. Start by writing concentrations as mole fractions:

A root of the binding polynomial has been found that describes \(x_{P}\) only in terms of \(K_{A}\), \(K_{B}\), \([A]_{total}\), \([B]_{total}\) and \([P]_{total}\). Start with some convenient definitions:

The value of \(x_{P}\) is given by:

Once this is known \(x_{PA}\) and \(x_{PB}\) are uniquely determined by:

#### Calculate heat changes¶

The change in heat for each shot \(i\) (\(\Delta Q_{i}\)) is:

where \(V_{0}\) is the volume of the cell, \(\Delta H_{A}\) is the enthalpy for binding ligand \(A\), \(\Delta H_{B}\) is the enthalpy for binding ligand \(B\). \(f_{i}\) is the dilution factor for each injection:

where \(V_{0}\) is the volume of the cell and \(V_{i}\) is the volume of the \(i\)-th injection.

**pytc** calculates \(x_{PA,i}\) and friends for the entire titration, correcting for dilution. This means the \(f_{i}\) term is superfluous. Thus, heats are related by:

Note that \(V_{0}\) is held constant (it is the cell volume) as only that volume is detected, not the neck of the cell.

### Binding Polynomial¶

This model was described by Freire et al. (2009). *Methods in Enzymology* 455:127-155 (link).

indiv_models.BindingPolynomial

#### Model parameters¶

parameter | variable | parameter name | class |
---|---|---|---|

Adair constant for site 1 | \(\beta_{1}\) | `beta1` |
thermodynamic |

binding enthalpy for site 1 | \(\Delta H_{1}\) | `dH1` |
thermodynamic |

This will have as many \(\beta\) and \(\Delta H\) terms as sites defined in the model. | |||

fraction competent | — | `fx_competent` |
nuisance |

slope of heat of dilution | — | `dilution_heat` |
nuisance |

intercept of heat of dilution | — | `dilution_intercept` |
nuisance |

#### Model Scheme¶

The scheme is:

where \(S\) is the stationary species and \(T\) is the titrant. This is an overall binding polynomial, meaning that we account for the total loading of \(i\) molecules of \(T\) onto \(S\). The equilibrium constants (Adair constants) are:

This model is entirely general (and therefore phenomenological), but is an appropriate starting point for analyzing a complex binding reaction. The Adair constants can be related to a sequential binding model by:

#### Determine the relative populations of species in solution¶

The first thing to note is that the binding polynomial \(P\) is a partition function:

This allows us to write equations for the average enthalphy and number of ligand molecules bound:

and

This means that obtaining the relative populations of species in solution is (relatively) simple:

This can then be solved numerically for a value of \([T]_{free}\).

#### Calculate heat changes¶

We can relate the heat at shot to the average enthalpies calculated using the value of \(T_{free}\) over the titration. Recalling:

we can calculate the change in heat for shot \(j\) as: