Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.0.7] - 2026-03-19

- Transfer repository to Jameel Institute @jameel-institute oragnisation
- Added small script `docs/sync_readme.jl` to update package version in website index and Readme.md

## [0.0.6] - 2026-03-16

### Changed (Breaking)
Expand Down
26 changes: 14 additions & 12 deletions Manifest.toml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "Daedalus"
uuid = "05fc9732-d2bf-478b-9a56-f88318f7a02f"
authors = ["Pratik Gupte <pratikgupte16@gmail.com> and contributors"]
version = "0.0.6"
version = "0.0.7"

[deps]
CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b"
Expand Down
44 changes: 35 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,58 @@
# Daedalus
# Daedalus.jl

[![License:MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
[![Version](https://img.shields.io/badge/version-0.0.7-aquamarine.svg)](https://jameel-institute.github.io/Daedalus.jl/dev/)
[![Project Status: Concept – Minimal or no implementation has been done yet, or the repository is only intended to be a limited example, demo, or proof-of-concept.](https://www.repostatus.org/badges/latest/concept.svg)](https://www.repostatus.org/#concept)
[![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://pratikunterwegs.github.io/Daedalus.jl/dev/)
[![Build Status](https://github.com/pratikunterwegs/Daedalus.jl/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/pratikunterwegs/Daedalus.jl/actions/workflows/CI.yml?query=branch%3Amain)
[![Coverage](https://codecov.io/gh/pratikunterwegs/Daedalus.jl/branch/main/graph/badge.svg)](https://codecov.io/gh/pratikunterwegs/Daedalus.jl)
[![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://jameel-institute.github.io/Daedalus.jl/dev/)
[![Build Status](https://github.com/jameel-institute/Daedalus.jl/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/jameel-institute/Daedalus.jl/actions/workflows/CI.yml?query=branch%3Amain)
[![Coverage](https://codecov.io/gh/jameel-institute/Daedalus.jl/branch/main/graph/badge.svg)](https://codecov.io/gh/jameel-institute/Daedalus.jl)
[![SciML Code Style](https://img.shields.io/static/v1?label=code%20style&message=SciML&color=9558b2&labelColor=389826)](https://github.com/SciML/SciMLStyle)

_Daedalus.jl_ is a Julia package that aims to mirror the [R package {daedalus}](https://github.com/jameel-institute/daedalus).

**Note** that this is a personal project, and comes with no current or future support.
This documentation section is intended as a learning experience (for me) in writing Julia package documentation.
_Daedalus.jl_ is developed at the [Jameel Institute](https://www.imperial.ac.uk/jameel-institute/) at Imperial College London as part of the [Jameel Institute-Kenneth C. Griffin Initiative for the Economics of Pandemic Preparedness (EPPI)](https://new.express.adobe.com/webpage/TXLBkz1sN9FI5?), in collaboration with the [RESIDE research software engineering team](https://reside-ic.github.io/about/).

**Note that** functionality compared to the R package is still limited.

## Installation

_Daedalus.jl_ can be installed from GitHub using the Julia package manager _Pkg.jl_.

```julia
using Pkg
Pkg.add(url="git@github.com:pratikunterwegs/Daedalus.jl.git")
Pkg.add(url="git@github.com:jameel-institute/Daedalus.jl.git")
```

## Quick start

```julia
using Daedalus
using Plots

# pump up r0 to get peak within 50 days
infection = Daedalus.DataLoader.get_pathogen("sars-cov-2 delta")
infection.r0 = 5.0
data = daedalus("Canada", infection, time_end=600.0);

# plot exposed group
times = Daedalus.Outputs.get_times(data)
# functioning get_values() bins into 90 days by default, set to 1 for no binning
exposed = Daedalus.Outputs.get_values(data, "E", 1)
hosp = Daedalus.Outputs.get_values(data, "H", 1)

result = daedalus("Australia", "sars-cov-2 delta", time_end=600.0)
# plot the output to see lag in hospitalisations
plot(times, exposed, label="exposed")
plot!(times, hosp, label="hosp")
xlabel!("Time (days)")
ylabel!("# individuals")
```

```julia
# plot recorded Rt
vecRt = Daedalus.Outputs.get_values(data, "Rt", 1)
plot(times, vecRt, label="Rt")
xlabel!("Time (days)")
ylabel!("Rt")
```

## Related projects
Expand All @@ -35,4 +61,4 @@ result = daedalus("Australia", "sars-cov-2 delta", time_end=600.0)

## Help

To report a bug, request a feature, or just start a discussion, [please open an issue](https://github.com/pratikunterwegs/Daedalus.jl/issues/new).
To report a bug, request a feature, or just start a discussion, [please open an issue](https://github.com/jameel-institute/Daedalus.jl/issues/new).
26 changes: 15 additions & 11 deletions docs/Manifest.toml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ makedocs(;
sitename = "Daedalus.jl",
format = Documenter.HTML(;
prettyurls = get(ENV, "CI", "false") == "true",
canonical = "https://pratikunterwegs.github.io/Daedalus.jl",
canonical = "https://jameel-institute.github.io/Daedalus.jl",
edit_link = "main",
assets = String[],
size_threshold_ignore = [
Expand All @@ -33,6 +33,6 @@ makedocs(;
)

deploydocs(;
repo = "github.com/pratikunterwegs/Daedalus.jl",
repo = "github.com/jameel-institute/Daedalus.jl",
devbranch = "main"
)
37 changes: 37 additions & 0 deletions docs/src/country_data.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,3 +94,40 @@ Each function accepts either a country name `String` or a `CountryData` struct:
| `prepare_contacts(country)` | Scaled 49×49 contact matrix |
| `worker_contacts(country)` | Per-capita within-sector contact rates (length-45 vector) |
| `prepare_demog(country)` | 49-element population vector |

## Running Daedalus with country and infection structs

Pass a country name string directly to `daedalus` to use country-specific demography, contact patterns, and workforce data.

```@example uk_daedalus
using Daedalus
using Plots

# Run the model using UK demography and contact patterns
infection_uk = Daedalus.DataLoader.get_pathogen("sars-cov-2 delta")
infection_uk.r0 = 2.5
data_uk = daedalus("United Kingdom", infection_uk, time_end=600.0)

times_uk = Daedalus.Outputs.get_times(data_uk)
exposed_uk = Daedalus.Outputs.get_values(data_uk, "E", 1)
hosp_uk = Daedalus.Outputs.get_values(data_uk, "H", 1)

plot(times_uk, exposed_uk, label = "exposed")
plot!(times_uk, hosp_uk, label = "hospitalised")
xlabel!("Time (days)")
ylabel!("# individuals")
title!("United Kingdom — SEIR dynamics")
```

```@example uk_daedalus
# Effective reproduction number over time
rt_uk = Daedalus.Outputs.get_values(data_uk, "Rt", 1)
plot(times_uk, rt_uk, label = "Rt", color = :red)
hline!([1.0], linestyle = :dash, color = :black, label = "Rt = 1")
xlabel!("Time (days)")
ylabel!("Rt")
title!("United Kingdom — effective reproduction number")
```

See [Country and pathogen data](@ref) for a full overview of the bundled
data and how to use pathogen-specific parameters.
Loading
Loading