diff --git a/cara/apps/calculator/model_generator.py b/cara/apps/calculator/model_generator.py
index 6e4a5527..dbfd97f3 100644
--- a/cara/apps/calculator/model_generator.py
+++ b/cara/apps/calculator/model_generator.py
@@ -699,7 +699,7 @@ MECHANICAL_VENTILATION_TYPES = {'mech_type_air_changes', 'mech_type_air_supply',
MASK_TYPES = {'Type I', 'FFP2'}
MASK_WEARING_OPTIONS = {'mask_on', 'mask_off'}
VENTILATION_TYPES = {'natural_ventilation', 'mechanical_ventilation', 'no_ventilation'}
-VIRUS_TYPES = {'SARS_CoV_2', 'SARS_CoV_2_B117', 'SARS_CoV_2_P1', 'SARS_CoV_2_B16172'}
+VIRUS_TYPES = {'SARS_CoV_2', 'SARS_CoV_2_ALPHA', 'SARS_CoV_2_GAMMA', 'SARS_CoV_2_DELTA', 'SARS_CoV_2_BETA'}
VOLUME_TYPES = {'room_volume_explicit', 'room_volume_from_dimensions'}
WINDOWS_OPENING_REGIMES = {'windows_open_permanently', 'windows_open_periodically', 'not-applicable'}
WINDOWS_TYPES = {'window_sliding', 'window_hinged', 'not-applicable'}
diff --git a/cara/apps/calculator/templates/base/calculator.report.html.j2 b/cara/apps/calculator/templates/base/calculator.report.html.j2
index 146478dc..88aec4af 100644
--- a/cara/apps/calculator/templates/base/calculator.report.html.j2
+++ b/cara/apps/calculator/templates/base/calculator.report.html.j2
@@ -193,12 +193,14 @@
Virus variant:
{% if form.virus_type == "SARS_CoV_2" %}
SARS-CoV-2 (nominal strain)
- {% elif form.virus_type == "SARS_CoV_2_B117" %}
- SARS-CoV-2 (Alpha VOC)
- {% elif form.virus_type == "SARS_CoV_2_P1" %}
- SARS-CoV-2 (Gamma VOC)
- {% elif form.virus_type == "SARS_CoV_2_B16172" %}
- SARS-CoV-2 (Delta VOC)
+ {% elif form.virus_type == "SARS_CoV_2_ALPHA" %}
+ SARS-CoV-2 (Alpha VOC)
+ {% elif form.virus_type == "SARS_CoV_2_BETA" %}
+ SARS-CoV-2 (Beta VOC)
+ {% elif form.virus_type == "SARS_CoV_2_GAMMA" %}
+ SARS-CoV-2 (Gamma VOC)
+ {% elif form.virus_type == "SARS_CoV_2_DELTA" %}
+ SARS-CoV-2 (Delta VOC)
{% endif %}
Room Volume: {{ model.concentration_model.room.volume }} m³
diff --git a/cara/apps/calculator/templates/calculator.form.html.j2 b/cara/apps/calculator/templates/calculator.form.html.j2
index 65391454..28d275eb 100644
--- a/cara/apps/calculator/templates/calculator.form.html.j2
+++ b/cara/apps/calculator/templates/calculator.form.html.j2
@@ -63,9 +63,10 @@ v{{ calculator_version }} Please sen
Variant:
SARS-CoV-2 (nominal strain)
- SARS-CoV-2 (Alpha VOC)
- SARS-CoV-2 (Gamma VOC)
- SARS-CoV-2 (Delta VOC)
+ SARS-CoV-2 (Alpha VOC)
+ SARS-CoV-2 (Beta VOC)
+ SARS-CoV-2 (Gamma VOC)
+ SARS-CoV-2 (Delta VOC)
@@ -347,6 +348,7 @@ v{{ calculator_version }} Please sen
SARS-CoV-2 covers the original "wild type" strain of the virus and three variants of concern (VOC):
Alpha (also known as B.1.1.7, first identified in UK, Dec 2020),
+ Beta (also known as B.1.351, first identified in South Africa, Oct 2020).
Gamma (also known as P.1, first identified in Brazil/Japan, Jan 2021).
Delta (also known as B.1.617.2, first identified in India, Oct 2020).
diff --git a/cara/models.py b/cara/models.py
index 67d4c62a..b7c1ff95 100644
--- a/cara/models.py
+++ b/cara/models.py
@@ -475,24 +475,30 @@ Virus.types = {
viable_to_RNA_ratio = 0.5,
transmissibility_factor=1.0,
),
- 'SARS_CoV_2_B117': SARSCoV2(
+ 'SARS_CoV_2_ALPHA': SARSCoV2(
# also called VOC-202012/01
viral_load_in_sputum=1e9,
infectious_dose=50.,
viable_to_RNA_ratio = 0.5,
- transmissibility_factor=0.6,
+ transmissibility_factor=0.78,
),
- 'SARS_CoV_2_P1': SARSCoV2(
+ 'SARS_CoV_2_BETA': SARSCoV2(
+ viral_load_in_sputum=1e9,
+ infectious_dose=50.,
+ viable_to_RNA_ratio=0.5,
+ transmissibility_factor=0.8,
+ ),
+ 'SARS_CoV_2_GAMMA': SARSCoV2(
viral_load_in_sputum=1e9,
infectious_dose=50.,
viable_to_RNA_ratio = 0.5,
- transmissibility_factor=0.45,
+ transmissibility_factor=0.72,
),
- 'SARS_CoV_2_B16172': SARSCoV2(
+ 'SARS_CoV_2_DELTA': SARSCoV2(
viral_load_in_sputum=1e9,
infectious_dose=50.,
viable_to_RNA_ratio = 0.5,
- transmissibility_factor=0.38,
+ transmissibility_factor=0.51,
),
}
diff --git a/cara/monte_carlo/data.py b/cara/monte_carlo/data.py
index ea6a2349..e4d23f8b 100644
--- a/cara/monte_carlo/data.py
+++ b/cara/monte_carlo/data.py
@@ -113,23 +113,29 @@ virus_distributions = {
viable_to_RNA_ratio=viable_to_RNA_ratio_distribution,
transmissibility_factor=1.,
),
- 'SARS_CoV_2_B117': mc.SARSCoV2(
+ 'SARS_CoV_2_ALPHA': mc.SARSCoV2(
viral_load_in_sputum=symptomatic_vl_frequencies,
infectious_dose=infectious_dose_distribution,
viable_to_RNA_ratio=viable_to_RNA_ratio_distribution,
- transmissibility_factor=0.6,
+ transmissibility_factor=0.78,
),
- 'SARS_CoV_2_P1': mc.SARSCoV2(
+ 'SARS_CoV_2_BETA': mc.SARSCoV2(
viral_load_in_sputum=symptomatic_vl_frequencies,
infectious_dose=infectious_dose_distribution,
viable_to_RNA_ratio=viable_to_RNA_ratio_distribution,
- transmissibility_factor=0.45,
+ transmissibility_factor=0.8,
),
- 'SARS_CoV_2_B16172': mc.SARSCoV2(
+ 'SARS_CoV_2_GAMMA': mc.SARSCoV2(
viral_load_in_sputum=symptomatic_vl_frequencies,
infectious_dose=infectious_dose_distribution,
viable_to_RNA_ratio=viable_to_RNA_ratio_distribution,
- transmissibility_factor=0.38,
+ transmissibility_factor=0.72,
+ ),
+ 'SARS_CoV_2_DELTA': mc.SARSCoV2(
+ viral_load_in_sputum=symptomatic_vl_frequencies,
+ infectious_dose=infectious_dose_distribution,
+ viable_to_RNA_ratio=viable_to_RNA_ratio_distribution,
+ transmissibility_factor=0.51,
),
}
diff --git a/cara/tests/models/test_exposure_model.py b/cara/tests/models/test_exposure_model.py
index e120ad29..654a7858 100644
--- a/cara/tests/models/test_exposure_model.py
+++ b/cara/tests/models/test_exposure_model.py
@@ -64,7 +64,7 @@ def known_concentrations(func):
presence=halftime,
mask=models.Mask.types['Type I'],
activity=models.Activity.types['Standing'],
- virus=models.Virus.types['SARS_CoV_2_B117'],
+ virus=models.Virus.types['SARS_CoV_2_ALPHA'],
expiration=models.Expiration.types['Talking'],
host_immunity=0.,
)
diff --git a/cara/tests/test_monte_carlo_full_models.py b/cara/tests/test_monte_carlo_full_models.py
index bb3f283b..a0381723 100644
--- a/cara/tests/test_monte_carlo_full_models.py
+++ b/cara/tests/test_monte_carlo_full_models.py
@@ -40,7 +40,7 @@ def shared_office_mc():
),
infected=mc.InfectedPopulation(
number=1,
- virus=virus_distributions['SARS_CoV_2_B117'],
+ virus=virus_distributions['SARS_CoV_2_ALPHA'],
presence=mc.SpecificInterval(((0., 2.), (2.1, 4.), (5., 7.), (7.1, 9.))),
mask=models.Mask(η_inhale=0.3),
activity=activity_distributions['Seated'],
@@ -83,7 +83,7 @@ def classroom_mc():
),
infected=mc.InfectedPopulation(
number=1,
- virus=virus_distributions['SARS_CoV_2_B117'],
+ virus=virus_distributions['SARS_CoV_2_ALPHA'],
presence=mc.SpecificInterval(((0., 2.), (2.5, 4.), (5., 7.), (7.5, 9.))),
mask=models.Mask.types['No mask'],
activity=activity_distributions['Light activity'],
@@ -116,7 +116,7 @@ def ski_cabin_mc():
),
infected=mc.InfectedPopulation(
number=1,
- virus=virus_distributions['SARS_CoV_2_B117'],
+ virus=virus_distributions['SARS_CoV_2_ALPHA'],
presence=mc.SpecificInterval(((0., 1/3),)),
mask=models.Mask(η_inhale=0.3),
activity=activity_distributions['Moderate activity'],
@@ -151,7 +151,7 @@ def gym_mc():
),
infected=mc.InfectedPopulation(
number=2,
- virus=virus_distributions['SARS_CoV_2_B117'],
+ virus=virus_distributions['SARS_CoV_2_ALPHA'],
presence=mc.SpecificInterval(((0., 1.),)),
mask=models.Mask.types["No mask"],
activity=activity_distributions['Heavy exercise'],
@@ -185,7 +185,7 @@ def waiting_room_mc():
),
infected=mc.InfectedPopulation(
number=1,
- virus=virus_distributions['SARS_CoV_2_B117'],
+ virus=virus_distributions['SARS_CoV_2_ALPHA'],
presence=mc.SpecificInterval(((0., 2.),)),
mask=models.Mask.types["No mask"],
activity=activity_distributions['Seated'],
@@ -295,7 +295,7 @@ def test_small_shared_office_Geneva(mask_type, month, expected_pi,
),
infected=mc.InfectedPopulation(
number=1,
- virus=virus_distributions['SARS_CoV_2_B117'],
+ virus=virus_distributions['SARS_CoV_2_ALPHA'],
presence=mc.SpecificInterval(((9., 10+2/3), (10+5/6, 12.5), (13.5, 15+2/3), (15+5/6, 18.))),
mask=models.Mask.types[mask_type],
activity=activity_distributions['Seated'],
diff --git a/cara/tests/test_predefined_distributions.py b/cara/tests/test_predefined_distributions.py
index 4197b2fb..524cfcfe 100644
--- a/cara/tests/test_predefined_distributions.py
+++ b/cara/tests/test_predefined_distributions.py
@@ -36,9 +36,9 @@ def test_activity_distributions(distribution, mean, std):
"distribution, mean, std",[
['SARS_CoV_2', 6.59, 1.74],
- ['SARS_CoV_2_B117', 6.59, 1.74],
+ ['SARS_CoV_2_ALPHA', 6.59, 1.74],
- ['SARS_CoV_2_P1', 6.59, 1.74],
+ ['SARS_CoV_2_GAMMA', 6.59, 1.74],
]
)
def test_viral_load_logdistribution(distribution, mean, std):