Skip to contents

Compiles 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, and mild that 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 to c(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)
} # }