l7
l6
l5
l4
l3
b7
b6
b5
b4
b3
expGrowth
linexp
mak2
mak2i
mak3
mak3i
lin2
cm3
spl3
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.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