Learn R Programming

qpcR (version 1.3-7.1)

qpcR_functions: The nonlinear/mechanistic models implemented in qpcR

Description

A summary of all available models implemented in this package.

Usage

l7
l6
l5
l4
l3
b7
b6
b5
b4
b3
expGrowth 
linexp
mak2
mak2i
mak3
mak3i
lin2
cm3
spl3

Arguments

encoding

latin1

Details

The following nonlinear sigmoidal models are implemented: l7: $$f(x) = c + k1 \cdot x + k2 \cdot x^2 + \frac{d - c}{(1 + exp(b(log(x) - log(e))))^f}$$ l6: $$f(x) = c + k \cdot x + \frac{d - c}{(1 + exp(b(log(x) - log(e))))^f}$$ l5: $$f(x) = c + \frac{d - c}{(1 + exp(b(log(x) - log(e))))^f}$$ l4: $$f(x) = c + \frac{d - c}{1 + exp(b(log(x) - log(e)))}$$ l3: $$f(x) = \frac{d}{1 + exp(b(log(x) - log(e)))}$$ b7: $$f(x) = c + k1 \cdot x + k2 \cdot x^2 + \frac{d - c}{(1 + exp(b(x - e)))^f}$$ b6: $$f(x) = c + k \cdot x + \frac{d - c}{(1 + exp(b(x - e)))^f}$$ b5: $$f(x) = c + \frac{d - c}{(1 + exp(b(x - e)))^f}$$ b4: $$f(x) = c + \frac{d - c}{1 + exp(b(x - e))}$$ b3: $$f(x) = \frac{d}{1 + exp(b(x - e))}$$ The following nonlinear models for subsets of the curve are implemented: expGrowth: $$f(x) = a \cdot exp(b \cdot x) + c$$ linexp: $$f(x) = a \cdot exp(b \cdot x) + (k \cdot x) + c$$ lin2: $$f(x) = \eta \cdot log\left(exp\left(a1 \cdot \frac{x - \tau}{\eta}\right) + exp\left(a2 \cdot \frac{x - \tau}{\eta}\right)\right) + c$$ The following mechanistic models are implemented: mak2 & mak2i: $$F_n = F_{n-1} + k \cdot log \left(1 + \left(\frac{F_{n-1}}{k}\right)\right) + Fb$$ mak3 & mak3i: $$F_n = F_{n-1} + k \cdot log \left(1 + \left(\frac{F_{n-1}}{k}\right)\right) + (slope \cdot n + Fb)$$ cm3: $$F_n = F_{n-1} \cdot \left(1 + \left(\frac{max - F_{n-1}}{max}\right) - \left(\frac{F_{n-1}}{Kd + F_{n-1}}\right)\right) + Fb$$ Other models: spl3: $$S:[a, b] \to Real, a = n_0 < n_1 < \ldots < n_{k-1} < n_k = b$$ mak2 and mak3 are two mechanistic models developed by Gregory Boggy (see references). The mechanistic models are a completely different approach in that the response value (Fluorescence) is not a function of the predictor value (Cycles), but a function of the preceeding response value, that is, $F_n = f(F_{n-1})$. These are also called 'recurrence relations' or 'iterative maps'. The implementation of these models in the 'qpcR'' package is the following: 1) In case of mak2/mak2i or mak3/mak3i, all cycles up from the second derivative maximum of a four-parameter log-logistic model (l4) are chopped off. This is because these two models do not fit to a complete sigmoidal curve. An offset criterion from the SDM can be defined in pcrfit, see there. 2) For mak2i/mak3i, a grid of sensible starting values is created for all parameters in the model. For mak2/mak3 the recurrence function is fitted directly (which is much faster, but may give convergence problems), so proceed to 7). 3) For each combination of starting parameters, the model is fit. 4) The acquired parameters are collected in a parameter matrix together with the residual sum-of-squares (RSS) of the fit. 5) The parameter combination is selected that delivered the lowest RSS. 6) These parameters are transferred to pcrfit, and the data is refitted. 7) Parameter D0 can be used directly to calculate expression ratios, hence making the use of threshold cycles and efficiencies expendable. cm3 is a mechanistic model by Carr & Moore (see references). In contrast to the mak models, cm3 models the complete curve, which might prove advantageous as no decision on curve subset selection has to be done. As in the mak models, D0 is the essential parameter to use. spl3 is a cubic spline function that treats each point as being exact. It is just implemented for comparison purposes. lin2 is a bilinear model developed by P. Buchwald (see references). These are essentially two linear functions connected by a transition region. By default, cycles 1 ... (cpD2 + 3) are used. The functions are defined as a list containing the following items: $expr the function as an expression for the fitting procedure. $fct the function defined as f(x, parm). $ssfct the self-starter function. $d1 the first derivative function. $d2 the second derivative function. $inv the inverse function. $expr.grad the function as an expression for gradient calculation. $inv.grad the inverse functions as an expression for gradient calculation. $parnames the parameter names. $name the function name. $type the function type as a character string.

