Added uniform distribution to the infectious_dose
This commit is contained in:
parent
f50ce6d15b
commit
29f191dd2a
3 changed files with 26 additions and 21 deletions
|
|
@ -1,5 +1,5 @@
|
|||
from cara import models
|
||||
from cara.monte_carlo.data import activity_distributions, symptomatic_vl_frequencies, infectious_virus_distribution
|
||||
from cara.monte_carlo.data import activity_distributions, symptomatic_vl_frequencies, infectious_virus_distribution, infectious_dose_distribution
|
||||
import cara.monte_carlo as mc
|
||||
import numpy as np
|
||||
|
||||
|
|
@ -41,7 +41,7 @@ def breathing_exposure(activity: str, mask: str):
|
|||
number=1,
|
||||
virus=mc.Virus(
|
||||
viral_load_in_sputum=symptomatic_vl_frequencies,
|
||||
infectious_dose=50.,
|
||||
infectious_dose=infectious_dose_distribution,
|
||||
viable_to_RNA=infectious_virus_distribution
|
||||
),
|
||||
presence=mc.SpecificInterval(((0, 2),)),
|
||||
|
|
@ -72,7 +72,7 @@ def speaking_exposure(activity: str, mask: str):
|
|||
number=1,
|
||||
virus=mc.Virus(
|
||||
viral_load_in_sputum=symptomatic_vl_frequencies,
|
||||
infectious_dose=50.,
|
||||
infectious_dose=infectious_dose_distribution,
|
||||
viable_to_RNA=infectious_virus_distribution,
|
||||
),
|
||||
presence=mc.SpecificInterval(((0, 2),)),
|
||||
|
|
@ -103,7 +103,7 @@ def shouting_exposure(activity: str, mask: str):
|
|||
number=1,
|
||||
virus=mc.Virus(
|
||||
viral_load_in_sputum=symptomatic_vl_frequencies,
|
||||
infectious_dose=50.,
|
||||
infectious_dose=infectious_dose_distribution,
|
||||
viable_to_RNA=infectious_virus_distribution,
|
||||
),
|
||||
presence=mc.SpecificInterval(((0, 2),)),
|
||||
|
|
@ -134,7 +134,7 @@ def breathing_exposure_vl(vl):
|
|||
number=1,
|
||||
virus=models.Virus(
|
||||
viral_load_in_sputum=10**vl,
|
||||
infectious_dose=50.,
|
||||
infectious_dose=infectious_dose_distribution,
|
||||
viable_to_RNA=infectious_virus_distribution,
|
||||
),
|
||||
presence=mc.SpecificInterval(((0, 2),)),
|
||||
|
|
@ -165,7 +165,7 @@ def talking_exposure_vl(vl):
|
|||
number=1,
|
||||
virus=models.Virus(
|
||||
viral_load_in_sputum=10**vl,
|
||||
infectious_dose=50.,
|
||||
infectious_dose=infectious_dose_distribution,
|
||||
viable_to_RNA=infectious_virus_distribution,
|
||||
),
|
||||
presence=mc.SpecificInterval(((0, 2),)),
|
||||
|
|
@ -196,7 +196,7 @@ def shouting_exposure_vl(vl):
|
|||
number=1,
|
||||
virus=mc.Virus(
|
||||
viral_load_in_sputum=10**vl,
|
||||
infectious_dose=50.,
|
||||
infectious_dose=infectious_dose_distribution,
|
||||
viable_to_RNA=infectious_virus_distribution,
|
||||
),
|
||||
presence=mc.SpecificInterval(((0, 2),)),
|
||||
|
|
@ -228,7 +228,7 @@ def breathing_seated_exposure():
|
|||
number=1,
|
||||
virus=mc.Virus(
|
||||
viral_load_in_sputum=symptomatic_vl_frequencies,
|
||||
infectious_dose=50.,
|
||||
infectious_dose=infectious_dose_distribution,
|
||||
viable_to_RNA=infectious_virus_distribution,
|
||||
),
|
||||
presence=mc.SpecificInterval(((0, 2),)),
|
||||
|
|
@ -258,7 +258,7 @@ def breathing_light_activity_exposure():
|
|||
number=1,
|
||||
virus=mc.Virus(
|
||||
viral_load_in_sputum=symptomatic_vl_frequencies,
|
||||
infectious_dose=50.,
|
||||
infectious_dose=infectious_dose_distribution,
|
||||
viable_to_RNA=infectious_virus_distribution,
|
||||
),
|
||||
presence=mc.SpecificInterval(((0, 2),)),
|
||||
|
|
@ -288,7 +288,7 @@ def breathing_heavy_exercise_exposure():
|
|||
number=1,
|
||||
virus=mc.Virus(
|
||||
viral_load_in_sputum=symptomatic_vl_frequencies,
|
||||
infectious_dose=50.,
|
||||
infectious_dose=infectious_dose_distribution,
|
||||
viable_to_RNA=infectious_virus_distribution,
|
||||
),
|
||||
presence=mc.SpecificInterval(((0, 2),)),
|
||||
|
|
@ -319,7 +319,7 @@ def speaking_seated_exposure():
|
|||
number=1,
|
||||
virus=mc.Virus(
|
||||
viral_load_in_sputum=symptomatic_vl_frequencies,
|
||||
infectious_dose=50.,
|
||||
infectious_dose=infectious_dose_distribution,
|
||||
viable_to_RNA=infectious_virus_distribution,
|
||||
),
|
||||
presence=mc.SpecificInterval(((0, 2),)),
|
||||
|
|
@ -349,7 +349,7 @@ def speaking_light_activity_exposure():
|
|||
number=1,
|
||||
virus=mc.Virus(
|
||||
viral_load_in_sputum=symptomatic_vl_frequencies,
|
||||
infectious_dose=50.,
|
||||
infectious_dose=infectious_dose_distribution,
|
||||
viable_to_RNA=infectious_virus_distribution,
|
||||
),
|
||||
presence=mc.SpecificInterval(((0, 2),)),
|
||||
|
|
@ -379,7 +379,7 @@ def speaking_heavy_exercise_exposure():
|
|||
number=1,
|
||||
virus=mc.Virus(
|
||||
viral_load_in_sputum=symptomatic_vl_frequencies,
|
||||
infectious_dose=50.,
|
||||
infectious_dose=infectious_dose_distribution,
|
||||
viable_to_RNA=infectious_virus_distribution,
|
||||
),
|
||||
presence=mc.SpecificInterval(((0, 2),)),
|
||||
|
|
@ -410,7 +410,7 @@ def shouting_seated_exposure():
|
|||
number=1,
|
||||
virus=mc.Virus(
|
||||
viral_load_in_sputum=symptomatic_vl_frequencies,
|
||||
infectious_dose=50.,
|
||||
infectious_dose=infectious_dose_distribution,
|
||||
viable_to_RNA=infectious_virus_distribution,
|
||||
),
|
||||
presence=mc.SpecificInterval(((0, 2),)),
|
||||
|
|
@ -440,7 +440,7 @@ def shouting_light_activity_exposure():
|
|||
number=1,
|
||||
virus=mc.Virus(
|
||||
viral_load_in_sputum=symptomatic_vl_frequencies,
|
||||
infectious_dose=50.,
|
||||
infectious_dose=infectious_dose_distribution,
|
||||
viable_to_RNA=infectious_virus_distribution,
|
||||
),
|
||||
presence=mc.SpecificInterval(((0, 2),)),
|
||||
|
|
@ -470,7 +470,7 @@ def shouting_heavy_exercise_exposure():
|
|||
number=1,
|
||||
virus=mc.Virus(
|
||||
viral_load_in_sputum=symptomatic_vl_frequencies,
|
||||
infectious_dose=50.,
|
||||
infectious_dose=infectious_dose_distribution,
|
||||
viable_to_RNA=infectious_virus_distribution,
|
||||
),
|
||||
presence=mc.SpecificInterval(((0, 2),)),
|
||||
|
|
|
|||
|
|
@ -915,7 +915,11 @@ class ExposureModel:
|
|||
repeats: int = 1
|
||||
|
||||
#: The fraction of viruses actually deposited in the respiratory tract
|
||||
d = 1.37 # To be updated in the future.
|
||||
"""
|
||||
To be updated in the future.
|
||||
The diameter value of 1.37 is the correspondent to a fraction_deposited of 0.6
|
||||
"""
|
||||
d = 1.37
|
||||
IF = 1 - 0.5 * (1 - (1 / (1 + (0.00076*(d**2.8)))))
|
||||
DF = IF * (0.0587 + (0.911/(1 + np.exp(4.77 + 1.485 * np.log(d)))) + (0.943/(1 + np.exp(0.508 - 2.58 * np.log(d)))))
|
||||
fraction_deposited: _VectorisedFloat = DF
|
||||
|
|
|
|||
|
|
@ -40,27 +40,28 @@ symptomatic_vl_frequencies = LogCustomKernel(
|
|||
|
||||
# From https://doi.org/10.1093/cid/ciaa1579
|
||||
infectious_virus_distribution = Uniform(0.15, 0.45)
|
||||
infectious_dose_distribution = Uniform(10., 100.)
|
||||
|
||||
# From CERN-OPEN-2021-04 and refererences therein
|
||||
virus_distributions = {
|
||||
'SARS_CoV_2': mc.SARSCoV2(
|
||||
viral_load_in_sputum=symptomatic_vl_frequencies,
|
||||
infectious_dose=100,
|
||||
infectious_dose=infectious_dose_distribution,
|
||||
viable_to_RNA=infectious_virus_distribution,
|
||||
),
|
||||
'SARS_CoV_2_B117': mc.SARSCoV2(
|
||||
viral_load_in_sputum=symptomatic_vl_frequencies,
|
||||
infectious_dose=60,
|
||||
infectious_dose=infectious_dose_distribution,
|
||||
viable_to_RNA=infectious_virus_distribution,
|
||||
),
|
||||
'SARS_CoV_2_P1': mc.SARSCoV2(
|
||||
viral_load_in_sputum=symptomatic_vl_frequencies,
|
||||
infectious_dose=100/2.25,
|
||||
infectious_dose=infectious_dose_distribution,
|
||||
viable_to_RNA=infectious_virus_distribution,
|
||||
),
|
||||
'SARS_CoV_2_B16172': mc.SARSCoV2(
|
||||
viral_load_in_sputum=symptomatic_vl_frequencies,
|
||||
infectious_dose=60/1.6,
|
||||
infectious_dose=infectious_dose_distribution,
|
||||
viable_to_RNA=infectious_virus_distribution,
|
||||
),
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue