KNOWLEDGEBASE - ARTICLE #1063

Isn't it 'cheating' to enter a low concentration, rather than zero, for dose-response curves?

When performing a dose-response curve, most investigators measure response at zero dose. Handling this data point is not straightforward because we recommend entering data with X equal to the logarithm of concentration, but the logarithm of zero is undefined.

We suggest entering a low concentration (perhaps one or two log units lower than your lowest concentration) instead of zero. If you enter a concentration so low that is has essentially no effect on the response, this method works fine and gives the correct results. But some people are wary about analyzing data this way, feeling that it is 'cheating' to enter some arbitrary (but very low) value rather than zero for the blank.

One alternative is simply to omit the data for the zero concentration. But this leaves out useful data, and in some cases (where the lowest concentration you use has a detectable response above the baseline), leaving out the zero value can lead to less accurate fits.

Here is an alternative that takes into account the zero value without 'cheating'.

Step 1. Enter your data as usual, with X as log(concentration) and using a low log(concentration) for the zero value. You can choose any value you want to enter as zero.

Step 2. Fit your data to this user-defined equation:

Baseline=IF(HillSlope>0.0, Bottom, Top)
Response=Bottom + (Top-Bottom)/(1+10^((LogEC50-X)*HillSlope))
Y=IF(X=ZeroValue,Baseline,Response)

The first line defines the baseline of the curve, the response with no added dose. If the HillSlope is positive, the curve goes uphill so the response with zero added dose is the bottom plateau, so we set baseline equal to the parameter Bottom. If the HillSlope is negative, then the curve is a downhill inhibition curve, so the response with no added drug is the top platea and we set the baseline equal to the paramter Top.

The second line defines the response for nonzero doses. It is the same equation as Prism's built-in variable slope dose-response curve.

The final line sets Y equal to the baseline value when X equals ZeroValue and otherwise sets Y equal to the response. So when you enter that special ZeroValue for X, Prism never computes the usual dose-response equation but instead defines Y to equal the baseline. ZeroValue is not used as a concentration in a computation, but rather as a "flag" to tell the IF-THEN statement to define Y to be equal to the baseline  rather than equal to the result of the dose-response equation. 

Step 3. Assign rules for initial values.

  • Set Bottom equal to 1*Ymin.
  • Set Top to 1*Ymax.
  • Set logEC50 to the value of X at Ymid.
  • Set HillSlope equal to SGN(YatXmax - YatXmin) so it equals 1.0 or -1.0 depending on whether your curve goes up or down.
  • Set ZeroValue to 0.0. (You'll constraint ZeroValue to equal a constant value in the next step, so this initial value will be ignored, but you have to enter something to close the dialog.

Step 4. Back on the main nonlinear regression parameters dialog, go to the constraints tab and constrain the parameter ZeroValue to be equal to a constant value equal to whatever value you have entered for X when the dose was zero.

---

Does this method give more accurate answers than the standard method? Not in most cases. So long as you enter a 'concentration' more than three log units below the EC50 (and assuming a Hill Slope not too far from 1.0), the usual method works fine because the dose-response equation computes a response indistinguishable from the baseline when the dose is less than 0.001 times the EC50.

The advantage of this new method is that it is concepturally pure. You don't have to pretend that a zero dose is really something else. It gets around the problem that the log of zero is undefined by using an IF-THEN relationship to define the response one way for the zero dose and another way for all other doses. The disadvantages are that you have to enter a user-defined equation, the syntax is confusing at first, and you may find it hard to explain to others exactly what you did.

How to change the axis to include zero.

Explore the Knowledgebase

Analyze, graph and present your scientific work easily with GraphPad Prism. No coding required.