epichains 0.1.1.9000
Package
- The package now has websites for the development version on GitHub and CRAN version. By @jamesmbaazam in #293 and self-reviewed.
- Fixed an issue where equations in the pkgdown function reference were not being rendered.
- The minimum required R version was raised from 3.6.0 to 4.1.0 (#348).
Documentation
- The README now has badges for CRAN monthly and total downloads as well as the package’s Zenodo DOI.
- The theory vignette now has a references section. By @Degoot-AM in #316.
- Added alternative text to images in the README and the
projecting_incidencevignette to improve screen-reader accessibility (#338). - The package-level documentation (
?epichains) now lists all authors and contributors recorded inDESCRIPTIONand displays the package logo. Two people were previously missing from the rendered lists (#355). - The
covid19_sadataset documentation now includes a source citation, licensing information, and details of the data preparation steps. It also corrects the documented number of rows, which was previously stated as 19 rather than 14 (#339).
Bug fixes
- A bug was fixed where the validation that an offspring distribution returns integers was inverted, so that output mixing integer and non-integer values, or containing
NA, passed the check instead of raising an error (#348).
Internal changes
- Checking functions previously named
check_*()have been renamed toassert_*()to align with naming conventions used in the checkmate package. - The
simulate_*()functions now ensure integer operations are safely maintained in computations to ensure memory and computational efficiency. - Added a CLAUDE.md file to provide workflow instructions and guardrails to AI agents (#347).
- AI assistant files (
CLAUDE.md,CLAUDE.local.md, and.claude/) are now excluded from the package build (#352). - Resolved outstanding linting issues across the package source and vignettes to keep the codebase compliant with the project’s lintr configuration (#348).
- Documentation is now generated with roxygen2 8.1.0 (#355).
- Tests now use
expect_identical()instead ofexpect_true(identical())for clearer failure messages (#337).
epichains 0.1.0
We are excited to announce the first minor release of epichains.
epichains re-implements {bpmodels}, focusing on a unified simulation framework using branching processes to simulate transmission chains data. The framework incorporates susceptible depletion and pre-existing immunity and provides dedicated data structures for handling and analysing transmission chains in both tabular and vector formats. The goal is to provide seamless interoperability with other packages within the Epiverse-TRACE Initiative and the broader epidemiological tool ecosystem.
New Features
Documentation
- Dedicated Website: Explore all features and documentation on the epichains website.
- Help: Each function comes with extensive documentation. We welcome your feedback and suggestions for improvements.
-
Vignettes: This release comes with five detailed vignettes:
- Getting Started: A quick guide to the key functions.
- Modelling Disease Control Interventions: Learn how to model various intervention strategies.
- Projecting Infectious Disease Incidence: A case study on projecting COVID-19 incidence.
- Literature: A curation of literature on branching process applications in epidemiology.
- Theoretical Background: A deep dive into the theoretical background of the functions in the package (Contributor documentation).
- Design principles: The design principles of epichains (Contributor documentation).
Simulation
-
simulate_chains(): Simulate independent transmission chains from a specified number of initial cases, incorporating susceptible depletion and pre-existing immunity. -
simulate_chain_stats(): Generate a vector of chain sizes or lengths from a specified number of initial cases, incorporating susceptible depletion and pre-existing immunity.
Inference
-
likelihood(): Estimate the (log)likelihood of transmission chain sizes or lengths, with support for numeric vectors or<epichains>and<epichains_summary>objects.
Transmission Chain Data Manipulation
-
summary(): Extract vectors of chain sizes or lengths from<epichains>objects. -
aggregate(): Generate case time series by aggregating by generation or time of infection. -
plot(): Visualize individual transmission chains filtered by their id.