Skip to content

epiforecasts/andv-linelist-analysis

Repository files navigation

Andes virus — joint estimation of incubation, transmission timing, and R(t)

Docs (dev)

Full documentation — model description, analysis walkthrough, API reference — at https://epiforecasts.io/andv-linelist-analysis/dev.

A Julia + Turing model fitted to the Epuyén 2018–19 Andes hantavirus outbreak (Martínez et al. 2020, NEJM).

The model estimates four things from the line list in the paper: the incubation period, the transmission timing of each secondary infection relative to its source's symptom onset, a weekly time-varying reproduction number, and offspring dispersion. Exposure and onset dates are interval-censored. The model handles that by giving each case a continuous latent infection time and a continuous latent onset time, each sampled within its recorded window. Generation interval and serial interval are derived from the fitted distributions in post-processing.

Results

Rendered walkthrough with all tables and figures regenerated from the current model: https://epiforecasts.io/andv-linelist-analysis/dev/analysis.

Raw artefacts from the most recent main build (output/posterior.csv and all figures): https://github.com/epiforecasts/andv-linelist-analysis/releases/tag/main-latest.

Methods and limitations

Model description and priors are in MODEL.md. Known caveats are in LIMITATIONS.md.

Repository layout

src/
  TransmissionLinelist.jl    — module entry point and imports
  data.jl          — line list loading and bin definitions
  model.jl         — the joint Turing model (incubation, transmission timing, R(t))
  plots.jl         — figure construction
  postprocess.jl   — diagnostics, summaries, CSV output
  main.jl          — CLI entry point (argument parsing)
data/
  linelist.csv     — Epuyén outbreak line list (Martínez Table S2)
docs/              — Documenter site with the analysis walkthrough
Project.toml       — Julia package manifest
Manifest.toml      — locked dependency versions
LICENSE            — MIT

Posterior and figures are regenerated locally by analyse() and published to the main-latest release on every push to main; neither is committed.

Data

data/linelist.csv is hand-encoded from Table S2 of the supplementary appendix of Martínez et al. 2020. Columns: patient ID, age, sex, residence, exposure place, exposure window (lower / upper), onset date, attributed source (or index for the zoonotic case), relationship to source, transmission wave, observed offspring count Z, and free-text notes.

Running

julia --project=. -t auto -m TransmissionLinelist

A few minutes on a laptop. Posterior saved to output/posterior.csv and figures to figures/.

Options:

-d, --data      path to linelist CSV   (default: data/linelist.csv)
-o, --output    output directory        (default: output/)
-f, --figures   figures directory       (default: figures/)
-n, --samples   NUTS samples per chain  (default: 1000)
-c, --chains    number of chains        (default: 4)
-s, --seed      random seed             (default: 20260508)

Example:

julia --project=. -t auto -m TransmissionLinelist -- -n 500 -c 2 -o results/

From the REPL

julia> using TransmissionLinelist
julia> analyse()                                           # all defaults
julia> analyse(chains=2, samples=500, output="results/")  # with options

Citing

If you use this code or the line list encoding, please cite:

Martínez VP, Di Paola N, Alonso DO, et al. "Super-spreaders" and person-to-person transmission of Andes virus in Argentina. N Engl J Med 2020;383:2230–41. doi:10.1056/NEJMoa2009040

The reporting follows the recommendations of:

Charniga K, et al. Best practices for estimating and reporting epidemiological delay distributions of infectious diseases. 2024. arXiv:2405.08841

Authors

Sebastian Funk, Sam Abbott (London School of Hygiene & Tropical Medicine).

License

MIT (see LICENSE).

About

Joint estimation of incubation period, transmission timing, and R(t) for the Epuyén ANDV outbreak

Resources

License

Code of conduct

Stars

9 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors