FourPHFfit | R Documentation |
Fit a four-parameter hill function \insertCiteel-kassaby_seed_2008germinationmetrics to cumulative germination count data and compute the associated parameters. \loadmathjax
FourPHFfit(
germ.counts,
intervals,
total.seeds,
partial = TRUE,
fix.y0 = TRUE,
fix.a = TRUE,
tmax,
xp = c(10, 60),
umin = 10,
umax = 90,
tries = 3
)
germ.counts |
Germination counts at each time interval. Can be partial
or cumulative as specified in the argument |
intervals |
The time intervals. |
total.seeds |
Total number of seeds. |
partial |
logical. If |
fix.y0 |
Force the intercept of the y axis through 0. |
fix.a |
Fix a as the actual maximum germination percentage at the end of the experiment. |
tmax |
The time up to which AUC is to be computed. |
xp |
Germination percentage value(s) for which the corresponding time is
to be computed as a numeric vector. Default is |
umin |
The minimum germination percentage value for computing
uniformity. Default is |
umax |
The maximum germination percentage value for computing
uniformity. Default is |
tries |
The number of tries to be attempted to fit the curve. Default is 3. |
The cumulative germination count data of a seed lot can be modelled to fit a four-parameter hill function defined as follows \insertCiteel-kassaby_seed_2008germinationmetrics.
\mjsdeqny = y_0+\fracax^bc^b+x^b
Where, \mjseqny is the cumulative germination percentage at time \mjseqnx, \mjseqny_0 is the intercept on the y axis, \mjseqna is the asymptote, or maximum cumulative germination percentage, which is equivalent to germination capacity, \mjseqnb is a mathematical parameter controlling the shape and steepness of the germination curve (the larger the \mjseqnb parameter, the steeper the rise toward the asymptote \mjseqna, and the shorter the time between germination onset and maximum germination), and \mjseqnc is the "half-maximal activation level" which represents the time required for 50% of viable seeds to germinate (\mjseqnc is equivalent to the germination speed).
In FourPHFfit
, this model has be reparameterized by substituting
\mjseqnb with \mjseqne^\beta to constraint \mjseqnb to positive
values only.
y = y_0+\fracax^e^\betac^e^\beta+x^e^\beta
Where, \mjseqnb = e^\beta and \mjseqn\beta = \log_e(b).
The curve fitting is performed with nonlinear
gslnls
package, a R interface to the
least-squares optimization with the GNU Scientific Library (GSL) with the
Levenberg-Marquardt algorithm
\insertCitegalassi_gnu_2009,chau_gslnls_2023germinationmetrics.
Once this function is fitted to the curve, FourPHFfit
computes the
time to 50% germination of total seeds (t50.total
) or viable seeds
(t50.Germinated
). Similarly the time at any percentage of germination
(in terms of both total and viable seeds) as specified in argument xp
can be computed.
The time at germination onset (\mjseqnlag) can be computed as follows.
\mjsdeqnlag = b\sqrt\frac-y_0c^ba + y_0
The value \mjseqnD_lag-50 is defined as the duration between the time at germination onset (lag) and that at 50% germination (\mjseqnc).
The time interval between the percentages of viable seeds specified in the
arguments umin
and umin
to germinate is computed as uniformity
(\mjseqnU_t_max-t_min).
U_t_max-t_min = t_max - t_min
The partial derivative of the four-parameter hill function gives the instantaneous rate of germination (\mjseqns) as follows.
\mjsdeqns = \frac\partial y\partial x = \fracabc^bx^b-1(c^b+x^b)^2
From this function for instantaneous rate of germination, the time at maximum germination rate (\mjseqnTMGR) can be estimated as follows.
\mjsdeqnTMGR = b \sqrt\fracc^b(b-1)b+1
TMGR represents the point in time when the instantaneous rate of germination starts to decline.
The area under the curve (\mjseqnAUC) is obined by integration of the fitted curve between time 0 and time specified in the argument 'tmax'.
Integration of the fitted curve gives the value of mean germination time (\mjseqnMGT) and the skewness of the germination curve is computed as the ratio of \mjseqnMGT and the time for 50% of viable seeds to germinate (\mjseqnt_50).
\mjsdeqnSkewness = \fracMGTt_50
If final germination percentage is less than 10%, a warning is given, as the results may not be informative.
A list with the following components:
data |
A data frame with the data used for computing the model. |
Parameters |
A data frame of parameter estimates, standard errors and p value. |
Fit |
A one-row data frame with estimates of model fitness such as log likelyhoods, Akaike Information Criterion, Bayesian Information Criterion, deviance and residual degrees of freedom. |
a |
The asymptote or the maximum cumulative germination percentage. |
b |
The mathematical parameter controlling the shape and steepness of the germination curve. |
c |
The half-maximal activation level. |
y0 |
The intercept on the y axis. |
lag |
Time at germination onset. |
Dlag50 |
duration between the time at germination onset (lag) and that at 50% germination. |
t50.total |
Time required for 50% of total seeds to germinate. Will
be |
txp.total |
Time required for x% (as specified in argument |
t50.Germinated |
Time required for 50% of viable/germinated seeds to germinate. |
txp.Germinated |
Time
required for x% (as specified in argument |
Uniformity |
Time interval between |
TMGR |
Time at maximum germination rate. |
AUC |
The estimate of area under the curve. |
MGT |
Mean germination time. |
Skewness |
Skewness of mean germination time. |
msg |
The message from
|
isConv |
Logical value indicating whether convergence was achieved. |
model |
The raw fitted model output as a list of class
|
x <- c(0, 0, 0, 0, 4, 17, 10, 7, 1, 0, 1, 0, 0, 0)
y <- c(0, 0, 0, 0, 4, 21, 31, 38, 39, 39, 40, 40, 40, 40)
int <- 1:length(x)
total.seeds = 50
# From partial germination counts
#----------------------------------------------------------------------------
FourPHFfit(germ.counts = x, intervals = int, total.seeds = 50, tmax = 20)
# From cumulative germination counts
#----------------------------------------------------------------------------
FourPHFfit(germ.counts = y, intervals = int, total.seeds = 50, tmax = 20,
partial = FALSE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.