Skip to contents

The function caRetRTE() simulates the growth of L. monocytogenes in RTE diced cantaloupe during display at retail, and is based on the function caGrowthBaranyi() The algorithm considers that RTE diced cantaloupe packs from every lot are subjected to the same lnQt (passed from the previous logistic stage) and the same retail temperature (Temp). Retail time is sampled at the unit level. The input data provides the algorithm with the lot-specific values of EGR5 and the. Pert distributions represent the variability in transport time and temperature.

Usage

caRetRTE(
  data = list(),
  MPD = NULL,
  Tmin = -2.0196,
  tempMin,
  tempMode,
  tempMax,
  timeMin,
  timeMode,
  timeMax
)

Arguments

data

a list of:

N

(CFU) A matrix containing the numbers of L. monocytogenes in packs of RTE diced cantaloupe at the start of retail, from contaminated lots;

P

Prevalence of contaminated lots (scalar);

lnQt

Natural log of the Q parameter at the start of retail (matrix);

lotEGR5

(\(h^{-1}\)) Growth rate of L. monocytogenes in cantaloupe flesh specific to every lot (vector);

unitSize

(g) Weight of a pack of cantaloupe dices.

MPD

(log10 CFU/g) Maximum population density of L. monocytogenes in cantaloupe flesh (scalar).

Tmin

(\(^\circ\) C) Nominal minimum temperature for growth of L. monocytogenes in cantaloupe flesh (suggested \(default=-2.0196\ ^\circ C\)) (scalar).

tempMin

(\(^\circ\) C) Minimum retail temperature (scalar).

tempMode

(\(^\circ\) C) Mode of the retail temperature (scalar).

tempMax

(\(^\circ\) C) Maximum retail temperature (scalar).

timeMin

(h) Minimum retail time (scalar).

timeMode

(h) Mode of the retail time (scalar).

timeMax

(h) Maximum retail time (scalar).

Value

A list of five elements:

N

(CFU) A matrix containing the numbers of L. monocytogenes in packs of RTE diced cantaloupe at the end of retail, from contaminated lots;

P

Prevalence of RTE diced cantaloupe lots contaminated with L. monocytogenes (scalar);

lnQt

Natural log of the Q parameter at the end of retail (matrix);

lotEGR5

(\(h^{-1}\)) Growth rate of L. monocytogenes in cantaloupe flesh specific to every lot (vector);

unitSize

(g) Weight of a pack of cantaloupe dices.

Note

The suggested parameters for the Pert distribution of retail temperature are taken from Derens-Bertheau et al. (2015) : \(Temp\_min=1.4\ ^\circ C\), \(Temp\_mode=5.6\ ^\circ C\) and \(Temp\_max=9.8\ ^\circ C\). The parameter \(Tmin=-2.0196\ ^\circ C\) was determined from fitting a square-root model to data extracted from multiple sources (refer to the function caGrowthBaranyi()). Parameters for the retail time distribution should be defined by the user and/or tested in scenarios. In addition to the final L. monocytogenes numbers, the function also returns the values of lotEGR5 and lnQt so that the L. monocytogenes growth could be followed up in subsequent logistics stages.

References

Derens-Bertheau E, Osswald V, Laguerre O, Alvarez G (2015). “Cold chain of chilled food in France.” International Journal of Refrigeration,, 52(161-167).

Pouillot R, Delignette-Muller M (2010). “Evaluating variability and uncertainty in microbial quantitative risk assessment using two R packages.” International Journal of Food Microbiology, 142(3), 330-40.

Author

Ursula Gonzales-Barron ubarron@ipb.pt

Examples

library(extraDistr)
dat <- caPrimaryProduction(
                           nLots = 100,
                           sizeLot = 100)
                           dat$unitSize = 900
                           dat$lotEGR5 = 0.3
                           dat$lnQt = 0.2
str(dat)
#> List of 11
#>  $ lotMeans   : num [1:100] 0.00179 0.00011 0.01734 0.00003 0.00016 ...
#>  $ unitsCounts: num [1:10000] 0.001 0 0.011 0 0 0 0.001 0.004 0.001 0.003 ...
#>  $ N          : int [1:100, 1:100] 1 0 11 0 0 0 1 4 1 3 ...
#>  $ P          : num 0.315
#>  $ Origin     : chr [1:100] "soil" "soil" "soil" "irrig" ...
#>  $ nLots      : num 100
#>  $ sizeLot    : num 100
#>  $ cantaWeight: num 1000
#>  $ unitSize   : num 900
#>  $ lotEGR5    : num 0.3
#>  $ lnQt       : num 0.2
#>  - attr(*, "class")= chr "qraLm"
EndRetail <- caRetRTE(dat,
                      MPD = 10,
                      Tmin = -2.0196,
                      tempMin = 1.4, 
                      tempMode = 5.6, 
                      tempMax = 9.8,
                      timeMin = 2,
                      timeMode = 5,
                      timeMax = 9
                      )
str(EndRetail)
#> List of 11
#>  $ lotMeans   : num [1:100] 0.006056 0.000333 0.036822 0.000244 0.001056 ...
#>  $ unitsCounts: num [1:10000] 0.00222 0 0.02667 0 0 ...
#>  $ N          : num [1:100, 1:100] 2 0 24 0 0 0 2 27 2 18 ...
#>  $ P          : num 0.315
#>  $ Origin     : chr [1:100] "soil" "soil" "soil" "irrig" ...
#>  $ nLots      : num 100
#>  $ sizeLot    : num 100
#>  $ cantaWeight: num 1000
#>  $ unitSize   : num 900
#>  $ lotEGR5    : num 0.3
#>  $ lnQt       : num [1:100, 1:100] 1.23 0 1.3 0 0 ...
#>  - attr(*, "class")= chr "qraLm"
str(EndRetail$lnQt)
#>  num [1:100, 1:100] 1.23 0 1.3 0 0 ...