Skip to content

EpiAware/JuliaForIDM

Repository files navigation

Julia for Applied Infectious Disease Modelling

Render and Deploy Paper Citation

Abstract

Infectious disease modelling plays a critical role in public health decision-making, from outbreak response to long-term planning. The field faces mounting challenges as models grow increasingly complex, incorporate greater ranges of real-time data streams, and explore more intervention scenarios. Current approaches require either sacrificing performance for ease of use in high-level languages like R and Python, or accessibility for speed in low-level implementations. Domain-specific tools provide targeted solutions but lack integration with broader scientific computing advances, whilst general-purpose frameworks have steep learning curves, and often don't have all the features needed for applied infectious disease modelling. Julia addresses these challenges through its combination of multiple dispatch, native performance, and coherent scientific ecosystem. We examine Julia's key features and summarise its ecosystem for infectious disease modelling, spanning the SciML ecosystem, JuMP, AlgebraicJulia, Turing.jl, Gen.jl and RxInfer.jl, other model fitting options, neural networks, agent-based modeling, automatic differentiation, and data science tools. Through three case studies, we show how these components integrate to support complex epidemiological models. Julia offers a unique combination of performance, expressiveness, and composability that addresses limitations of both pipeline and monolithic modelling approaches.

📖 Read the paper

Citation

Citation information will be added upon publication.

Prerequisites

1. Quarto

Follow the instructions at quarto.org to install Quarto.

Extensions Used:

  • authors-block: Enhanced author information formatting with institutional affiliations and ORCID integration

2. Julia

Follow the instructions at juliaup to install Julia using the official Julia version manager.

3. Task (Optional)

Install Task for automated workflow management.

Building the Paper

Using Task (Recommended)

task

This automatically handles Julia environment setup and Quarto rendering.

Available tasks:

  • task - Complete workflow (default)
  • task preview - Preview document with live reload
  • task repl - Launch Julia REPL with project environment
  • task --list - Show all available tasks

Manual Execution

  1. Install Julia 1.11+ (we expect any version of 1.11 to work well):

    juliaup add 1.11.7
    juliaup override set 1.11.7
  2. Install Quarto extensions:

    quarto add kapsner/authors-block --no-prompt
  3. Set up Julia environment:

    julia

    Then in the Julia REPL:

    using Pkg
    Pkg.activate(".")
    Pkg.instantiate()
  4. Render the paper:

    quarto render

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •