0% found this document useful (0 votes)
75 views5 pages

DMFit

1) The document provides instructions for preparing data and running the DMFit program to fit sigmoid curves to microbial growth or decay data. 2) Data can be entered in a spreadsheet with time in one column and observed values in another, or as separate CSV files with time and values in the first two columns. 3) DMFit fits the Baranyi and Roberts sigmoid model with parameters for rate, lag time, initial and final values, and optional curvature parameters. 4) The index sheet is used to input data file names, provide initial parameter estimates, and view final fitted parameters and error values.

Uploaded by

Elena Perks
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
75 views5 pages

DMFit

1) The document provides instructions for preparing data and running the DMFit program to fit sigmoid curves to microbial growth or decay data. 2) Data can be entered in a spreadsheet with time in one column and observed values in another, or as separate CSV files with time and values in the first two columns. 3) DMFit fits the Baranyi and Roberts sigmoid model with parameters for rate, lag time, initial and final values, and optional curvature parameters. 4) The index sheet is used to input data file names, provide initial parameter estimates, and view final fitted parameters and error values.

Uploaded by

Elena Perks
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

DATA PREPARATION

Create an index sheet (see Index0 in the enclosed demo INDEX.XLS) and put your curve in a datasheet, as in the Logc
sheet in the demo. Make sure that the curve names appear in the first column> and that their first character is alphabetic
(not a number). The actual curves must be in the respective second and third columns as shown in the 'Logc' sheet. Note
that the name of the datasheet (logc in our example) must be identical to the heading of the first column of the index sheet.
Alternatively, the curves can be saved in a working directory; one curve - in one CSV file, consisting of time and observed
values in the first two columns. The files containing the measured points of the curves must have the format given in the
demo below. Again, the first row must contain the heading!

The values in the datasheet of observations are numbers (except the heading), showing either increasing or decreasing
tendency. Only those values are considered which are larger than the value 'Lower' and 'Upper' set in the Generic control
parameters menupoint. A third column, next to the time and observation columns, is optional; here, you can give weights
for the data points. In this case, the heading, too, and all the rows should contain 3 items (x variable, y variable, weight).
The most frequent reason for program abort is the inappropriate data format! If your curves are in separate files, make sure
that, even if the data input was made in a spreadsheet and saved as CSV files, these files can be seen as CSV columns, for
example by a simple text editor like NOTEPAD of Windows. The files of the measured curves should not contain empty
lines (e.g. empty lines after the last points) or lines with commas only!

VARIABLES
DMFit fits the sigmoid function described by Baranyi and Roberts (1994).

It has 4 main parameters:

rate, lag, y0, yEnd

and two curvature parameters:

mCurv, nCurv.

Estimates of the four main parameters will be in the output columns of the index sheet.

The primary parameter, called rate here, is the potential maximum rate of the model (mumax in the original paper), which
can be negative, too, for decay. It is only a potential rate because, theoretically, this rate is never exactly reached by the
fitted curve, due to the applied limiting functions which has a slight effect even in the linear phase. However, the difference
between the potential and the real maximum rate (denoted as 'rate(num)' by the program) is negligible if the mCurve
curvature parameter is sufficiently large.

'lag' denotes the lag parameter as described by Baranyi and Roberts (1994).

The parameter y0 is the initial point of the sigmoid curve.

The parameter yEnd is the upper asymptote of the sigmoid curve (or lower asymptote if the curve is decreasing).

Page 1 of 5
Curvature parameters: nCurv and mCurv, (at the beginning and end of the linear phase, resp.) with values between 0 and
20. These parameters will not be optimised by the program, but possibly omitted, one or both of them, if parsimony
requires so.

The definition of mCurv is: mCurv=m*abs(yend-y0), where m is the Richard curvature (see Baranyi and Roberts, 2000).
The default value for mCurv is 10.

For the lower curvature parameter


a/ modelCode=2 (default value: nCurv=1 - original Dmodel);
b/ modelCode=3 (default value: nCurv=h0 - scalefree DModel).

The above two options can be set in the DMFit menupoint 'Generic control parameters'. The option 3 results in a scale-
independent model, which is useful for situations when other than bacterial viable counts.

Among the possible models, also Gompertz and Biphasic are listed for comparison purposes. The Gompertz function is
analysed extensively by Zwietering et al (1991) and this program uses the parateterisation he introduced. The biphasic
function consists of two joint linear segments. In that case, the slope of the first segment plays the role of mumax the
location of the joint is the 'lag' while the slope of the second segment will be the parameter 'yend'.

