IC50 conversion#

Convert fitted IC50 values to dissociation constants with scalar formulas or a DataFrame-oriented convenience function.

IC50ConversionResult#

class bindcurve.IC50ConversionResult[source]#

Bases: object

Result of one IC50-to-Kd conversion.

__init__(compound_id, model, IC50, Kd, lower_IC50=None, upper_IC50=None, lower_Kd=None, upper_Kd=None)#
Parameters:
Return type:

None

convert_ic50_to_kd#

bindcurve.convert_ic50_to_kd(data=None, *, model, IC50=None, RT=None, LsT=None, Kds=None, y0=None, compound_col='compound_id', ic50_col='IC50', lower_col=None, upper_col=None)[source]#

Convert scalar or DataFrame IC50 values to Kd.

When data is provided, the return value is a DataFrame with one row per input row. Otherwise, IC50 must be provided and a single IC50ConversionResult is returned.

Parameters:
  • data (DataFrame | None)

  • model (Literal['cheng_prusoff', 'cheng_prusoff_corrected', 'coleska'])

  • IC50 (float | None)

  • RT (float | None)

  • LsT (float | None)

  • Kds (float | None)

  • y0 (float | None)

  • compound_col (str)

  • ic50_col (str)

  • lower_col (str | None)

  • upper_col (str | None)

Return type:

IC50ConversionResult | DataFrame

cheng_prusoff#

bindcurve.cheng_prusoff(*, IC50, LsT, Kds)[source]#

Convert IC50 to Kd with the Cheng-Prusoff approximation.

Parameters:
Return type:

float

cheng_prusoff_corrected#

bindcurve.cheng_prusoff_corrected(*, IC50, LsT, Kds, y0)[source]#

Convert IC50 to Kd with the exact Munson-Rodbard correction.

Exactness is conditional on its one-site competitive-equilibrium model. y0 is the bound-to-free tracer ratio before competitor is added.

Parameters:
Return type:

float

coleska#

bindcurve.coleska(*, IC50, RT, LsT, Kds)[source]#

Convert IC50 to Kd with the Coleska finite-concentration correction.

Parameters:
Return type:

float