KNOWLEDGEBASE - ARTICLE #1445

Fixed bug: When Prism 5.02 or 5.0b extrapolates unknowns using a nonlinear standard curve, it can rarely report nonsense results.

Interpolating and extrapolating from nonlinear curves

As part of its nonlinear regression analysis, Prism can read unknowns off the standard curve. You give it X and it computes Y. Or you give it Y and it computes X. The latter is more tricky. Prism doesn't try to do any algebra and solve the equation. Instead, it simply looks along the curve trying to find the Y value you entered.

Prism 5 looks beyond the range of your data, so it can extrapolate as well as interpolate. It starts scanning at an X value equal to the smallest X value of the curve minus half the X range. (Prior to 5.02 and 5.0b, Prism 5 used the range of the data rather than the curve.)

Bug with extrapolating in 5.02 and 5.0b

In rare cases, Prism can find an X value that matches finds the unknown Y value  that is lower than the lowest X in your data. In these cases, it reports an X value that does indeed correspond to the unknown Y value, but in a range of X that is outside the standard curve. This can be useful in some cases, but in other cases it may lead to mathematically correct, but useless, results. 

In some cases the extrapolated result can be complete nonsense because of a singularity in the equation. For example, consider this equation:

Y=Bmax*X/(Kd+X)  

When X is equal to -1*Kd Y is undefined because of division by zero. But  when X is very close to -Kd, the computation is erratic. In that range, the equation approaches a singularity. It is possible that at some negative X value, the equation computes a Y value near the unknown Y value you entered, and thus Prism will report a negative X value as part of its standard curve. 

In rare cases, Prism 5.02 will find such an irrelevant X value that matches Y before it finds the relevant value. In that case, the extrapolated result it presents is useless.

Another case where the extrapolation can be meaningless is with polynomial equations. Such an equation can compute Y values at negative X values that are mathematically correct but practically useless.  

How to bypass the bug

The easiest way to  bypass the problem is to start the curve at a higher X value (set in the Range tab of the nonlinear regression dialog). If this doesn't work, you can work around the problem by  editing the equation. The idea is to redefine the equation,  so Y is simply undefined when X has nonsense values.

If you entered your own user-defined equation, you can edit it directly. If you used one of the built-in equations, you cannot edit it. Instead you should clone it, a choice to the right of the area where you choose an equation. You may edit the cloned equation. 

To fix the problem with the equation shows above, change the equation to this:

Y=IF(X<0, 0/0, Bmax*X/(Kd+X))

If X is negative, Y will be computed as 0/0 which is undefined. Otherwise Y is computed as before. 

Now for all negative X values, the equation is undefined, as Prism tries to compute 0/0. There are no X values where the equation approaches a singularity. With this modified equation, Prism cannot possibly find a negative X value that matches an unknown Y value. 

How Prism 5.03 and 5.0c fix the problem

These releases first try to interpolate. Then they try to extrapolate within the range the curve is defined. Only if that doesn't work, will Prism extrapolate beyond the range of the curve. 

 

Explore the Knowledgebase

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