If you don't want DMFit to investigate, whether a curvature parameter can be zero, make its initial value bold, in the input
columns (before the thick line); this font generally does not allow an initial value to be changed.

No transition phase is equivalent to setting the respective curvature parameter to zero. For example, the setting nCurv=0
and mCurv=0 generates linear fit.

nCurv=9999, mCurv=9999 are also valid, symbolic values; they denote `infinity' to indicate that the curvatures are real
breakpoints (intercepting straight lines). In fact, values bigger than 20 are considered to be 9999.

INPUT PARAMETERS
As has been mentioned, in the input part of the index sheet, you can give initial values for the parameters (optional). This
helps the non-linear curve fitting algorithm to find, in dubious cases, the best fit in the vicinity of your given initial
estimates.

A possible index sheet input part looks like this:

logc temp pH mCurv nCurv rate lag y0 yEnd gear


salm25 10 5.63
salm26 15 5.63 10
salm27 20 5.63 10
salm28 25 5.63 0
salm29 30 5.63 0
salm30 15 5.89 0 0
salm31 25 5.89 0.3 6 3 9
salm41 30 6.77

For the index sheet, the observed curves could be recorded in two formats:

A/ The easieast is when the curves are in the same workbook, in a sheet called as the fist column heading (in our case it is
'logc').

B/ The curves can be also placed in the current directory, one curve in one CSV file, with two headed columns for the x
and y values. (Check, what the current directory is, by the FILE - OPEN Excel menupoints, without actually opening
anything). In our example, the Dpoint directory contains the respective CSV files

Page 2 of 5
SALM25.CSV - SALM41.CSV for decimal point users, and Dcomma directory is for users of comma as decimal separator.

The last column has a so-called gear control parameter. Its value can be from 0 to 5. Its effect is similar to its everyday
meaning: gear=5 (default) means fast progress in the fitting procedure but possibly missing a hidden best fit; gear=1 is slow
but more safe. The option gear=0 either generates a very rough fit or plots that particular curve which is induced by user
given initial estimates.

For the sake of example, consider the input table above. In the second row, the user prescribed mCurv=10 for the after-
linear-phase curvature parameter of the curve SALM26. For SALM27, the same happened, but for the curvature before the
linear phase. The bold font indicates that zero value for the respective curvature
would not be allowed, even if, according to the F-test, built in the program, the data indicated so.

In the next three lines, the instructions are the opposite: one, then both transition phases will be omitted, even if the data
indicated curvatures. SALM30, for example, will be fitted by a straight line.

For SALM31, initial parameter values are given. These are especially useful if combined with a gear=0 option. Namely, a
model for the main parameters (how they depend on temp and pH) can be typed in these cells, which means that the
predicted curves can be compared to actual data.

OUTPUT PARAMETERS
On the right hand side of the column gear, DMFit calculates the parameters of the best fit complying with the input
controls, as well as some other statistical/computational indicators:

errCode, mCurv, nCurv, rate(pot), se(rate), lag, se(lag), rate(num),rl=rate*lag, se(rl), yEnd, se(yEnd), se(fit), R^2_stat

l errcode: Error code :


0 - OK
1 - discontinuous problem: model of intercepting straight lines, or gear=0.
2 - some parameters have high standard error (rel. error is greater than 200%)
3 - ill conditioned problem
4 - running into singularities during the calculations
5 - error in input data in the index sheet or error in the raw data of the curves
6 - the curve to be fitted is not found in the actual directory

l mCurv, nCurv, rate... se(yEnd): Final estimates of the model parameters and their standard errors. The parameter
rate(num) is the potential maximum rate which, at small curvature parameters, can differ significantly from rate
(num), the maximum rate calculated numerically.

l se(fit): Standard error of fitting (estimated standard deviation of the observed independent values, assumed to be
constant).

l R^2_stat: Adjusted R-square statistics of the fitting.

RUNNING DMFIT ON YOUR CURVES


If you want to fit more curves, prepare them as described in the previos chapters.

With the index sheet as active sheet, set the cursor to the name of the curve to be fitted and select the first menupoint of
DMFit. This fits only one curve. If you select the second menupoints, that fits all the curves from the actual row and
below, up to an empty cell in the first column in the index sheet. The above two menupoints create plots about each fitting
and place them onto separate sheets, as you will notice. If you want to see these plots collected on one sheet, choose the
menupoint 'Insert/Control Plotsheet'. Then the graphs will be collected as small plots on a single sheet. These menupoints
plot the past fittings, retrospectively, together, so you can compare the effect of the different settings of the input part of the
index sheet.

The menupoint 'Parameters only' does not provide plots, only the parameters in the output part of the index sheet.
Page 3 of 5
Some technical limits:
- max number of points in a curve to be fitted = 500
- max number of plots: 120

DEMO
A curve is shown below.

time logc
17 1.44
25 1.7
43 1.44
69 2
90 4.49
114 6.22
118 6.5
121 6.52
138 7.26
139 7.2
143 7.28
162 7.15
169 7.35

This example, with weights, magnifies the significance of the first point while practically omits the 5th point:

TIME LOGC WEIGHTS


0.000 3.39 10
5.960 3.98 1
8.080 4.41 1
10.170 4.96 1
19.750 7.45 0.01
21.250 7.79 1
32.830 8.76 1
49.750 8.78 1

A DEMO

1. Copy and open the files DMFIT.XLS and INDEX.XLS in a working directory. The 'Logc' sheet of the INDEX.XLS
workbook are log10 cell concentrations of batch bacterial cultures, measured at 1.3% NaCl concentration, as part of the
Salmonella dataset used by Gibson et al (1988). You should see the menupoint DMFIT in the menubar.

2. Use the 'Insert plotsheet' from the "Utilities" menupoint of DMFit.

Primary modelling
3. In the Index sheet, position the cursor on the first curve, SALM25.CSV and select the menupoint DMFIT - FIT ALL
THE CURVES FROM ACTIVE ROW. You will get plots in the created 'Plots' sheet, as well as growth parameters in the
output part (right hand side of the column gear) of the index sheet.
Page 4 of 5
4. In the case of the curves SALM32 and SALM37, DMFit omitted the lag phase for the sake of parsimony. You may want
to force the lag phase by typing a curvature parameter in the respective rows of the column of 'nCurv'. By typing the default
curvature parameter '1' in bold, you have instructed the program not to omit it.

5. Position the cursor on the curve, SALM32 again and now choose the menupoint DMFIT - FIT THE CURVE AT
ACTIVE ROW. This operation overlays the new and the old fitted curves. The estimated growth parameters will be
slightly different; the new ones will appear in the output part of the index sheet. You can check the old parameter values
either in the sheet SALM25 or in the sheet `Params'.

