
Estimate Prior Distribution for Symptomatic Shedding Rate (zeta_1)
Source:R/est_zeta_1_prior.R
est_zeta_1_prior.RdCompiles a meta-analysis of published Vibrio cholerae shedding anchors (stool concentration x time-averaged daily stool volume) for symptomatic infections and fits a lognormal prior on the per-person-per-day shedding rate used in the MOSAIC environmental reservoir update: $$W(t+1) \mathrel{+}= (1 - \theta_j) \cdot \mathrm{Poisson}(\zeta_1 \cdot I_{\mathrm{sym}})$$ so \(\zeta_1\) is the expected total V. cholerae cells shed per symptomatic infected person per day during the shedding phase. The \(\gamma_1\) parameter handles the shedding-phase duration; \(\zeta_1\) is a daily rate, not a total-per-infection.
Usage
est_zeta_1_prior(
PATHS,
severity_mix = c(severe = 0.2, moderate = 0.4, mild = 0.4)
)Arguments
- PATHS
A list of paths generated by
get_paths(). Must include:MODEL_INPUT: directory where parameter CSVs are saved.
DOCS_FIGURES: directory where the summary figure is saved.
- severity_mix
Named numeric vector with entries
severe,moderate, andmildthat sum to 1. Used only for the severity-weighted pool row of the table and forest plot, which has weight 0 and does not enter the fit. Defaults toc(severe = 0.2, moderate = 0.4, mild = 0.4)(endemic mix; the severe fraction follows Harris 2012's ~20 percent of symptomatic cases being severe).
Value
Invisibly returns a list with elements:
data: the source meta-analysis table.fit: fitted lognormal parameters (meanlog,sdlog,median,mode,mean,ci_lower,ci_upper,n_sources,mu_log10,sd_log10).param_df: long-format parameter data frame (as saved to disk).prediction: density grid on linear and log10-x scales.sensitivity: leave-one-anchor-out sub-fits (include_calib,volume_peak,volume_low).
Details
The function assembles a literature table of per-person-per-day shedding
anchors constructed as stool concentration (\(c\), cells per mL) times
time-averaged daily stool volume (\(V\), mL per day) for defined
severity classes (severe, moderate, mild). A weighted lognormal is then fit
by maximum-likelihood on the log10 scale. A severity-weighted pool row is
also built from the severity_mix argument, but it is shown in the forest
plot only (weight 0; see Details).
Assembly equation. Each literature entry contributes
\(\zeta_{1,i} = c_i \times V_i\) with lower and upper bounds taken from
the spread of the concentration and volume anchors for that severity class.
Time-averaged stool volumes are used (V_sev = 4, V_mod = 2,
V_mild = 0.3 L/day, lowered in v0.29.1 from 8 / 4 / 0.5 to average over
the 1-2 week clinical course) because the engine's Poisson update multiplies the rate
by the current I_sym compartment, which already integrates the shedding
course via \(\gamma_1\). Peak purging rates (~1 L/h, ~14-24 L/day) are
treated as upper-bound sensitivity rows, not the central anchor.
Severity-weighted pool rows. The pool rows (endemic mix from
severity_mix, and a fixed outbreak mix 0.35 / 0.40 / 0.25) are derived
from the severe, moderate and mild class rows, so since v0.29.1 they carry
weight 0: fitting them as well would count the severe class three times.
severity_mix therefore changes the pool row shown in the forest plot but
not the fitted prior. At the default mix the severe class is ~91 percent of
the pool (\(0.2 \times 4 \times 10^{11}\) against
\(0.4 \times 2 \times 10^{10} + 0.4 \times 3 \times 10^{7}\)), because
\(c_{\mathrm{sev}} = 10^8\) is 1000x \(c_{\mathrm{mild}} = 10^5\) cells/mL.
Weighted MLE on log10 scale. Weighted mean and SD on the log10
scale are converted to lognormal meanlog and sdlog:
$$\mu_{\log_{10}} = \frac{\sum w_i \log_{10}(\zeta_{1,i})}{\sum w_i}, \quad
\sigma^2_{\log_{10}} = \frac{\sum w_i (\log_{10}(\zeta_{1,i}) - \mu_{\log_{10}})^2}{\sum w_i}$$
then meanlog = mu_log10 * ln(10) and sdlog = sigma_log10 * ln(10).
Sensitivity returns. The $sensitivity list contains three
alternative fits: include_calib (refits WITH the MOSAIC calibration
posterior row at weight 0.25, producing a much wider sdlog because the
Frame-B-calibrated value is 7 OOM below biological-units literature
anchors), volume_peak (rescales all severe-class V = 4 L/day rows to
V = 10 L/day), and volume_low (rescales them to V = 1.5 L/day).
Per-day vs per-infection. zeta_1 is a per-day shedding rate
during the symptomatic infectious period; \(\gamma_1^{-1}\) (~10 d)
governs the duration. The cumulative cells shed per symptomatic
infection is therefore approximately zeta_1 / gamma_1, and the
per-infection contribution ratio vs asymptomatic is
zeta_ratio * (gamma_2 / gamma_1) (~5x the per-day ratio under current
gamma priors). When comparing this prior to literature that quotes
cumulative stool output per infection, apply the duration multiplier.
Relation to documented priors. Earlier MOSAIC-docs narrative
states zeta_1 ~ Uniform(10^4, 10^8). That range derives from the
Frame-B calibration rescaling and is superseded by this lognormal
literature-derived prior. The new prior's 95% CI extends to ~10^13,
well above the stale Uniform upper bound.
Primary source notes are stored in
claude/zeta_priors_update/zeta_sources/ (14 PDFs + 32 source notes).
See claude/zeta_priors_update/plan_zeta_priors_implementation.md for
the full provenance.
References
Nelson EJ, Harris JB, Morris JG, Calderwood SB, Camilli A (2009). Cholera transmission: the host, pathogen and bacteriophage dynamic. Nat Rev Microbiol 7(10):693-702.
Merrell DS, Butler SM, Qadri F, et al. (2002). Host-induced epidemic spread of the cholera bacterium. Nature 417(6889):642-45.
Harris JB, LaRocque RC, Qadri F, Ryan ET, Calderwood SB (2012). Cholera. Lancet 379(9835):2466-76.
Nelson EJ, Grembi JA, Chao DL, et al. (2020). Gold standard cholera diagnostics are tarnished by lytic bacteriophage and antibiotics. J Clin Microbiol 58(9).
Kaper JB, Morris JG, Levine MM (1995). Cholera. Clin Microbiol Rev 8(1):48-86.
Codeco CT (2001). Endemic and epidemic dynamics of cholera: the role of the aquatic reservoir. BMC Infect Dis 1:1.
Nelson EJ, Chowdhury A, Flynn J, et al. (2008). Transmission of V. cholerae is antagonized by lytic phage and entry into the aquatic environment. PLoS Pathog 4(10):e1000187.
Fung IC (2014). Cholera transmission dynamic models for public health practitioners. Emerg Themes Epidemiol 11:1.
Kirpich A, Weppelmann TA, Yang Y, et al. (2015). Cholera transmission in Ouest Department of Haiti. PLoS NTD.
Examples
if (FALSE) { # \dontrun{
PATHS <- get_paths()
est_zeta_1_prior(PATHS)
} # }