You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit includes 3 big upgrades to the vaccine model:
Strain aware - the vaccine is now strain aware and different levels of efficacy can be applied to different strains
Immunity model - the immunity is now extended to 3 levels: full protection, protection against symptoms, protection against severe disease
Vaccine conveyed immunity - instead of 2 types of vaccine either conveying full or against symptoms, each vaccine can convey each of the 3 types of immunity with different levels of efficacy
The strain model is also extended to allow different levels of hospitalisation.
Details of sub-commits:
* Preparatory work for vaccine strain awareness
Separate the transition event functions between vaccine types
* Preparation for multiple strains + vaccines
Add immune_to_symptoms to the individual
* More prep for strain aware vaccines
Give event a short which can be passed to the transition function
Pass wane time to the vaccine_protect event
Make immune from symptoms the max of current and that from vaccine
* Add a vaccine object containing the details of each vaccine
Add and test the object only
* Convert Python and C code to use vaccine object
Leave the Python functions backwards compatible
(still need to do R)
* Convert info_short on the event to a null pointer
Pass a pointer to the vaccine in the event
* Make immune_to_symptoms strain aware
Currently set to the same value for all strains
* Check-point on way to making vaccine strain aware
Make vaccine against symptoms strain aware
* Add set_immune() for strain specific immunity
Make full vaccination strain aware
Check strain specific hazard when seed infecting
* Consolidate adding infection event into single function
Fix seed_infection_by_idx for multiple strains
Turn on test_vaccinet_protection_multi_strain for full protection
vaccine
* Rename time_susceptible to immune_full for consistency
* Add immune_full macro for checking immunity
* Unify vaccine types (remove backwards compatibility in Python interface)
A single vaccine can give full protection and protection from symptoms
at different levels of efficacy
* Add third type of immunity - immune from severe symptoms
Allow individuals to develop disease but not progress to severe symptoms
requiring hopsitalisation
For the vaccines, allow to specify efficacy for the new type of severity
* Add multiple strains to the properties of the Python object
Extend test_add_vaccine to include to multiple strains include both when
the vaccine is the same for all strains and when different between
strains
* Add Python strain object and update tests to use it
Leave Python interface backwards compatible using the strain_idx
* Make hospitalisation_fraction variable for new strains
* For seed infections, explicitly use current time as time_inf_infector
* Fix VACCINE_STATUS list
* Add Strain object in R and upade Model$add_strain
Fix Network.R object
* Add wrapper for set_cross_immunity_matrix
* Add ability for seed_infect_by_idx to take a strain
* Add add_vaccine and Vaccine object to R interface
* Switch VaccineSchedule in R interface to use Vaccine object
* Only set to susceptible if no current disease (fix double infection bug)
* Fix counter of total_vacinated in R vaccine schedule
* Pass strain directly to new_infection and add_infection_event
Previously inferred from infector, however, problem when seeding
infections in individuals having more than one infection
* Set sd infectious muptiplier to 0 in presymp/symp test to reduce noise
Reduce size of population to speed up tests.
* Add example_multi_strain_vaccinate.py
Example demonstrating how to create multiple strains and vaccines.
* Remove bogus type mismatch warning
Copy hospitalised_fraction to an array pointer when creating initial
strain
* Add description of cross-immunity and vaccinations
0 commit comments