A composable Julia ecosystem for infectious disease modelling.
Infectious disease models that integrate multiple data sources provide better evidence for outbreak response than chains of separate models, but building them is slow and requires expertise across domains. Composable modelling, where validated components combine into joint models that properly propagate uncertainty, addresses this but requires an ecosystem of reusable infectious disease model components. We believe Julia is the best language for this ecosystem due to its type system, multiple dispatch, automatic differentiation support, and existing scientific computing infrastructure (SciML, Turing.jl, Distributions.jl), which provide the foundations composable modelling needs.
In R, we have built the epinowcast ecosystem (packages, community forum, seminar series) and developed several other widely used packages including EpiNow2 and scoringutils. These are used by infectious disease academics and public health departments internationally. We want to create something equivalent in Julia: a domain-focused ecosystem in the mould of SciML or Turing.jl, with the community infrastructure of rOpenSci and the domain specificity of SpeedyWeather.jl.
| Package | Description |
|---|---|
| CensoredDistributions.jl | Handles common biases in epidemiological delay distributions |
| ReparameterisedDistributions.jl | Alternative parameterisations for Distributions.jl |
| EpiAwareR | R interface prototype |
| Package | Description |
|---|---|
| ModifiedDistributions.jl | Weighted distributions, Float32-based distributions, and similar |
| GenerationTime.jl | Representing and estimating generation time distributions |
| DEdiseasecomponents.jl | Reusable components for differential equation infectious disease models |
| epiaware.github.io | Centralised ecosystem documentation |
| Repo | Description |
|---|---|
| ComposableProbabilisticIDModels | The case for composable probabilistic infectious disease models |
| JuliaForIDM | Julia for applied infectious disease modelling |
We are at an early stage and actively looking for collaborators. If you are interested in composable modelling, infectious disease epidemiology, or Julia ecosystem development, please open an issue or get in touch.