Simulation, visualization, and inference of individual level infectious disease models with Julia
68 Stars
Updated Last
12 Months Ago
Started In
May 2015


DOI Latest Release License

test-lts test-stable test-nightly

Authors: Justin Angevaare, Zeny Feng, Rob Deardon

Epidemic curve

Pathogen.jl is a Julia software package for individual level models of infectious diseases (Deardon et al, 2010). It's capabilities include stochastic simulation and Bayesian inference of SEIR, SEI, SIR, and SI individual level models, with fully customizable functions describing individual specific transition rates between disease states (i.e. form of, and relevant risk factors to, susceptibility, transmissibility, latency, removal, and sparks functions). Pathogen.jl is written purely in Julia, which enables this generality without incurring performance costs.


Pathogen.jl infers transmission pathways (i.e. who-infected-who). This inference is completed using a Gibbs step in our specialized MCMC algorithm. This specialized MCMC algorithm also performs event time data augmentation. A detailed overview of this algorithm can be found here.


The current release can be installed from the Julia REPL with:

pkg> add Pathogen

The development version (master branch) can be installed with:

pkg> add Pathogen#master

Posterior Transmission Network

Examples of Pathogen.jl workflow are included in the examples directory as a Jupyter notebooks.

  1. SIR simulation, inference, and visualization
  2. Analysis of a Tomato Spotted Wilt Virus experimental epidemic
  3. Analysis of 1861 Hagelloch Measles outbreak Epidemic simulation

Citation and more information

This package is detailed in Pathogen.jl: Infectious Disease Transmission Network Modeling with Julia, in the Journal of Statistical Software.

  title   = {Pathogen.jl: Infectious Disease Transmission Network Modeling with Julia},
  author  = {Angevaare, Justin and
             Feng, Zeny and
             Deardon, Rob},
  year    = {2022},
  journal = {Journal of Statistical Software},
  volume  = {104},
  number  = {4},
  pages   = {1–30},
  url     = {},
  doi     = {10.18637/jss.v104.i04}}

Used By Packages

No packages found.