Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dev #335

Merged
merged 221 commits into from
Sep 12, 2024
Merged

Dev #335

merged 221 commits into from
Sep 12, 2024

Conversation

giovannic
Copy link
Member

@giovannic giovannic commented Sep 11, 2024

Merging dev in preparation for release v2.0.0. This will mark our shift to semver 2.0.0 for versioning, i.e:

Given a version number MAJOR.MINOR.PATCH, increment the:

  1. MAJOR version when you make incompatible API changes
  2. MINOR version when you add functionality in a backward compatible manner
  3. PATCH version when you make backward compatible bug fixes

Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

Transparent changes:

New features:

Breaking changes:

pwinskill and others added 30 commits July 12, 2023 14:27
 * Add rdt testing parameters
 * Update biting_process to consider rdt testing for mixing
- updating metapop vignette
- clarifying row & col meanings
 * Add rdt testing parameters
 * Update biting_process to consider rdt testing for mixing
 * refactor transmission mixing code
 * fix regressions
 * add time caching
 * Added export_mixing and import_mixing arguments to run_metapop_...
 * Update create_transmission_mixer to mix eir on import and foim on
   export
 * Fix regression tests
 * Add tests for the EPI and mass vaccination processes/listeners
 * Add checks in the listeners to remove scheduled vaccinations
 * Update the news for the bug fix
 * RcppExports updated automatically
Fix competing hazards for mass and EPI pev:
 * Update pev-epi min_wait test to directly check sample population
 * Update pe-epi  min_wait test to check that pev_timestep is being updated
   on the first dose
 * Copy pev-epi min_wait test to mass pev
 * Update pev and epi processes to calculate targets based on time of first dose
 * Update infection immunity function to calculate pev immunity only
   after 3rd dose
Custom carrying capacity is set as a relative scaler, not absolute value
 * Update documentation
 * Update parameterisation and tests
 * Update booster listener to incorporate timed coverage
 * Update attach_events to pass timed coverage parameters
 * Test timed coverage sampling
 * Bonus: fix a biology test
 * rename booster_timesteps -> booster_spacing
 * make booster_coverage a matrix (timestep x booster doses)
 * update validation
 * update implementation of attach_booster_listener
 * fix regression tests
 * update documentation
 * update vignettes
 * fix correlation examples
…he function now calculates the maternally-acquired immunity to severe disease (birth_ivm) using the acquired immunity to severe disease (iva) rather than the acquired immunity to clinical disease (ica)
Implement time varying coverage for PEV boosters:
RJSheppard and others added 18 commits July 16, 2024 15:31
Function for setting age-structured outputs.
…e age is 7665, which seems to make more sense (7665/365=21).
Correcting default average_age parameter
Thanks to [individual#198], processes in the simulation can now be
named. This has no effect on the behaviour of the simulation but helps
in debugging and profiling by labelling the call frames with the given
names.

[individual#198]: mrc-ide/individual#198
Assign names to all processes.
…tion_resolution

Competing hazards recovery infection resolution
The function assumes the two bitsets are the same size, but was never
checking for it. If the user passed in a second bitset that is smaller
than the first, it could lead to an out-of-bounds access on the
underlying std::vector.
I've created two new functions to standardise drug and resistance calculations across treatment and mass treatments:

calculate_successful_treatments
and
update_mass_drug_admin

calculate_successful_treatments handles the durg efficacy and antimalarial resistance, generating key outputs for each intervention type and returning a bitset of those treated, a vector of the drugs used to treat those individuals and a vector of treated delays for those individual if resistance (SPC) is switched on. This function is called during calculate_treated, create_mda_listeners and create_pmc_process.

update_mass_drug_admin calls update_infection twice,assigning D and LM-detectable A infections to Tr, while non-LM detectable A infections, U and Tr infections to S. Those assigned to S have 0 infectivity and 0 dt, while those who are assigned to Tr are assigned a fraction of their infectivity in the current timestep and dt from the parameter set or calculated using antimalarial resistance.
MDA and PMC code now consistent with each other, correctly update individual variables and take into account antimalarial resistance.
@giovannic giovannic requested a review from pwinskill September 11, 2024 12:11
@giovannic
Copy link
Member Author

giovannic commented Sep 11, 2024

/benchmark

Version 2.0.0 will mark our shift to semver 2.0.0:

> Given a version number MAJOR.MINOR.PATCH, increment the:
> 
>  1. MAJOR version when you make incompatible API changes
>  2. MINOR version when you add functionality in a backward compatible manner
>  3. PATCH version when you make backward compatible bug fixes
> 
> Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.
Copy link

This is how benchmark results would change (along with a 95% confidence interval in relative change) if 9eef099 is merged into master:

  • ✔️large_population: 2.32m -> 2.4m [-0.26%, +6.74%]
  • 🚀small_population: 34s -> 32.7s [-5.76%, -2.26%]

Further explanation regarding interpretation and methodology can be found in the documentation.
Plots and raw data are available as artifacts of the workflow run.

Copy link
Member

@pwinskill pwinskill left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @giovannic. Good to get these improvements out

@giovannic giovannic merged commit 3d1f3b2 into master Sep 12, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants