Posted on






An exponential decay equation models many chemical and biological processes. It is used whenever the rate at which something happens is proportional to the amount which is left. Here are three examples:

•When ligands dissociate from receptors, the number of molecules that dissociate in any short time interval is proportional to the number that were bound at the beginning of that interval. Equivalently, each individual molecule of ligand bound to a receptor has a certain probability of dissociating from the receptor in any small time interval. That probability does not get higher as the ligand stays on the receptor longer.

•When radioactive isotopes decay, the number of atoms that decay in any short interval is proportional to the number of undecayed atoms that were present at the beginning of the interval. This means that each individual atom has a certain probability of decaying in a small time interval, and that probability is constant. The probability that any particular atom will decay does not change over time. The total decay of the sample decreases with time because there are fewer and fewer undecayed atoms.

•When drugs are metabolized by the liver or excreted by the kidney, the rate of metabolism or excretion is often proportional to the concentration of drug in the blood plasma. Each drug molecule has a certain probability of being metabolized or secreted in a small time interval. As the drug concentration goes down, the rate of its metabolism or excretion goes down as well.


Entering data

Create an XY data table.

Enter time into X, and response (binding, concentration ..) into Y. If you have several experimentalconditions, place the first into column A, the second into column B, etc.


After entering data, click Analyze, choose nonlinear regression, choose the panel of exponential equations, and choose One phase decay.

Consider constraining Plateau to a constant value of zero

If you have subtracted off any background signal, then you know the curve has to plateau at Y=0. In this case, you should constrain the parameter Plateau to be a constant value equal to zero. To do this, go to the Constrain tab of the nonlinear regression dialog, set the drop down next to Plateau to “Constant equal to” and enter the value 0.0.


Model : Y=(Y0 – Plateau)*exp(-K*X) + Plateau

Y0 is the Y value when X (time) is zero. It is expressed in the same units as Y,

Plateau is the Y value at infinite times, expressed in the same units as Y.

K is the rate constant, expressed in reciprocal of the X axis time units. If X is in minutes, then K is expressed in inverse minutes.

Tau is the time constant, expressed in the same units as the X axis. It is computed as the reciprocal of K.

Half-life is in the time units of the X axis. It is computed as ln(2)/K.

Span is the difference between Y0 and Plateau, expressed in the same units as your Y values.


dfs <- df %>% plotly::filter(Group== “Group”)
fit <- nls(data=dfs, formula = Response ~ (yhi-ylo)*exp(-1*k*Time) + ylo, start = list(k=1,ylo = 0,yhi = 1))
# Nonlinear regression model
# model: Response ~ (yhi - ylo) * exp(-1 * k * Time) + ylo
# data: dfs
# k      ylo      yhi 
# 0.9490  -0.7911 100.9459 
# residual sum-of-squares: 188.8
# Number of iterations to convergence: 5 
# Achieved convergence tolerance: 8.717e-06.8

halftime <- log(2)/0.9490



在Other tools中:运行结果如下,与Graphpad一致:

One Reply to “Graphpad/R语言绘制降解曲线(Decay curve)计算半衰期”

  1. 王老师,您好,想请教下您,如果计算蛋白质的半衰期是不是也可以用上述方法呢?


邮箱地址不会被公开。 必填项已用*标注