References

4-parameter logistic: Validation of a quantitative method for real time PCR kinetics. Liu W & Saint DA. Biochem Biophys Res Commun (2002), 294:347-53. Standardized determination of real-time PCR efficiency from a single reaction set-up. Tichopad A, Dilger M, Schwarz G & Pfaffl MW. Nucleic Acids Res (2003), 31:e122. Sigmoidal curve-fitting redefines quantitative real-time PCR with the prospective of developing automated high-throughput applications. Rutledge RG. Nucleic Acids Res (2004), 32:e178. A kinetic-based sigmoidal model for the polymerase chain reaction and its application to high-capacity absolute quantitative real-time PCR. Rutledge RG & Stewart D. BMC Biotechnol (2008), 8:47. Evaluation of absolute quantitation by nonlinear regression in probe-based real-time PCR. Goll R, Olsen T, Cui G & Florholmen J. BMC Bioinformatics (2006), 7:107 Comprehensive algorithm for quantitative real-time polymerase chain reaction. Zhao S & Fernald RD. J Comput Biol (2005), 12:1047-64. 4-parameter log-logistic; 5-parameter logistic/log-logistic: qpcR: an R package for sigmoidal model selection in quantitative real-time polymerase chain reaction analysis. Ritz C & Spiess AN. Bioinformatics (2008), 24:1549-51. Highly accurate sigmoidal fitting of real-time PCR data by introducing a parameter for asymmetry. Spiess AN, Feig C & Ritz C. BMC Bioinformatics (2008), 29:221. exponential model: Standardized determination of real-time PCR efficiency from a single reaction set-up. Tichopad A, Dilger M, Schwarz G & Pfaffl MW. Nucleic Acids Research (2003), 31:e122. Comprehensive algorithm for quantitative real-time polymerase chain reaction. Zhao S & Fernald RD. J Comput Biol (2005), 12:1047-64. mak2, mak2i, mak3, mak3i: A Mechanistic Model of PCR for Accurate Quantification of Quantitative PCR Data. Boggy GJ & Woolf PJ. PLoS ONE (2010), 5:e12355. lin2: A general bilinear model to describe growth or decline time profiles. Buchwald P. Math Biosci (2007), 205:108-36. cm3: Robust quantification of polymerase chain reactions using global fitting. Carr AC & Moore SD. PLoS One (2012), 7:e37640.

Examples

Run this code
m1 <- pcrfit(reps, 1, 2, b3)
m2 <- pcrfit(reps, 1, 2, b5)
m3 <- pcrfit(reps, 1, 2, l6)
m4 <- pcrfit(reps, 1, 2, l7)

## get the second derivative
## curve of m2
d2 <- b5$d2(m2$DATA[, 1], coef(m2))
plot(m2)
lines(d2, col = 2)

Run the code above in your browser using DataLab