diff --git a/notebooks/hackathon_2023.07/scenario2.ipynb b/notebooks/hackathon_2023.07/scenario2.ipynb
new file mode 100644
index 000000000..86e5d5eeb
--- /dev/null
+++ b/notebooks/hackathon_2023.07/scenario2.ipynb
@@ -0,0 +1,286 @@
+{
+ "cells": [
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "id": "7798c424",
+ "metadata": {},
+ "source": [
+ "# Hackathon Scenario 2: Multiple Vaccines and Variants\n",
+ "Models from early in the Covid-19 pandemic were relatively simple, as we had no vaccines available, only NPIs to mitigate the spread of the disease, and only one strain (the original wild type) to worry about. By mid-2021, the situation was much more complex, as we had access to multiple vaccines, each with multiple doses, and the emergence of multiple variants. You are interested in modeling this situation with SV2(AIR)3 (https://www.nature.com/articles/s41598- 022-06159-x, https://doi.org/10.1038/s41598-022-06159-x), one of the first models to represent multiple Covid-19 variants, and the competition between them."
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "id": "d274fc77",
+ "metadata": {},
+ "source": [
+ "1. Extract the simplest version of the model with 1 vaccine and 1 variant (shown in Fig. 1A)\n",
+ "\n",
+ " a. (TA1 Model Extraction Workflow) Extract the model from Matlab code\n",
+ "โsvair_simple.mโ and โget_beta.mโ and with the publication equations and Fig. 1A (with the exception of one small difference between code and figure). Note that in this code, the units of all state variables are in terms of fraction of the total population.\n",
+ " \n",
+ " b. (TA3 Simulation Workflow) Simulate the first 14 months of the pandemic beginning on January 1st, 2020. Consider only the Wild Type variant, and no vaccination during this period. Use parameter values from the supplementary material, for the wild type. Use the population of Ontario in 2019: 14.57 million people, and let the natural death rate ๐ = 2.05๐-5. For initial conditions, let ๐ผ(0) = 1e-6, ๐(0) = 1 โ ๐ ๐ข๐(๐ผ(0) + ๐ด(0)), and all other values be 0. When do I(t) and A(t) peak, and what is the value of these variables at their peaks? How do the I(t) and A(t) profiles compare with Fig. 3d,f (which considered 3 variants and 2 types of vaccines)? Given that this question assumes only the presence of the Wild Type variant, do the results seem reasonable?\n",
+ " \n",
+ " c. (TA2 Domain Knowledge Grounding; ASKEM Workbench Only) Demonstrate that the domain knowledge groundings accurately reflect new concepts with the extensions such as โvariantsโ."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "id": "0991209a",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'\\nS = y(ind); ind=ind+1; % original susceptible\\nSVR = y(ind); ind=ind+1; % lost immunity after vaccination or recovery\\nV1 = y(ind:ind+n_vax-1); ind=ind+n_vax; % one-dose vaccination\\nV2 = y(ind:ind+n_vax-1); ind=ind+n_vax; % fully vaccinated\\nI = y(ind:ind+n_var-1); ind=ind+n_var; % infected\\nIV = y(ind:ind+n_var-1); ind=ind+n_var; % infected even with vaccination\\nIR = y(ind:ind+n_var-1); ind=ind+n_var; % infected again after recovery from a different variant\\nA = y(ind:ind+n_var-1); ind=ind+n_var; % asymptomatic infections\\nAR = y(ind:ind+n_var-1); ind=ind+n_var; % asymptomatic infections after recovery from a different variant\\nR = y(ind:ind+n_var-1); ind=ind+n_var; % recovered\\nR2 = y(ind); ind=ind+1; % recovered after getting both variants\\n\\n\\n'"
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "import sympy\n",
+ "from mira.metamodel import *\n",
+ "from mira.modeling import Model\n",
+ "from mira.modeling.askenet.petrinet import AskeNetPetriNetModel\n",
+ "\n",
+ "\"\"\"\n",
+ "S = y(ind); ind=ind+1; % original susceptible\n",
+ "SVR = y(ind); ind=ind+1; % lost immunity after vaccination or recovery\n",
+ "V1 = y(ind:ind+n_vax-1); ind=ind+n_vax; % one-dose vaccination\n",
+ "V2 = y(ind:ind+n_vax-1); ind=ind+n_vax; % fully vaccinated\n",
+ "I = y(ind:ind+n_var-1); ind=ind+n_var; % infected\n",
+ "IV = y(ind:ind+n_var-1); ind=ind+n_var; % infected even with vaccination\n",
+ "IR = y(ind:ind+n_var-1); ind=ind+n_var; % infected again after recovery from a different variant\n",
+ "A = y(ind:ind+n_var-1); ind=ind+n_var; % asymptomatic infections\n",
+ "AR = y(ind:ind+n_var-1); ind=ind+n_var; % asymptomatic infections after recovery from a different variant\n",
+ "R = y(ind:ind+n_var-1); ind=ind+n_var; % recovered\n",
+ "R2 = y(ind); ind=ind+1; % recovered after getting both variants\n",
+ "\n",
+ "\n",
+ "\"\"\""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "id": "716217a7",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "person_units = Unit(expression=sympy.Symbol('person'))\n",
+ "day_units = Unit(expression=sympy.Symbol('day'))\n",
+ "per_day_units = Unit(expression=1/sympy.Symbol('day'))\n",
+ "dimensionless_units = Unit(expression=sympy.Integer('1'))\n",
+ "\n",
+ "populations = ['S', 'SVR', 'V1', 'V2', 'I', 'IV', 'IR',\n",
+ " 'A', 'AR', 'R', 'R2']\n",
+ "\n",
+ "c = {pop: Concept(name=pop, units=dimensionless_units)\n",
+ " for pop in populations}\n",
+ "\n",
+ "parameters = [\n",
+ " Parameter(name='beta', value=3.3e-9),\n",
+ " Parameter(name='beta_v1', value=0.2*3.3e-9),\n",
+ " Parameter(name='beta_v2', value=0.05*3.3e-9),\n",
+ " Parameter(name='beta_R', value=0.05*3.3e-9),\n",
+ " Parameter(name='gamma', value=1/28),\n",
+ " Parameter(name='mu', value=298.7),\n",
+ " Parameter(name='mu_I', value=0.001),\n",
+ " Parameter(name='mu_IV', value=0.15*0.001),\n",
+ " Parameter(name='nu_R', value=1/(4*365)),\n",
+ " Parameter(name='nu_v1', value=1/365),\n",
+ " Parameter(name='nu_v2', value=1/(4*365)),\n",
+ " Parameter(name='ai', value=0.5), # paper uses sigma instead of ai\n",
+ " Parameter(name='ai_V', value=0.85),\n",
+ " Parameter(name='ai_R', value=0.85),\n",
+ " Parameter(name='ai_beta_ratio', value=3.0)\n",
+ "]\n",
+ "\n",
+ "initials = {\n",
+ " 'S': Initial(concept=c['S'], value=1-1e-6),\n",
+ " 'SVR': Initial(concept=c['SVR'], value=0),\n",
+ " 'V1': Initial(concept=c['V1'], value=0),\n",
+ " 'V2': Initial(concept=c['V2'], value=0),\n",
+ " 'I': Initial(concept=c['I'], value=1e-6),\n",
+ " 'IV': Initial(concept=c['IV'], value=0),\n",
+ " 'IR': Initial(concept=c['IR'], value=0),\n",
+ " 'A': Initial(concept=c['A'], value=0),\n",
+ " 'AR': Initial(concept=c['AR'], value=0),\n",
+ " 'R': Initial(concept=c['R'], value=0),\n",
+ " 'R2': Initial(concept=c['R2'], value=0),\n",
+ "}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "id": "f91e5e06",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "S, SVR, V1, V2, I, IV, IR, A, AR, R, R2 = sympy.symbols('S SVR V1 V2 I IV IR A AR R R2')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "id": "45045c21",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "beta, beta_v1, beta_v2, beta_R, gamma, mu, mu_I, mu_IV, nu_R, nu_v1, nu_v2, ai, ai_V, ai_R, ai_beta_ratio = \\\n",
+ " sympy.symbols('beta beta_v1 beta_v2 beta_R gamma mu mu_I mu_IV nu_R nu_v1 nu_v2 ai ai_V ai_R ai_beta_ratio')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "id": "563bef26",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\"\"\"\n",
+ "dSdt = \n",
+ "- sum(beta.*S.*(I_total)) \n",
+ "- sum(vr1.*S) \n",
+ "+ mu*(1-S);\n",
+ "\n",
+ "dSVRdt = \n",
+ "+ nu_v1.*sum(V1) \n",
+ "+ nu_v2.*sum(V2) \n",
+ "+ sum(nu_R.*R) \n",
+ "+ nu_R.*R2 \n",
+ "- sum(beta.*SVR.*(I_total)) \n",
+ "- mu*SVR;\n",
+ "\n",
+ "dV1dt = \n",
+ "+ vr1.*(S+sum(A)) \n",
+ "- vr2.*V1 \n",
+ "- nu_v1.*V1 \n",
+ "- sum(beta_v1.*(V1*(I_total)'),2) \n",
+ "- mu*V1;\n",
+ "\n",
+ "dV2dt = + vr2.*V1 - nu_v2.*V2 - sum(beta_v2.*(V2.*(I_total)'),2) - mu*V2;\n",
+ "dIdt = (1-ai).*(+ beta.*S.*(I_total) + beta.*SVR.*(I_total)) - gamma.*I - mu_I.*I;\n",
+ "dIVdt = (1-ai_V).*(+ sum(beta_v1.*(V1*(I_total)'))' + sum(beta_v2.*(V2.*(I_total)'))') - gamma.*IV - mu_IV.*IV;\n",
+ "dIRdt = (1-ai_R).*(+ beta_R.*Rv.*(I_total)) - gamma.*IR - mu*IR;\n",
+ "dAdt = ai.*(+ beta.*S.*(I_total) + beta.*SVR.*(I_total)) + ai_V.*(sum(beta_v1.*(V1*(I_total)'))' + sum(beta_v2.*(V2.*(I_total)'))') - sum(vr1).*A - gamma.*A - mu.*A;\n",
+ "dARdt = ai_R.*(+ beta_R.*Rv.*(I_total)) - gamma.*AR - mu*AR;\n",
+ "dRdt = + gamma.*(I_total) - nu_R.*R - beta_R.*Rv.*(I_total) - mu*R;\n",
+ "dR2dt = + sum(gamma.*(IR+AR)) - nu_R.*R2 - mu*R2;\n",
+ "\n",
+ "\"\"\"\n",
+ "\n",
+ "all_infectious = c['I'], c['IV'], c['IR'], c['A'], c['AR']\n",
+ "infection_rate_term = I + IV + IR + ai_beta_ratio * (A + AR)\n",
+ "\n",
+ "templates = [\n",
+ " # Infection asym\n",
+ " GroupedControlledConversion(subject=c['S'], outcome=c['A'],\n",
+ " controllers=all_infectious,\n",
+ " rate_law=ai*beta*S*infection_rate_term),\n",
+ " GroupedControlledConversion(subject=c['V1'], outcome=c['A'],\n",
+ " controllers=all_infectious,\n",
+ " rate_law=ai*beta_v1*V1*infection_rate_term),\n",
+ " GroupedControlledConversion(subject=c['V2'], outcome=c['A'],\n",
+ " controllers=all_infectious,\n",
+ " rate_law=ai*beta_v2*V2*infection_rate_term),\n",
+ "\n",
+ " # Infection sym\n",
+ " GroupedControlledConversion(subject=c['S'], outcome=c['I'],\n",
+ " controllers=all_infectious,\n",
+ " rate_law=(1-ai)*beta*S*infection_rate_term),\n",
+ " GroupedControlledConversion(subject=c['V1'], outcome=c['IV'],\n",
+ " controllers=all_infectious,\n",
+ " rate_law=ai*beta_v1*V1*infection_rate_term),\n",
+ " GroupedControlledConversion(subject=c['V2'], outcome=c['IV'],\n",
+ " controllers=all_infectious,\n",
+ " rate_law=ai*beta_v2*V2*infection_rate_term),\n",
+ " # Vaccination\n",
+ " # Note: structurally we want to have these in the model but we make the rates 0\n",
+ " NaturalConversion(subject=c['S'], outcome=c['V1'], rate_law=0*S),\n",
+ " NaturalConversion(subject=c['A'], outcome=c['V1'], rate_law=0*A),\n",
+ " NaturalConversion(subject=c['V1'], outcome=c['V2'], rate_law=0*V1),\n",
+ " # Recovery\n",
+ " NaturalConversion(subject=c['I'], outcome=c['R'], rate_law=gamma*I),\n",
+ " NaturalConversion(subject=c['IV'], outcome=c['R'], rate_law=gamma*IV),\n",
+ " NaturalConversion(subject=c['IR'], outcome=c['R'], rate_law=gamma*IR),\n",
+ " NaturalConversion(subject=c['A'], outcome=c['R'], rate_law=gamma*A),\n",
+ " NaturalConversion(subject=c['AR'], outcome=c['R'], rate_law=gamma*AR),\n",
+ "\n",
+ " # Reinfection asym\n",
+ " GroupedControlledConversion(subject=c['R'], outcome=c['AR'],\n",
+ " controllers=all_infectious,\n",
+ " rate_law=ai_R*beta_R*R*infection_rate_term),\n",
+ " # Reinfection sym\n",
+ " GroupedControlledConversion(subject=c['R'], outcome=c['IR'],\n",
+ " controllers=all_infectious,\n",
+ " rate_law=(1-ai_R)*beta_R*R*infection_rate_term),\n",
+ "\n",
+ " # Second recovery\n",
+ " NaturalConversion(subject=c['IR'], outcome=c['R2'], rate_law=gamma*IR),\n",
+ " NaturalConversion(subject=c['AR'], outcome=c['R2'], rate_law=gamma*AR),\n",
+ "\n",
+ " # Death\n",
+ " NaturalDegradation(subject=c['S'], rate_law=mu*S),\n",
+ " NaturalDegradation(subject=c['SVR'], rate_law=mu*SVR),\n",
+ " NaturalDegradation(subject=c['V1'], rate_law=mu*V1),\n",
+ " NaturalDegradation(subject=c['V2'], rate_law=mu*V2),\n",
+ " NaturalDegradation(subject=c['I'], rate_law=mu_I*I),\n",
+ " NaturalDegradation(subject=c['IV'], rate_law=mu_IV*IV),\n",
+ " NaturalDegradation(subject=c['IR'], rate_law=mu*IR),\n",
+ " NaturalDegradation(subject=c['A'], rate_law=mu*A),\n",
+ " NaturalDegradation(subject=c['AR'], rate_law=mu*AR),\n",
+ " NaturalDegradation(subject=c['R'], rate_law=mu*R),\n",
+ " NaturalDegradation(subject=c['R2'], rate_law=mu*R2),\n",
+ "\n",
+ " # Loss of immunity\n",
+ " NaturalConversion(subject=c['V1'], outcome=c['SVR'], rate_law=nu_v1*V1),\n",
+ " NaturalConversion(subject=c['V2'], outcome=c['SVR'], rate_law=nu_v2*V2),\n",
+ " NaturalConversion(subject=c['R'], outcome=c['SVR'], rate_law=nu_R*R),\n",
+ " NaturalConversion(subject=c['R2'], outcome=c['SVR'], rate_law=nu_R*R2),\n",
+ "]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "25dfad3d",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "tm = TemplateModel(templates=templates\n",
+ " parameters={p.name: p for p in parameters},\n",
+ " initial_conditions=initials,\n",
+ "AskeNetPetriNetModel(Model(tm)).to_json_file('scenario2_a.json')"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.10.12"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/notebooks/hackathon_2023.07/scenario2_a.json b/notebooks/hackathon_2023.07/scenario2_a.json
new file mode 100644
index 000000000..4888c53f4
--- /dev/null
+++ b/notebooks/hackathon_2023.07/scenario2_a.json
@@ -0,0 +1,1393 @@
+{
+ "name": "Scenario 2a",
+ "schema": "https://raw.githubusercontent.com/DARPA-ASKEM/Model-Representations/petrinet_v0.5/petrinet/petrinet_schema.json",
+ "schema_name": "petrinet",
+ "description": "Scenario 2a",
+ "model_version": "0.1",
+ "properties": {},
+ "model": {
+ "states": [
+ {
+ "id": "S",
+ "name": "S",
+ "grounding": {
+ "identifiers": {},
+ "modifiers": {}
+ },
+ "units": {
+ "expression": "1",
+ "expression_mathml": "1"
+ }
+ },
+ {
+ "id": "I",
+ "name": "I",
+ "grounding": {
+ "identifiers": {},
+ "modifiers": {}
+ },
+ "units": {
+ "expression": "1",
+ "expression_mathml": "1"
+ }
+ },
+ {
+ "id": "A",
+ "name": "A",
+ "grounding": {
+ "identifiers": {},
+ "modifiers": {}
+ },
+ "units": {
+ "expression": "1",
+ "expression_mathml": "1"
+ }
+ },
+ {
+ "id": "IV",
+ "name": "IV",
+ "grounding": {
+ "identifiers": {},
+ "modifiers": {}
+ },
+ "units": {
+ "expression": "1",
+ "expression_mathml": "1"
+ }
+ },
+ {
+ "id": "IR",
+ "name": "IR",
+ "grounding": {
+ "identifiers": {},
+ "modifiers": {}
+ },
+ "units": {
+ "expression": "1",
+ "expression_mathml": "1"
+ }
+ },
+ {
+ "id": "AR",
+ "name": "AR",
+ "grounding": {
+ "identifiers": {},
+ "modifiers": {}
+ },
+ "units": {
+ "expression": "1",
+ "expression_mathml": "1"
+ }
+ },
+ {
+ "id": "V1",
+ "name": "V1",
+ "grounding": {
+ "identifiers": {},
+ "modifiers": {}
+ },
+ "units": {
+ "expression": "1",
+ "expression_mathml": "1"
+ }
+ },
+ {
+ "id": "V2",
+ "name": "V2",
+ "grounding": {
+ "identifiers": {},
+ "modifiers": {}
+ },
+ "units": {
+ "expression": "1",
+ "expression_mathml": "1"
+ }
+ },
+ {
+ "id": "R",
+ "name": "R",
+ "grounding": {
+ "identifiers": {},
+ "modifiers": {}
+ },
+ "units": {
+ "expression": "1",
+ "expression_mathml": "1"
+ }
+ },
+ {
+ "id": "R2",
+ "name": "R2",
+ "grounding": {
+ "identifiers": {},
+ "modifiers": {}
+ },
+ "units": {
+ "expression": "1",
+ "expression_mathml": "1"
+ }
+ },
+ {
+ "id": "SVR",
+ "name": "SVR",
+ "grounding": {
+ "identifiers": {},
+ "modifiers": {}
+ },
+ "units": {
+ "expression": "1",
+ "expression_mathml": "1"
+ }
+ }
+ ],
+ "transitions": [
+ {
+ "id": "t1",
+ "input": [
+ "I",
+ "S"
+ ],
+ "output": [
+ "I",
+ "A"
+ ],
+ "properties": {
+ "name": "t1"
+ }
+ },
+ {
+ "id": "t2",
+ "input": [
+ "IV",
+ "S"
+ ],
+ "output": [
+ "IV",
+ "A"
+ ],
+ "properties": {
+ "name": "t2"
+ }
+ },
+ {
+ "id": "t3",
+ "input": [
+ "IR",
+ "S"
+ ],
+ "output": [
+ "IR",
+ "A"
+ ],
+ "properties": {
+ "name": "t3"
+ }
+ },
+ {
+ "id": "t4",
+ "input": [
+ "A",
+ "S"
+ ],
+ "output": [
+ "A",
+ "A"
+ ],
+ "properties": {
+ "name": "t4"
+ }
+ },
+ {
+ "id": "t5",
+ "input": [
+ "AR",
+ "S"
+ ],
+ "output": [
+ "AR",
+ "A"
+ ],
+ "properties": {
+ "name": "t5"
+ }
+ },
+ {
+ "id": "t6",
+ "input": [
+ "I",
+ "V1"
+ ],
+ "output": [
+ "I",
+ "A"
+ ],
+ "properties": {
+ "name": "t6"
+ }
+ },
+ {
+ "id": "t7",
+ "input": [
+ "IV",
+ "V1"
+ ],
+ "output": [
+ "IV",
+ "A"
+ ],
+ "properties": {
+ "name": "t7"
+ }
+ },
+ {
+ "id": "t8",
+ "input": [
+ "IR",
+ "V1"
+ ],
+ "output": [
+ "IR",
+ "A"
+ ],
+ "properties": {
+ "name": "t8"
+ }
+ },
+ {
+ "id": "t9",
+ "input": [
+ "A",
+ "V1"
+ ],
+ "output": [
+ "A",
+ "A"
+ ],
+ "properties": {
+ "name": "t9"
+ }
+ },
+ {
+ "id": "t10",
+ "input": [
+ "AR",
+ "V1"
+ ],
+ "output": [
+ "AR",
+ "A"
+ ],
+ "properties": {
+ "name": "t10"
+ }
+ },
+ {
+ "id": "t11",
+ "input": [
+ "I",
+ "V2"
+ ],
+ "output": [
+ "I",
+ "A"
+ ],
+ "properties": {
+ "name": "t11"
+ }
+ },
+ {
+ "id": "t12",
+ "input": [
+ "IV",
+ "V2"
+ ],
+ "output": [
+ "IV",
+ "A"
+ ],
+ "properties": {
+ "name": "t12"
+ }
+ },
+ {
+ "id": "t13",
+ "input": [
+ "IR",
+ "V2"
+ ],
+ "output": [
+ "IR",
+ "A"
+ ],
+ "properties": {
+ "name": "t13"
+ }
+ },
+ {
+ "id": "t14",
+ "input": [
+ "A",
+ "V2"
+ ],
+ "output": [
+ "A",
+ "A"
+ ],
+ "properties": {
+ "name": "t14"
+ }
+ },
+ {
+ "id": "t15",
+ "input": [
+ "AR",
+ "V2"
+ ],
+ "output": [
+ "AR",
+ "A"
+ ],
+ "properties": {
+ "name": "t15"
+ }
+ },
+ {
+ "id": "t16",
+ "input": [
+ "I",
+ "S"
+ ],
+ "output": [
+ "I",
+ "I"
+ ],
+ "properties": {
+ "name": "t16"
+ }
+ },
+ {
+ "id": "t17",
+ "input": [
+ "IV",
+ "S"
+ ],
+ "output": [
+ "IV",
+ "I"
+ ],
+ "properties": {
+ "name": "t17"
+ }
+ },
+ {
+ "id": "t18",
+ "input": [
+ "IR",
+ "S"
+ ],
+ "output": [
+ "IR",
+ "I"
+ ],
+ "properties": {
+ "name": "t18"
+ }
+ },
+ {
+ "id": "t19",
+ "input": [
+ "A",
+ "S"
+ ],
+ "output": [
+ "A",
+ "I"
+ ],
+ "properties": {
+ "name": "t19"
+ }
+ },
+ {
+ "id": "t20",
+ "input": [
+ "AR",
+ "S"
+ ],
+ "output": [
+ "AR",
+ "I"
+ ],
+ "properties": {
+ "name": "t20"
+ }
+ },
+ {
+ "id": "t21",
+ "input": [
+ "I",
+ "V1"
+ ],
+ "output": [
+ "I",
+ "IV"
+ ],
+ "properties": {
+ "name": "t21"
+ }
+ },
+ {
+ "id": "t22",
+ "input": [
+ "IV",
+ "V1"
+ ],
+ "output": [
+ "IV",
+ "IV"
+ ],
+ "properties": {
+ "name": "t22"
+ }
+ },
+ {
+ "id": "t23",
+ "input": [
+ "IR",
+ "V1"
+ ],
+ "output": [
+ "IR",
+ "IV"
+ ],
+ "properties": {
+ "name": "t23"
+ }
+ },
+ {
+ "id": "t24",
+ "input": [
+ "A",
+ "V1"
+ ],
+ "output": [
+ "A",
+ "IV"
+ ],
+ "properties": {
+ "name": "t24"
+ }
+ },
+ {
+ "id": "t25",
+ "input": [
+ "AR",
+ "V1"
+ ],
+ "output": [
+ "AR",
+ "IV"
+ ],
+ "properties": {
+ "name": "t25"
+ }
+ },
+ {
+ "id": "t26",
+ "input": [
+ "I",
+ "V2"
+ ],
+ "output": [
+ "I",
+ "IV"
+ ],
+ "properties": {
+ "name": "t26"
+ }
+ },
+ {
+ "id": "t27",
+ "input": [
+ "IV",
+ "V2"
+ ],
+ "output": [
+ "IV",
+ "IV"
+ ],
+ "properties": {
+ "name": "t27"
+ }
+ },
+ {
+ "id": "t28",
+ "input": [
+ "IR",
+ "V2"
+ ],
+ "output": [
+ "IR",
+ "IV"
+ ],
+ "properties": {
+ "name": "t28"
+ }
+ },
+ {
+ "id": "t29",
+ "input": [
+ "A",
+ "V2"
+ ],
+ "output": [
+ "A",
+ "IV"
+ ],
+ "properties": {
+ "name": "t29"
+ }
+ },
+ {
+ "id": "t30",
+ "input": [
+ "AR",
+ "V2"
+ ],
+ "output": [
+ "AR",
+ "IV"
+ ],
+ "properties": {
+ "name": "t30"
+ }
+ },
+ {
+ "id": "t31",
+ "input": [
+ "S"
+ ],
+ "output": [
+ "V1"
+ ],
+ "properties": {
+ "name": "t31"
+ }
+ },
+ {
+ "id": "t32",
+ "input": [
+ "A"
+ ],
+ "output": [
+ "V1"
+ ],
+ "properties": {
+ "name": "t32"
+ }
+ },
+ {
+ "id": "t33",
+ "input": [
+ "V1"
+ ],
+ "output": [
+ "V2"
+ ],
+ "properties": {
+ "name": "t33"
+ }
+ },
+ {
+ "id": "t34",
+ "input": [
+ "I"
+ ],
+ "output": [
+ "R"
+ ],
+ "properties": {
+ "name": "t34"
+ }
+ },
+ {
+ "id": "t35",
+ "input": [
+ "IV"
+ ],
+ "output": [
+ "R"
+ ],
+ "properties": {
+ "name": "t35"
+ }
+ },
+ {
+ "id": "t36",
+ "input": [
+ "IR"
+ ],
+ "output": [
+ "R"
+ ],
+ "properties": {
+ "name": "t36"
+ }
+ },
+ {
+ "id": "t37",
+ "input": [
+ "A"
+ ],
+ "output": [
+ "R"
+ ],
+ "properties": {
+ "name": "t37"
+ }
+ },
+ {
+ "id": "t38",
+ "input": [
+ "AR"
+ ],
+ "output": [
+ "R"
+ ],
+ "properties": {
+ "name": "t38"
+ }
+ },
+ {
+ "id": "t39",
+ "input": [
+ "I",
+ "R"
+ ],
+ "output": [
+ "I",
+ "AR"
+ ],
+ "properties": {
+ "name": "t39"
+ }
+ },
+ {
+ "id": "t40",
+ "input": [
+ "IV",
+ "R"
+ ],
+ "output": [
+ "IV",
+ "AR"
+ ],
+ "properties": {
+ "name": "t40"
+ }
+ },
+ {
+ "id": "t41",
+ "input": [
+ "IR",
+ "R"
+ ],
+ "output": [
+ "IR",
+ "AR"
+ ],
+ "properties": {
+ "name": "t41"
+ }
+ },
+ {
+ "id": "t42",
+ "input": [
+ "A",
+ "R"
+ ],
+ "output": [
+ "A",
+ "AR"
+ ],
+ "properties": {
+ "name": "t42"
+ }
+ },
+ {
+ "id": "t43",
+ "input": [
+ "AR",
+ "R"
+ ],
+ "output": [
+ "AR",
+ "AR"
+ ],
+ "properties": {
+ "name": "t43"
+ }
+ },
+ {
+ "id": "t44",
+ "input": [
+ "I",
+ "R"
+ ],
+ "output": [
+ "I",
+ "IR"
+ ],
+ "properties": {
+ "name": "t44"
+ }
+ },
+ {
+ "id": "t45",
+ "input": [
+ "IV",
+ "R"
+ ],
+ "output": [
+ "IV",
+ "IR"
+ ],
+ "properties": {
+ "name": "t45"
+ }
+ },
+ {
+ "id": "t46",
+ "input": [
+ "IR",
+ "R"
+ ],
+ "output": [
+ "IR",
+ "IR"
+ ],
+ "properties": {
+ "name": "t46"
+ }
+ },
+ {
+ "id": "t47",
+ "input": [
+ "A",
+ "R"
+ ],
+ "output": [
+ "A",
+ "IR"
+ ],
+ "properties": {
+ "name": "t47"
+ }
+ },
+ {
+ "id": "t48",
+ "input": [
+ "AR",
+ "R"
+ ],
+ "output": [
+ "AR",
+ "IR"
+ ],
+ "properties": {
+ "name": "t48"
+ }
+ },
+ {
+ "id": "t49",
+ "input": [
+ "IR"
+ ],
+ "output": [
+ "R2"
+ ],
+ "properties": {
+ "name": "t49"
+ }
+ },
+ {
+ "id": "t50",
+ "input": [
+ "AR"
+ ],
+ "output": [
+ "R2"
+ ],
+ "properties": {
+ "name": "t50"
+ }
+ },
+ {
+ "id": "t51",
+ "input": [
+ "S"
+ ],
+ "output": [],
+ "properties": {
+ "name": "t51"
+ }
+ },
+ {
+ "id": "t52",
+ "input": [
+ "SVR"
+ ],
+ "output": [],
+ "properties": {
+ "name": "t52"
+ }
+ },
+ {
+ "id": "t53",
+ "input": [
+ "V1"
+ ],
+ "output": [],
+ "properties": {
+ "name": "t53"
+ }
+ },
+ {
+ "id": "t54",
+ "input": [
+ "V2"
+ ],
+ "output": [],
+ "properties": {
+ "name": "t54"
+ }
+ },
+ {
+ "id": "t55",
+ "input": [
+ "I"
+ ],
+ "output": [],
+ "properties": {
+ "name": "t55"
+ }
+ },
+ {
+ "id": "t56",
+ "input": [
+ "IV"
+ ],
+ "output": [],
+ "properties": {
+ "name": "t56"
+ }
+ },
+ {
+ "id": "t57",
+ "input": [
+ "IR"
+ ],
+ "output": [],
+ "properties": {
+ "name": "t57"
+ }
+ },
+ {
+ "id": "t58",
+ "input": [
+ "A"
+ ],
+ "output": [],
+ "properties": {
+ "name": "t58"
+ }
+ },
+ {
+ "id": "t59",
+ "input": [
+ "AR"
+ ],
+ "output": [],
+ "properties": {
+ "name": "t59"
+ }
+ },
+ {
+ "id": "t60",
+ "input": [
+ "R"
+ ],
+ "output": [],
+ "properties": {
+ "name": "t60"
+ }
+ },
+ {
+ "id": "t61",
+ "input": [
+ "R2"
+ ],
+ "output": [],
+ "properties": {
+ "name": "t61"
+ }
+ },
+ {
+ "id": "t62",
+ "input": [
+ "V1"
+ ],
+ "output": [
+ "SVR"
+ ],
+ "properties": {
+ "name": "t62"
+ }
+ },
+ {
+ "id": "t63",
+ "input": [
+ "V2"
+ ],
+ "output": [
+ "SVR"
+ ],
+ "properties": {
+ "name": "t63"
+ }
+ },
+ {
+ "id": "t64",
+ "input": [
+ "R"
+ ],
+ "output": [
+ "SVR"
+ ],
+ "properties": {
+ "name": "t64"
+ }
+ },
+ {
+ "id": "t65",
+ "input": [
+ "R2"
+ ],
+ "output": [
+ "SVR"
+ ],
+ "properties": {
+ "name": "t65"
+ }
+ }
+ ]
+ },
+ "semantics": {
+ "ode": {
+ "rates": [
+ {
+ "target": "t1",
+ "expression": "I*S*ai*beta",
+ "expression_mathml": "ISaibeta"
+ },
+ {
+ "target": "t2",
+ "expression": "IV*S*ai*beta",
+ "expression_mathml": "IVSaibeta"
+ },
+ {
+ "target": "t3",
+ "expression": "IR*S*ai*beta",
+ "expression_mathml": "IRSaibeta"
+ },
+ {
+ "target": "t4",
+ "expression": "A*S*ai*ai_beta_ratio*beta",
+ "expression_mathml": "ASai_beta_ratioaibeta"
+ },
+ {
+ "target": "t5",
+ "expression": "AR*S*ai*ai_beta_ratio*beta",
+ "expression_mathml": "ARSai_beta_ratioaibeta"
+ },
+ {
+ "target": "t6",
+ "expression": "I*V1*ai*beta_v1",
+ "expression_mathml": "IV1aibeta_v1"
+ },
+ {
+ "target": "t7",
+ "expression": "IV*V1*ai*beta_v1",
+ "expression_mathml": "IVV1aibeta_v1"
+ },
+ {
+ "target": "t8",
+ "expression": "IR*V1*ai*beta_v1",
+ "expression_mathml": "IRV1aibeta_v1"
+ },
+ {
+ "target": "t9",
+ "expression": "A*V1*ai*ai_beta_ratio*beta_v1",
+ "expression_mathml": "AV1ai_beta_ratioaibeta_v1"
+ },
+ {
+ "target": "t10",
+ "expression": "AR*V1*ai*ai_beta_ratio*beta_v1",
+ "expression_mathml": "ARV1ai_beta_ratioaibeta_v1"
+ },
+ {
+ "target": "t11",
+ "expression": "I*V2*ai*beta_v2",
+ "expression_mathml": "IV2aibeta_v2"
+ },
+ {
+ "target": "t12",
+ "expression": "IV*V2*ai*beta_v2",
+ "expression_mathml": "IVV2aibeta_v2"
+ },
+ {
+ "target": "t13",
+ "expression": "IR*V2*ai*beta_v2",
+ "expression_mathml": "IRV2aibeta_v2"
+ },
+ {
+ "target": "t14",
+ "expression": "A*V2*ai*ai_beta_ratio*beta_v2",
+ "expression_mathml": "AV2ai_beta_ratioaibeta_v2"
+ },
+ {
+ "target": "t15",
+ "expression": "AR*V2*ai*ai_beta_ratio*beta_v2",
+ "expression_mathml": "ARV2ai_beta_ratioaibeta_v2"
+ },
+ {
+ "target": "t16",
+ "expression": "I*S*beta*(1 - ai)",
+ "expression_mathml": "ISbeta1ai"
+ },
+ {
+ "target": "t17",
+ "expression": "IV*S*beta*(1 - ai)",
+ "expression_mathml": "IVSbeta1ai"
+ },
+ {
+ "target": "t18",
+ "expression": "IR*S*beta*(1 - ai)",
+ "expression_mathml": "IRSbeta1ai"
+ },
+ {
+ "target": "t19",
+ "expression": "A*S*ai_beta_ratio*beta*(1 - ai)",
+ "expression_mathml": "ASai_beta_ratiobeta1ai"
+ },
+ {
+ "target": "t20",
+ "expression": "AR*S*ai_beta_ratio*beta*(1 - ai)",
+ "expression_mathml": "ARSai_beta_ratiobeta1ai"
+ },
+ {
+ "target": "t21",
+ "expression": "I*V1*ai*beta_v1",
+ "expression_mathml": "IV1aibeta_v1"
+ },
+ {
+ "target": "t22",
+ "expression": "IV*V1*ai*beta_v1",
+ "expression_mathml": "IVV1aibeta_v1"
+ },
+ {
+ "target": "t23",
+ "expression": "IR*V1*ai*beta_v1",
+ "expression_mathml": "IRV1aibeta_v1"
+ },
+ {
+ "target": "t24",
+ "expression": "A*V1*ai*ai_beta_ratio*beta_v1",
+ "expression_mathml": "AV1ai_beta_ratioaibeta_v1"
+ },
+ {
+ "target": "t25",
+ "expression": "AR*V1*ai*ai_beta_ratio*beta_v1",
+ "expression_mathml": "ARV1ai_beta_ratioaibeta_v1"
+ },
+ {
+ "target": "t26",
+ "expression": "I*V2*ai*beta_v2",
+ "expression_mathml": "IV2aibeta_v2"
+ },
+ {
+ "target": "t27",
+ "expression": "IV*V2*ai*beta_v2",
+ "expression_mathml": "IVV2aibeta_v2"
+ },
+ {
+ "target": "t28",
+ "expression": "IR*V2*ai*beta_v2",
+ "expression_mathml": "IRV2aibeta_v2"
+ },
+ {
+ "target": "t29",
+ "expression": "A*V2*ai*ai_beta_ratio*beta_v2",
+ "expression_mathml": "AV2ai_beta_ratioaibeta_v2"
+ },
+ {
+ "target": "t30",
+ "expression": "AR*V2*ai*ai_beta_ratio*beta_v2",
+ "expression_mathml": "ARV2ai_beta_ratioaibeta_v2"
+ },
+ {
+ "target": "t31",
+ "expression": "0",
+ "expression_mathml": "0"
+ },
+ {
+ "target": "t32",
+ "expression": "0",
+ "expression_mathml": "0"
+ },
+ {
+ "target": "t33",
+ "expression": "0",
+ "expression_mathml": "0"
+ },
+ {
+ "target": "t34",
+ "expression": "I*gamma",
+ "expression_mathml": "Igamma"
+ },
+ {
+ "target": "t35",
+ "expression": "IV*gamma",
+ "expression_mathml": "IVgamma"
+ },
+ {
+ "target": "t36",
+ "expression": "IR*gamma",
+ "expression_mathml": "IRgamma"
+ },
+ {
+ "target": "t37",
+ "expression": "A*gamma",
+ "expression_mathml": "Agamma"
+ },
+ {
+ "target": "t38",
+ "expression": "AR*gamma",
+ "expression_mathml": "ARgamma"
+ },
+ {
+ "target": "t39",
+ "expression": "I*R*ai_R*beta_R",
+ "expression_mathml": "IRai_Rbeta_R"
+ },
+ {
+ "target": "t40",
+ "expression": "IV*R*ai_R*beta_R",
+ "expression_mathml": "IVRai_Rbeta_R"
+ },
+ {
+ "target": "t41",
+ "expression": "IR*R*ai_R*beta_R",
+ "expression_mathml": "IRRai_Rbeta_R"
+ },
+ {
+ "target": "t42",
+ "expression": "A*R*ai_R*ai_beta_ratio*beta_R",
+ "expression_mathml": "ARai_Rai_beta_ratiobeta_R"
+ },
+ {
+ "target": "t43",
+ "expression": "AR*R*ai_R*ai_beta_ratio*beta_R",
+ "expression_mathml": "ARRai_Rai_beta_ratiobeta_R"
+ },
+ {
+ "target": "t44",
+ "expression": "I*R*beta_R*(1 - ai_R)",
+ "expression_mathml": "IRbeta_R1ai_R"
+ },
+ {
+ "target": "t45",
+ "expression": "IV*R*beta_R*(1 - ai_R)",
+ "expression_mathml": "IVRbeta_R1ai_R"
+ },
+ {
+ "target": "t46",
+ "expression": "IR*R*beta_R*(1 - ai_R)",
+ "expression_mathml": "IRRbeta_R1ai_R"
+ },
+ {
+ "target": "t47",
+ "expression": "A*R*ai_beta_ratio*beta_R*(1 - ai_R)",
+ "expression_mathml": "ARai_beta_ratiobeta_R1ai_R"
+ },
+ {
+ "target": "t48",
+ "expression": "AR*R*ai_beta_ratio*beta_R*(1 - ai_R)",
+ "expression_mathml": "ARRai_beta_ratiobeta_R1ai_R"
+ },
+ {
+ "target": "t49",
+ "expression": "IR*gamma",
+ "expression_mathml": "IRgamma"
+ },
+ {
+ "target": "t50",
+ "expression": "AR*gamma",
+ "expression_mathml": "ARgamma"
+ },
+ {
+ "target": "t51",
+ "expression": "S*mu",
+ "expression_mathml": "Smu"
+ },
+ {
+ "target": "t52",
+ "expression": "SVR*mu",
+ "expression_mathml": "SVRmu"
+ },
+ {
+ "target": "t53",
+ "expression": "V1*mu",
+ "expression_mathml": "V1mu"
+ },
+ {
+ "target": "t54",
+ "expression": "V2*mu",
+ "expression_mathml": "V2mu"
+ },
+ {
+ "target": "t55",
+ "expression": "I*mu_I",
+ "expression_mathml": "Imu_I"
+ },
+ {
+ "target": "t56",
+ "expression": "IV*mu_IV",
+ "expression_mathml": "IVmu_IV"
+ },
+ {
+ "target": "t57",
+ "expression": "IR*mu",
+ "expression_mathml": "IRmu"
+ },
+ {
+ "target": "t58",
+ "expression": "A*mu",
+ "expression_mathml": "Amu"
+ },
+ {
+ "target": "t59",
+ "expression": "AR*mu",
+ "expression_mathml": "ARmu"
+ },
+ {
+ "target": "t60",
+ "expression": "R*mu",
+ "expression_mathml": "Rmu"
+ },
+ {
+ "target": "t61",
+ "expression": "R2*mu",
+ "expression_mathml": "R2mu"
+ },
+ {
+ "target": "t62",
+ "expression": "V1*nu_v1",
+ "expression_mathml": "V1nu_v1"
+ },
+ {
+ "target": "t63",
+ "expression": "V2*nu_v2",
+ "expression_mathml": "V2nu_v2"
+ },
+ {
+ "target": "t64",
+ "expression": "R*nu_R",
+ "expression_mathml": "Rnu_R"
+ },
+ {
+ "target": "t65",
+ "expression": "R2*nu_R",
+ "expression_mathml": "R2nu_R"
+ }
+ ],
+ "initials": [],
+ "parameters": [
+ {
+ "id": "ai",
+ "value": 0.5
+ },
+ {
+ "id": "beta",
+ "value": 3.3e-09
+ },
+ {
+ "id": "ai_beta_ratio",
+ "value": 3.0
+ },
+ {
+ "id": "beta_v1",
+ "value": 6.600000000000001e-10
+ },
+ {
+ "id": "beta_v2",
+ "value": 1.6500000000000002e-10
+ },
+ {
+ "id": "gamma",
+ "value": 0.03571428571428571
+ },
+ {
+ "id": "ai_R",
+ "value": 0.85
+ },
+ {
+ "id": "beta_R",
+ "value": 1.6500000000000002e-10
+ },
+ {
+ "id": "mu",
+ "value": 298.7
+ },
+ {
+ "id": "mu_I",
+ "value": 0.001
+ },
+ {
+ "id": "mu_IV",
+ "value": 0.00015
+ },
+ {
+ "id": "nu_v1",
+ "value": 0.0027397260273972603
+ },
+ {
+ "id": "nu_v2",
+ "value": 0.0006849315068493151
+ },
+ {
+ "id": "nu_R",
+ "value": 0.0006849315068493151
+ }
+ ],
+ "observables": [],
+ "time": {
+ "id": "t"
+ }
+ }
+ },
+ "metadata": {
+ "annotations": {
+ "license": null,
+ "authors": [],
+ "references": [],
+ "time_scale": null,
+ "time_start": null,
+ "time_end": null,
+ "locations": [],
+ "pathogens": [],
+ "diseases": [],
+ "hosts": [],
+ "model_types": []
+ }
+ }
+}
\ No newline at end of file