P4 Dose Response Curves
P4 Dose Response Curves
P4 Dose Response Curves
0
Step-by-Step Examples
A dose-response curve describes the relationship between response to drug treatment and drug dose or
concentration. Sensitivity to a drug acting at a specific, saturable receptor typically spans a large concentration
range, so dose-response curves are usually semi-logarithmic, i.e., the amount of drug is plotted as the log of drug
concentration, giving them their familiar sigmoidal shape.
No inhibitor
Inhibitor 1:10
100
75
50
25
0
0
10 -9 10 -8 10 -7 10 -6 10 -5 10 -4 10 -3
[Agonist], M
This example will show you (a) how to use Prism to fit sigmoidal (also known as logistic) curves to your doseresponse data and (b) one way to compare two dose-response curves statistically. This article includes the
following techniques:
1 Adapted from: Miller, J.R., GraphPad Prism Version 4.0 Step-by-Step Examples, GraphPad Software Inc., San
Diego CA, 2003. Step-by-Step Examples is one of four manuals included with Prism 4. All are available for
download as PDF files at www.graphpad.com. While the directions and figures match the Windows version of
Prism 4, all examples can be applied to Apple Macintosh systems with little adaptation. We encourage you to print
this article and read it at your computer, trying each step as you go. Before you start, use Prisms View menu to
make sure that the Navigator and all optional toolbars are displayed on your computer.
2003 GraphPad Software, Inc. All rights reserved. GraphPad Prism is a registered trademark of GraphPad
Software, Inc. Use of the software is subject to the restrictions contained in the software license agreement.
1
Normalizing data
Suppose we want to plot two dose-response curves, showing the average in vitro response to an agonist, in the
presence and in the absence of an antagonist, measured in triplicate. Further, we wish to include on the graph a
zero-concentration control value.
Enter the data as shown below. The X values (agonist dose) are given as molar concentration, expressed in
exponential notation. The Y values (response, in arbitrary units) go in subcolumns Y1 to Y3.
The dosage increment (10 nM, 30 nM, 100 nM, etc) shown in the X column is typical. These values will be
log-transformed, giving roughly equal horizontal spacing of data points on the dose-response curve.
These data are a good illustration of Prisms use of only one X column. Although the X values for data sets
A and B are not the same, we can combine all the X values into a single column and leave Y-value cells
empty where appropriate.
The values in row 1 represent the zero-concentration (no agonist) data. Since our X coordinates will be
plotted as logarithms, and since the log of 0 is undefined, we approximate this point with an X coordinate
of 1.0e-010, about 2 log units below the lowest "real" X value. Later on, well show how to place a zero on
the X axis for this data point.
For this example, were assuming that the Y values do not require correction by subtraction of a baseline
the minimum Y values are already zeroes. If you wish to subtract a baseline value from each Y value in a
data set, read about automatic baseline corrections in the Step-by-Step Example Substrate-Velocity
Curves and Lineweaver-Burk Plots. Later in this example, well demonstrate normalization of the Y
values, which can also serve as a means of baseline correction.
You can enter the Y values in any convenient units, then transform to other units if you wish. Well use
Prism to normalize (i.e., transform to percent of maximal response) our Y values later.
Particularly when dosing with an impure preparation, you may wish to enter X values in terms of dilution
factor or in mass/volume (e.g., mg/mL) units. Using mass/volume units is not a problem.
Data Manipulations
This section covers the data modification necessary to produce a conventional dose-response graph, with response
values normalized to span the range from 0% to 100% plotted against the logarithm of agonist concentration
In a system following mass-action kinetics, the dose-response curve becomes sigmoidal only
when response is plotted against the logarithm of dose, and Prisms built-in sigmoidal doseresponse curve-fit models presuppose that your X values are in that form. But users occasionally
find that their dose-response relationships are sigmoidal before log transformation. In that case,
consider using the user-defined model
Y=BOTTOM+(TOP-BOTTOM)*X^H/(EC50^H+X^H)
where EC50 is the midpoint of the curve, and H is the Hill slope. For an example of implementing
user-defined equations, see the step-by-step example Fitting Data to User-Defined Equations.
The Results sheet is displayed. Because we have replicate Y values, 0% and 100% are defined by the mean of the
replicates. It is neither possible nor desirable to normalize each subcolumn separately. This is why none of the
upper Y values in the table is exactly 100.
Now click the yellow Graphs tab on the toolbar to switch to the graph of the log-transformed and normalized
data.
150
No inhibitor
Inhibitor 1:10
100
50
0
-11
-10
-9
-8
-7
-6
-5
-4
-3
Agonist
Note that, unless you specify otherwise, Prism plots the averages of replicate data and adds error bars
automatically.
This is normally all you need do to prepare Prism to fit the curves, and if you were to click OK at this point, Prism
would perform a four-parameter (bottom, top, log EC50, and Hill slope) sigmoidal curve fit and add the curves to
the graph. But well choose two options.
Only two of the four parameters from the variable-slope sigmoidal model show up in the list box,
since the other two parameters were constrainedtherefore no longer to be fittedin the
previous section.
While youre looking at the Comparison page of the Parameters: Nonlinear Regression (Curve Fit)
dialog, note the variety of comparisons available.
For each data set, which of two equations (models) fits best?
6
Select different curve-fit equations and allow Prism to decide which better fits your data.
Does the best-fit value of a selected parameter differ between data sets?
Compare data sets. Select (a) one or more curve-fit parameters and allow Prism to decide whether their
values differ statistically among data sets, i.e., whether the curves statistically different with respect to the
specified parameter(s). Thats what were doing in this example, using log EC50 as our criterion for
comparison. Or select (b) all parameters and have Prism decide on the basis of the overall curve whether
the data sets differ.
For each data set, does the best-fit value of a selected parameter differ from a hypothetical
value?
Experiment with these settings, observing how Prism changes the dialog and reading the Explanation frame for
each option.
When you click OK to exit the Parameters: Nonlinear Regression (Curve Fit) dialog, Prism fits the curves
and places them on the graph.
150
No inhibitor
Inhibitor 1:10
100
50
0
-11
-10
-9
-8
-7
-6
-5
-4
-3
Agonist
The Results sheet is extensive; well show the highlights. Select the Table of results subsheet in the Navigator.
Prism summarizes the result of the F test giving the hypotheses tested, in the first rows of the table (in the
illustration, we juxtaposed the first and fourth columns by horizontal scrolling).
Further down, Prism reports the values fitted under the assumptions of each hypothesis. When Prism is free to fit
log EC50 for each data set separately (the alternate hypothesis)
When Prism fits a common value for log EC50 to both data sets
In both cases, the fixed values of 0 and 100 for BOTTOM and TOP are included in the table; since they werent
fitted, no standard errors are shown for them. The EC50 shown in the table is simply the antilog of the parameter
that is fittedLOGEC50.
As we noted earlier, the null hypothesis was rejected on the basis of the F test. It appears that the experimental
intervention, addition of a putative inhibitor, shifts the dose-response curve to the right.
Users frequently object to the fact that the standard error for EC50 is not reported. These standard error values
express the uncertainty inherent in estimating the parameters by curve fitting. For the equation fitted here, the
midpoint of the curve is log EC50, not EC50. Dont try to express the standard error for EC50 obtained in this way
using a single numberin particular, it is not the antilog of the standard error of log EC50. We suggest that you use
the 95-percent confidence interval for EC50, which Prism does report.
Additional help for understanding your results is available when you click the Analysis Check List button.
Select the General tab again, then set Origin to Lower Left. This lowers the X axis to coincide with the frame
around the graph.
Now reset Segment to Right and enter or verify the following settings:
No inhibitor
Inhibitor 1:10
100
75
50
25
0
-10
-9
-8
-7
-6
-5
-4
-3
Agonist
You may have to resort to some trial and error to get the look you want. One hint: Try selecting,
then dragging, the ends of the X axis segments directly on the graph, which will adjust the value
for Length % of total axis automatically.
No inhibitor
Inhibitor 1:10
100
75
50
25
0
0
-9
-8
-7
-6
-5
-4
-3
Agonist
Note that you dont have to use a numeric tick label where we substituted for -10. You could just
as well label the tick Control or Vehicle.
10
or Power of 10:
If you choose the Power of 10 tick labeling option, you may also wish to add logarithmic minor ticks. In the
Format Axes dialog (X axis tab), adjust Minor ticks and Spacing as shown here:
Prism doesnt alter the axis titles to reflect the tick-labeling formatwe did that manually for this
illustration.
When you want to use one of the other (longer) formats, such as Antilog, you may find that the labels are long
and overlapping each other. Try one of the following:
If the crowding isnt too severe, create more room for the labels by clicking on the X axis to select it and
then dragging the right-hand handle to the right.
Enter your original data onto the data table in different units. You may be able to eliminate several placeholding zeros for tick labels in the Antilog format by entering data in micromolar or nanomolar units.
Remember to modify the X-axis title if necessary, and remember that log EC50 and EC50 values reported
on the curve-fit results will be in the same units that you used on the data table.
Show the tick labels at an angle. In the Format Axes dialog (X axis tab), try these settings:
11
Repeat for the Inhibitor 1:10 data, choosing this time the lower half of the bar. Your graph should now look
something like this (we edited the axis titles and relocated the legends):
No inhibitor
Inhibitor 1:10
100
75
50
25
0
0
10 -9 10 -8 10 -7 10 -6 10 -5 10 -4 10 -3
[Agonist], M
You wish to display some error bars associated with a data set in one direction only, and the rest
in both directions. On the data table, choose the Mean, +Error, -Error format for the Y
columns. Prism then leaves room for you to add differing positive and negative error limits. Enter
zeroes on the table wherever you dont want that half of the error bar to be displayed.
Choose Edit...Copy, switch to the graph, and choose Edit...Paste Table. You can now select the embedded
table and drag it to a convenient open spot (in the illustration below, we removed the frame around the plot area).
With some ingenuity, you can improve the cosmetics and narrow the information down to whats important. In
the illustration below, the EC50 values were pasted individually and situated next to the legend elements. The
heading EC50 was generated using the text tool,
and the line below EC50 was made with the line-drawing tool.
12
100
75
50
25
EC50
0
0
No inhibitor
1.2243e-007
Inhibitor 1:10
8.5320e-007
10 -9 10 -8 10 -7 10 -6 10 -5 10 -4 10 -3
[Agonist], M
The beauty of pasting results from the Results sheet to your graph is that, since all related steps in your project are
linked, changing your data will result in all corrections being made on the graph automaticallyincluding the
pasted values for EC50.Try it! This saves effort not only when you need to correct data errors, but also when you
need to construct a new dose-response curve. In fact, once youve settled on the design of your dose-response
curve, consider saving your entire project, for use with new data, as a template.
13