Skip to content

mrc-ide/dust2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d7b12cd · Mar 21, 2025
Nov 13, 2024
Mar 18, 2025
Mar 20, 2025
Feb 28, 2025
Nov 14, 2024
Nov 13, 2024
Feb 26, 2025
Mar 20, 2025
Jan 17, 2025
Jun 6, 2024
Nov 26, 2024
Nov 26, 2024
Nov 14, 2024
May 3, 2024
Mar 20, 2025
Feb 21, 2024
Sep 16, 2024
Feb 28, 2025
Mar 18, 2025
Feb 28, 2025
May 8, 2024

Repository files navigation

dust2 dust2 website

Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public. R-CMD-check codecov.io

The dust2 package provides an engine for running dynamical systems in discrete or continuous time and where the processes are stochastic or deterministic. We focus on Markov models where the problem reduces to describing how model state changes as a function of its current state (and possibly time) but without reference to where it has come from. Superficially, the problem is not very hard (see vignette("design")), but dust2 takes care of many practical and bookkeeping details such as:

  • Running systems in parallel on multi-core machines, even those involving random numbers
  • Providing useful verbs for efficiently working with groups of simulations (different parameters, starting conditions or stochastic realisations)
  • Comparing simulations to time-series of data, and implementing sequential Monte Carlo methods such as a bootstrap particle filter

Get started

  • vignette("design") describes the problems dust tries to solve (read on package website)
  • vignette("dust2") describes dust by example, showing two simple systems and the methods that can drive them (read on package website)
  • If you have used dust version 1 before, see the migration guide to see what has changed.
  • odin2 is the way most dust2 systems are written
  • The odin & monty book shows how the package works in context
  • vignette("writing") shows how to write a dust2 system by hand in C++
  • vignette("packaging") describes how to package a system for easy reuse

Roadmap

This package is a ground-up rewrite of dust and will eventually become version 2.0.0 of dust, which we will then release to CRAN. It exists separately for now to facilitate development and use alongside the original dust, and is being developed in parallel with odin2 and monty (previously mcstate). Some of the functionality here was originally found in mcstate and some of the previous version of dust can now be found in monty (e.g., the random number library).

Installation

Please install from our r-universe:

install.packages(
  "dust2",
  repos = c("https://mrc-ide.r-universe.dev", "https://cloud.r-project.org"))

If you prefer, you can install from GitHub with remotes:

remotes::install_github("mrc-ide/dust2", upgrade = FALSE)

License

MIT © Imperial College of Science, Technology and Medicine