Simulation, visualization, and inference tools for modelling the spread of infectious diseases with Julia
59 Stars
Updated Last
2 Years Ago
Started In
May 2015


DOI Latest Release License Build Status

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

More information

This package is detailed in this preprint article.

  title={Pathogen.jl: Infectious Disease Transmission Network Modelling with {Julia}},
  author={Justin Angevaare and Zeny Feng and Rob Deardon},
  url = {}}

Used By Packages

No packages found.