vivarium-public-health 4.0.2__py3-none-any.whl → 4.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- vivarium_public_health/_version.py +1 -1
- vivarium_public_health/disease/model.py +15 -1
- vivarium_public_health/disease/transition.py +8 -1
- {vivarium_public_health-4.0.2.dist-info → vivarium_public_health-4.1.0.dist-info}/METADATA +2 -2
- {vivarium_public_health-4.0.2.dist-info → vivarium_public_health-4.1.0.dist-info}/RECORD +8 -8
- {vivarium_public_health-4.0.2.dist-info → vivarium_public_health-4.1.0.dist-info}/WHEEL +1 -1
- {vivarium_public_health-4.0.2.dist-info → vivarium_public_health-4.1.0.dist-info}/licenses/LICENSE.txt +0 -0
- {vivarium_public_health-4.0.2.dist-info → vivarium_public_health-4.1.0.dist-info}/top_level.txt +0 -0
@@ -1 +1 @@
|
|
1
|
-
__version__ = "4.0
|
1
|
+
__version__ = "4.1.0"
|
@@ -14,14 +14,16 @@ from functools import partial
|
|
14
14
|
from typing import Any
|
15
15
|
|
16
16
|
import pandas as pd
|
17
|
+
from layered_config_tree import ConfigurationError
|
17
18
|
from vivarium.framework.engine import Builder
|
19
|
+
from vivarium.framework.event import Event
|
18
20
|
from vivarium.framework.population import SimulantData
|
19
21
|
from vivarium.framework.state_machine import Machine
|
20
22
|
from vivarium.types import DataInput, LookupTableData
|
21
23
|
|
22
24
|
from vivarium_public_health.disease.exceptions import DiseaseModelError
|
23
25
|
from vivarium_public_health.disease.state import BaseDiseaseState, SusceptibleState
|
24
|
-
from vivarium_public_health.disease.transition import TransitionString
|
26
|
+
from vivarium_public_health.disease.transition import RateTransition, TransitionString
|
25
27
|
|
26
28
|
|
27
29
|
class DiseaseModel(Machine):
|
@@ -118,6 +120,18 @@ class DiseaseModel(Machine):
|
|
118
120
|
required_resources=["age", "sex"],
|
119
121
|
)
|
120
122
|
|
123
|
+
def on_post_setup(self, event: Event) -> None:
|
124
|
+
conversion_types = set()
|
125
|
+
for state in self.states:
|
126
|
+
for transition in state.transition_set.transitions:
|
127
|
+
if isinstance(transition, RateTransition):
|
128
|
+
conversion_types.add(transition.rate_conversion_type)
|
129
|
+
if len(conversion_types) > 1:
|
130
|
+
raise ConfigurationError(
|
131
|
+
"All transitions in a disease model must have the same rate conversion type."
|
132
|
+
f" Found: {conversion_types}."
|
133
|
+
)
|
134
|
+
|
121
135
|
def on_initialize_simulants(self, pop_data: SimulantData) -> None:
|
122
136
|
"""Initialize the simulants in the population.
|
123
137
|
|
@@ -48,6 +48,7 @@ class RateTransition(Transition):
|
|
48
48
|
"data_sources": {
|
49
49
|
"transition_rate": self._rate_source,
|
50
50
|
},
|
51
|
+
"rate_conversion_type": "linear",
|
51
52
|
},
|
52
53
|
}
|
53
54
|
|
@@ -143,6 +144,7 @@ class RateTransition(Transition):
|
|
143
144
|
component=self,
|
144
145
|
required_resources=lookup_columns + ["alive", self.joint_paf],
|
145
146
|
)
|
147
|
+
self.rate_conversion_type = self.configuration["rate_conversion_type"]
|
146
148
|
|
147
149
|
#################
|
148
150
|
# Setup methods #
|
@@ -184,7 +186,12 @@ class RateTransition(Transition):
|
|
184
186
|
##################
|
185
187
|
|
186
188
|
def _probability(self, index: pd.Index) -> pd.Series:
|
187
|
-
return pd.Series(
|
189
|
+
return pd.Series(
|
190
|
+
rate_to_probability(
|
191
|
+
self.transition_rate(index),
|
192
|
+
rate_conversion_type=self.rate_conversion_type,
|
193
|
+
)
|
194
|
+
)
|
188
195
|
|
189
196
|
|
190
197
|
class ProportionTransition(Transition):
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: vivarium_public_health
|
3
|
-
Version: 4.0
|
3
|
+
Version: 4.1.0
|
4
4
|
Summary: Components for modelling diseases, risks, and interventions with ``vivarium``
|
5
5
|
Home-page: https://github.com/ihmeuw/vivarium_public_health
|
6
6
|
Author: The vivarium developers
|
@@ -26,7 +26,7 @@ Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
|
|
26
26
|
Classifier: Topic :: Scientific/Engineering :: Physics
|
27
27
|
Classifier: Topic :: Software Development :: Libraries
|
28
28
|
License-File: LICENSE.txt
|
29
|
-
Requires-Dist: vivarium>=3.
|
29
|
+
Requires-Dist: vivarium>=3.4.0
|
30
30
|
Requires-Dist: layered_config_tree>=1.0.1
|
31
31
|
Requires-Dist: loguru
|
32
32
|
Requires-Dist: numpy<2.0.0
|
@@ -1,14 +1,14 @@
|
|
1
1
|
vivarium_public_health/__about__.py,sha256=RgWycPypKZS80TpSX7o41cREnG8PfguNHDHLuLyl820,487
|
2
2
|
vivarium_public_health/__init__.py,sha256=GDeeP-7OlCBwPuv_xQoB1wNmvCaFsqfTB7qnnYApm0w,1343
|
3
|
-
vivarium_public_health/_version.py,sha256=
|
3
|
+
vivarium_public_health/_version.py,sha256=jegJMYuSW90VKiMotVdNAakBvYVPirm-A5oeyJVuhH8,22
|
4
4
|
vivarium_public_health/utilities.py,sha256=QNXQ6fhAr1HcV-GwKw7wQLz6QyuNxqNvMA-XujKjTgs,3035
|
5
5
|
vivarium_public_health/disease/__init__.py,sha256=VUJHDLlE6ngo2qHNQUtZ8OWH5H_T7_ao-xsYKDkRmHw,443
|
6
6
|
vivarium_public_health/disease/exceptions.py,sha256=vb30IIV82OiDf2cNZCs_E2rF6mdDDHbnZSND60no5CU,97
|
7
|
-
vivarium_public_health/disease/model.py,sha256=
|
7
|
+
vivarium_public_health/disease/model.py,sha256=hCJ3_AVzw1JSIYGGXJqQ2r5o-f3XrPcNQ4rwwm_7jO4,9862
|
8
8
|
vivarium_public_health/disease/models.py,sha256=01UK7yB2zGPFzmlIpvhd-XnGe6vSCMDza3QTidgY7Nc,3479
|
9
9
|
vivarium_public_health/disease/special_disease.py,sha256=4tGfnXSVuNYsA7izX9y81ByJe46c4h293szVt7AyPMA,14605
|
10
10
|
vivarium_public_health/disease/state.py,sha256=ptcNETOo8a0NRXOdUhZMgCJa2h3Pt5ZElhMOKonkD4c,28560
|
11
|
-
vivarium_public_health/disease/transition.py,sha256=
|
11
|
+
vivarium_public_health/disease/transition.py,sha256=HPvv1l322XiQcNXIgDTt3WvytxSbuz_2jyPj-spQE3Y,9209
|
12
12
|
vivarium_public_health/mslt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
13
13
|
vivarium_public_health/mslt/delay.py,sha256=_neQ8oL2IhCqH0hiM4Od4Eb8NfYjyjSoniq02PFieTw,22872
|
14
14
|
vivarium_public_health/mslt/disease.py,sha256=Kwy7cDqiE9yYCsLV_7pAP7ZOe7GWVHUBe39a-GOInVU,16867
|
@@ -43,8 +43,8 @@ vivarium_public_health/treatment/__init__.py,sha256=wONElu9aJbBYwpYIovYPYaN_GYfV
|
|
43
43
|
vivarium_public_health/treatment/magic_wand.py,sha256=zg4I48G-l9fC6-qjvApbM1zNACJimZlX9ZZ9fdHKwvc,1985
|
44
44
|
vivarium_public_health/treatment/scale_up.py,sha256=_bsf9c_yVc7-q_-yBcXimISTUfYzPps1auH0uEf7sfQ,7048
|
45
45
|
vivarium_public_health/treatment/therapeutic_inertia.py,sha256=ZIHnpuszZwA_BkS53JbSLvpcnX_bqG2knwCUyUgkA9M,2362
|
46
|
-
vivarium_public_health-4.0.
|
47
|
-
vivarium_public_health-4.0.
|
48
|
-
vivarium_public_health-4.0.
|
49
|
-
vivarium_public_health-4.0.
|
50
|
-
vivarium_public_health-4.0.
|
46
|
+
vivarium_public_health-4.1.0.dist-info/licenses/LICENSE.txt,sha256=mN4bNLUQNcN9njYRc_3jCZkfPySVpmM6MRps104FxA4,1548
|
47
|
+
vivarium_public_health-4.1.0.dist-info/METADATA,sha256=PHv-B0x7CeotS3pLGNU-qNqqdMvKeO25QYLQG2xSUZ0,4237
|
48
|
+
vivarium_public_health-4.1.0.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
|
49
|
+
vivarium_public_health-4.1.0.dist-info/top_level.txt,sha256=VVInlpzCFD0UNNhjOq_j-a29odzjwUwYFTGfvqbi4dY,23
|
50
|
+
vivarium_public_health-4.1.0.dist-info/RECORD,,
|
File without changes
|
{vivarium_public_health-4.0.2.dist-info → vivarium_public_health-4.1.0.dist-info}/top_level.txt
RENAMED
File without changes
|