6. You may want to repeat steps 5 and 6 with the curve SALM37, too.

Secondary modelling
7. You can model the variation of the estimated growth parameters with temperature (temp) and pH, for example with the
Regression or the Solver facility of Excel (or, in fact, with any multivariate regression program) and you can get the sheet
similar to the 'Modelsheet' included in the enclosed Index workbook. However, you
can use the 'Polynomial (linear regression)' of the 'Secondary modelling' facility of DMFit, too. In the latter case, you
produce a sheet as the one called `PolyModel'. In these cases we modelled how the fitted rate values in the column `rate
(pot)' depended on temperature and pH.

Nonlinear regression is for advanced users only!


For more details, see DMFit.pdf!

Validation
8. Copy the predicted values, generated by the secondary model, in the `rate' column of the input part of the index sheet
(left hand side of the column 'gear'). These will be now fixed parameters since we will set the 'gear' value for 0.

9. Repeat the steps 7 and 8 for the other growth parameters (not for the curvature parameters and for the initial value y0).
For the sake of simplicity, we took the parameters 'rl=rate*lag' and 'yEnd' constant (=1.7 and 9, respectively), and that
relation was used to give initial values for the 'lag' and 'yEnd' parameters.

10. Set the control 'gear' to zero and repeat the step 3. Now you can compare the environment-modelled, the fitted curves
and the original data.

After completing all the steps above, you should get a sheet like 'Fits & Preds' in the workbook INDEX.XLS.

SECONDARY MODELLING
DMFit also contains tools for linear and non-linear regression tools to model how some estimated parameters depend on
factors possibly recorded in the second, third, etc. columns of the index sheet.

When the curves are fitted, highlight the recorded values for the factors, together with the heading in the first row. The
response (specific rate, lag time) must be in the last column of the selection. (You can achieve the selection of non-adjacent
columns by pressing the 'Ctrl' button why clicking on a distant cell).

Empty or non-numerical cells (e.g. letters) are not allowed and a warning message is displayed in this case. To perform a
regression analysis, choose the menupoint DMFit 'Secondary modelling'.

MCP
Select the values of those environmental factors at which the observations were made (temp and pH columns in our index
sheet). Then run MCP, which will produce the Minimum Convex Polyhedron that 'shrink-wraps' the selected points, as in
the sheet 'MCP' in Index.xls. For more details see the PDF manual and Baranyi et al, 1996.

Page 5 of 5

You might also like