Bundibugyo Ebola virus — Bayesian delay-distribution and stratified CFR estimation from the 2012 Isiro outbreak
A Julia + Turing + CensoredDistributions.jl re-analysis of the only publicly accessible Bundibugyo ebolavirus (BDBV) line list — the 2012 Isiro outbreak in Haut-Uélé, DRC, as deposited by Rosello et al. 2015 in eLife — following the best-practice checklist of Charniga et al. 2024 in PLOS Comput Biol.
🌐 Analysis walkthrough — full tables, figures, and diagnostics regenerated from the current model on every push to main (HTML)
⚠️ Limitations — read before using these estimates: data, model, inference, and generalisability caveats (HTML)
✅ Charniga 2024 checklist — best-practice item-by-item compliance table (HTML)
📦 Posterior CSV and figures — main-latest rolling release bundle
📖 Model description — priors, likelihood, inference (HTML)
📑 API reference — exported functions (HTML)
Headline estimates
All four delays fitted as Gamma (WAIC-selected, doubly censored). Posterior median and mean with 95% credible intervals, alongside the Rosello et al. 2015 Table 5 mean (SD) for direct comparison — empirical summary statistics of the same data after their 30-day cap on the raw delays.
| Delay | n | Gamma median (95% CrI), days | Gamma mean (95% CrI), days | Rosello mean (SD) |
|---|---|---|---|---|
| Onset → admission | 40 | 2.96 (2.06 – 4.01) | 4.03 (3.08 – 5.46) | 4.00 (3.27) |
| Admission → death | 22 | 6.42 (4.47 – 8.70) | 7.60 (5.62 – 10.42) | 7.59 (5.52) |
| Admission → discharge | 15 | 5.33 (2.82 – 8.87) | 7.70 (4.81 – 13.81) | 8.00 (6.56) |
| Onset → notification | 38 | 11.07 (6.43 – 17.39) | 19.82 (13.64 – 29.94) | 8.83 (8.29) |
Rosello's onset → notification fit applied a 30-day cap; without it our posterior mean runs roughly twice as long. See the analysis walkthrough for the full Gamma summary, posterior predictive checks and convolved marginals. Per-draw shape, scale and SD for each atomic delay are in posterior_gamma.csv of the main-latest release.
Running
# Headline run with Gamma (default after WAIC selection)
julia --project=. -t auto -m BdbvLinelist -- -f gamma
# Compare all three families via WAIC
julia --project=. -t auto -m BdbvLinelist -- --compare
# From the REPL
julia> using BdbvLinelist
julia> chn, post, diag = analyse(family = :gamma)
julia> results = compare_families()
julia> sensitivity_results = sensitivity()
julia> save_figure(plot_ppc(chn, build_data(load_linelist()), :gamma), "figures/ppc_gamma.png")A minute or two per family on a laptop. Posterior CSV is written to output/ and figures to figures/ locally; both directories are gitignored. The rolling main-latest release publishes the canonical posterior CSV and figure bundle regenerated on every push to main, and the docs site renders the same figures inline.
Data provenance
data/linelist.csv is the Bundibugyo subset (n = 52) of the aggregated seven-outbreak DRC line list (n = 996) published as supplementary file 1 of:
Rosello A, Mossoko M, Flasche S, et al. Ebola virus disease in the Democratic Republic of the Congo, 1976–2014. eLife 2015;4:e09015. doi:10.7554/eLife.09015
Licensed CC-BY 4.0. The five admission-date encoding outliers (−89, −5, −4, −1, 328720 days from onset) are programmatically set to missing during loading. One notification-date outlier (delay of −62 days) is similarly dropped. No other modifications.
Authors
Sebastian Funk and Sam Abbott (London School of Hygiene & Tropical Medicine).
License
MIT (see LICENSE).