mtenn.readout.PIC50Readout

class mtenn.readout.PIC50Readout(substrate: float | None = None, Km: float | None = None)[source]

Bases: Readout

Readout implementation to convert \(\Delta \mathrm{G}\) values to \(\mathrm{pIC_{50}}\) values. This new implementation assumes implicit energy units, WHICH WILL INVALIDATE MODELS TRAINED PRIOR TO v0.3.0.

Assuming implicit energy units:

\[ \begin{align}\begin{aligned}\Delta \mathrm{G} &= \mathrm{ln}(\mathrm{K_i})\\\mathrm{K_i} &= \mathrm{exp}(\Delta \mathrm{G})\end{aligned}\end{align} \]

Using the Cheng-Prusoff equation:

\[ \begin{align}\begin{aligned}\mathrm{K_i} &= \mathrm{\frac{IC_{50}}{1 + [S]/K_m}}\\\mathrm{exp(\Delta G)} &= \frac{\mathrm{IC_{50}}}{\mathrm{1 + [S]/K_m}}\\\mathrm{IC_{50}} &= \mathrm{exp(\Delta G) (1 + [S]/K_m)}\\\mathrm{pIC_{50}} &= \mathrm{-log10(exp(\Delta G) * (1 + [S]/K_m))}\\\mathrm{pIC_{50}} &= \mathrm{-log10(exp(\Delta G)) - log10(1 + [S]/K_m)}\\\mathrm{pIC_{50}} &= \mathrm{-\frac{ln(exp(\Delta G))}{ln(10)} - log10(1 + [S]/K_m)}\\\mathrm{pIC_{50}} &= \mathrm{-\frac{\Delta G}{ln(10)} - log10(1 + [S]/K_m)}\end{aligned}\end{align} \]

Alternatively, estimating \(\mathrm{K_i}\) as the \(\mathrm{IC_{50}}\) value:

\[ \begin{align}\begin{aligned}\mathrm{K_i} &= \mathrm{IC_{50}}\\\mathrm{IC_{50}} &= \mathrm{exp(\Delta G)}\\\mathrm{pIC_{50}} &= \mathrm{-log10(exp(\Delta G))}\\\mathrm{pIC_{50}} &= \mathrm{-\frac{ln(exp(\Delta G))}{ln(10)}}\\\mathrm{pIC_{50}} &= \mathrm{-\frac{\Delta G}{ln(10)}}\end{aligned}\end{align} \]

Methods

__init__([substrate, Km])

Initialize conversion with specified substrate concentration and \(\mathrm{K_m}\).

forward(delta_g)

Method to convert a predicted \(\Delta \mathrm{G}\) value into a \(\mathrm{pIC_{50}}\) value.

__init__(substrate: float | None = None, Km: float | None = None)[source]

Initialize conversion with specified substrate concentration and \(\mathrm{K_m}\). If either is left blank, the \(\mathrm{IC_{50}}\) approximation will be used.

Parameters:
  • substrate (float, optional) – Substrate concentration for use in the Cheng-Prusoff equation. Assumed to be in the same units as \(\mathrm{K_m}\)

  • Km (float, optional) – \(\mathrm{K_m}\) value for use in the Cheng-Prusoff equation. Assumed to be in the same units as substrate

forward(delta_g)[source]

Method to convert a predicted \(\Delta \mathrm{G}\) value into a \(\mathrm{pIC_{50}}\) value.

Parameters:

delta_g (torch.Tensor) – Input \(\Delta \mathrm{G}\) value.

Returns:

Calculated \(\mathrm{pIC_{50}}\) value.

Return type:

torch.Tensor