InstituteforDiseaseModeling / covasim

COVID-19 Agent-based Simulator (Covasim): a model for exploring coronavirus dynamics and interventions
https://covasim.org
MIT License
250 stars 223 forks source link

No impact from changing the “nab_eff” parameter #388

Open EMDominic opened 2 years ago

EMDominic commented 2 years ago

Describe the bug

The docstring for the probability-based vaccination function states that if ‘vaccine’ is supplied as a dictionary, it must have the following parameters: nab_eff, nab_init, nab_boost, doses, interval and entries for efficacy against each of the strains. In implementing a custom vaccine, we included the parameter ‘nab_eff’. However, we found that changing the ‘nab_eff’ parameter values made no difference to the simulation results.

To reproduce

Steps to reproduce the behavior:

  1. Define a custom vaccine. 2. Configure the simulation 3. Run the simulation
    
    import covasim as cv

custom_vaccine1 = dict(nab_eff=dict(alpha_inf=1.08, alpha_inf_diff=1.812, beta_inf=0.967, alpha_symp_inf=-0.739, beta_symp_inf=0.038, alpha_sev_symp=-0.014, beta_sev_symp=0.079), nab_init=dict(dist='normal', par1=-1, par2=2), nab_boost=4, doses=2, interval=21)

custom_vaccine2 = dict(nab_eff=dict(alpha_inf=2, alpha_inf_diff=2, beta_inf=2, alpha_symp_inf=-1, beta_symp_inf=1, alpha_sev_symp=-0.1, beta_sev_symp=1), nab_init=dict(dist='normal', par1=-1, par2=2), nab_boost=4, doses=2, interval=21)

Define probability based vaccination

vaccinate1 = cv.vaccinate_prob(vaccine=custom_vaccine1, days=[range(20,100)], prob=0.8) vaccinate2= cv.vaccinate_prob(vaccine=custom_vaccine2, days=[range(20,100)], prob=0.8)

pars = dict( pop_size = 50e3, pop_infected = 100, start_day = '2020-04-01', end_day = '2021-04-01')

sim1 = cv.Sim(pars=pars, interventions=vaccinate1) sim2 = cv.Sim(pars=pars, interventions=vaccinate2) msim = cv.MultiSim([sim1, sim2]) msim.run()



**Platform:**
 - Covasim version: 3.1.2 (2022-01-16)
cliffckerr commented 2 years ago

Thanks @EMDominic and sorry for the extremely slow reply! We'll take a look at this in the 3.1.5 release of Covasim.