simulate_chains() and simulate_chain_stats() would error when statistic was not specified, even when it is not required (e.g., when stat_threshold = Inf). The statistic argument now correctly defaults to "size" when not specified.projecting_incidence vignette to improve screen-reader accessibility (#338).?epichains) now lists all authors and
contributors recorded in DESCRIPTION and displays the package logo. Two
people were previously missing from the rendered lists (#355).covid19_sa dataset 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).NA, passed the check instead of
raising an error (#348).check_*() have been renamed to assert_*() to align with naming conventions used in the {checkmate} package.simulate_*() functions now ensure integer operations are safely maintained in computations to ensure memory and computational efficiency.CLAUDE.md, CLAUDE.local.md, and .claude/) are now excluded from the package build (#352).{lintr} configuration (#348).{roxygen2} 8.1.0 (#355).expect_identical() instead of expect_true(identical()) for clearer failure messages (#337).This is the first CRAN release of {epichains}.
as_is = TRUE setting in vignette YAML headers to avoid partial incompatibility with incoming pkgdown versions.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.
{epichains} (Contributor documentation).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.likelihood(): Estimate the (log)likelihood of transmission chain sizes or lengths, with support for numeric vectors or <epichains> and <epichains_summary> objects.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.