vpop-calibration 2.2.8__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.
@@ -0,0 +1,78 @@
1
+ Metadata-Version: 2.4
2
+ Name: vpop-calibration
3
+ Version: 2.2.8
4
+ Summary:
5
+ License-File: LICENSE
6
+ Author: Paul Lemarre
7
+ Author-email: paul.lemarre@novainsilico.ai
8
+ Requires-Python: >=3.12,<4.0
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: Programming Language :: Python :: 3.12
11
+ Classifier: Programming Language :: Python :: 3.13
12
+ Classifier: Programming Language :: Python :: 3.14
13
+ Requires-Dist: gpytorch (>=1.14.2,<2.0.0)
14
+ Requires-Dist: matplotlib (>=3.10.7,<4.0.0)
15
+ Requires-Dist: numpy (>=2.3.4,<3.0.0)
16
+ Requires-Dist: pandas (>=2.3.3,<3.0.0)
17
+ Requires-Dist: plotly (>=6.4.0,<7.0.0)
18
+ Requires-Dist: scipy (>=1.16.3,<2.0.0)
19
+ Requires-Dist: torch
20
+ Requires-Dist: tqdm (>=4.67.1,<5.0.0)
21
+ Requires-Dist: uuid (>=1.30,<2.0)
22
+ Description-Content-Type: text/markdown
23
+
24
+ # Vpop calibration
25
+
26
+ ## Description
27
+
28
+ A set of Python tools to allow for virtual population calibration, using a non-linear mixed effects (NLME) model approach, combined with surrogate models in order to speed up the simulation of QSP models.
29
+
30
+ ### Currently available features
31
+
32
+ - Surrogate modeling using gaussian processes, implemented using [GPyTorch](https://github.com/cornellius-gp/gpytorch)
33
+ - Synthetic data generation using ODE models. The current implementation uses [scipy.integrate.solve_ivp](https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.solve_ivp.html), parallelized with [multiprocessing](https://docs.python.org/3/library/multiprocessing.html)
34
+ - Non-linear mixed effect models:
35
+ - Log-distributed parameters
36
+ - Additive or multiplicative error model
37
+ - Covariates handling
38
+ - Known individual patient descriptors (i.e. covariates with no effect on other descriptors outside of the structural model)
39
+ - SAEM: see the [dedicated doc](./docs/saem_implementation.md) for more details
40
+
41
+ ## Getting started
42
+
43
+ - [Tutorial](./examples/saem_gp_model.ipynb): this notebook demonstrates step-by-step how to create and train a surrogate model, using a reference ODE model and a GP surrogate model. It then showcases how to optimize the surrogate model on synthetic data using SAEM
44
+ - Other available examples:
45
+ - [Data generation using Sobol sequences](./examples/generate_data_ranges.ipynb)
46
+ - [Data generation using a reference NLME model](./examples/generate_data_nlme.ipynb)
47
+ - [Training and exporting a GP using synthetic data](./examples/train_gp.ipynb)
48
+ - [Running SAEM on a reference ODE model](./examples/saem_ode_model.ipynb). Note: the current implementation is notably under-optimized for running SAEM directly on an ODE structural model. This is implemented for testing purposes mostly
49
+ - [Training a GP with a deep kernel](./examples/train_deep_kernel.ipynb)
50
+
51
+ ## Support
52
+
53
+ For any issue or comments, please reach out to paul.lemarre@novainsilico.ai, or feel free to open an issue in the repo directly.
54
+
55
+ ## Authors and acknowledgment
56
+
57
+ - Paul Lemarre
58
+ - Eléonore Dravet
59
+ - Adeline Leclerq-Sampson
60
+
61
+ ## Roadmap
62
+
63
+ - NLME:
64
+ - Support additional error models (additive-multiplicative, power, etc...)
65
+ - Support additional covariate models (categorical covariates)
66
+ - Add residual diagnostic methods (weighted residuals computation and visualization)
67
+ - Structural models:
68
+ - Integrate with SBML models (Roadrunner)
69
+ - Surrogate models:
70
+ - Support additional surrogate models in PyTorch
71
+ - Optimizer:
72
+ - Add SVGP for surrogate model optimization
73
+
74
+ ## References
75
+
76
+ - [Delyon et al. 99](https://doi.org/10.1214/aos/1018031103): Bernard Delyon. Marc Lavielle. Eric Moulines. "Convergence of a stochastic approximation version of the EM algorithm." Ann. Statist. 27 (1) 94 - 128, February 1999. https://doi.org/10.1214/aos/1018031103
77
+ - [Grenier et al. 2018](https://doi.org/10.1007/s40314-016-0337-5): Grenier, E., Helbert, C., Louvet, V. et al. Population parametrization of costly black box models using iterations between SAEM algorithm and kriging. Comp. Appl. Math. 37, 161–173 (2018). https://doi.org/10.1007/s40314-016-0337-5
78
+
@@ -0,0 +1,22 @@
1
+ vpop_calibration/__init__.py,sha256=NsFFrwCxus0pY406tlzP302Bpc4_TwXEnXPtgCpG0-w,650
2
+ vpop_calibration/data_generation.py,sha256=yuYwYYUHIL9vOSVLXSB4PLKPtaGfcn0o0A2Vch4OEuo,7443
3
+ vpop_calibration/diagnostics.py,sha256=6OUQm3dlEhiC3uZ618IAtdZcjb1UwOXhdp58_zpfiHo,6038
4
+ vpop_calibration/model/__init__.py,sha256=6tWusnXrxEGRMB6vx7gwxVgsqjlAVFVQsQzgBHl8fYI,37
5
+ vpop_calibration/model/data.py,sha256=S1lbCR8y79UUTC2o28ElSXtSjSH6OSQZ19rOlqpBXL8,19107
6
+ vpop_calibration/model/gp.py,sha256=Bz8D0EztdnPyat2T-JsNpr_nKMHaCPdawl1gGEOGayk,22102
7
+ vpop_calibration/model/plot.py,sha256=dgrRZbDU7sO6hH_I_6NqFM2qOm_DJbuytYabOy7GHJ8,8534
8
+ vpop_calibration/nlme.py,sha256=R0EvM5_lPXFAArenuDUwVSmzMmGcGl2gIKLmxZ4J3MY,35988
9
+ vpop_calibration/ode.py,sha256=hPE8VXBgJLd9R53bdPhi302grEhaFw-ww05m99X23hE,7860
10
+ vpop_calibration/saem.py,sha256=ACBfWCT2Mn4MGNb_RFSXcP-og8b2zGuzNsoGjmq0O0I,38295
11
+ vpop_calibration/structural_model.py,sha256=RBSFdftziI5_fDu89yXsJvbDOy2ic-SsuvgKPF5-tlI,7739
12
+ vpop_calibration/test/__init__.py,sha256=BZX2jFrWr2Cj0lUKa-GU1M7R-pScpQ68p-xY_3jy1Mc,272
13
+ vpop_calibration/test/test_data.py,sha256=PEbsUrno1zSJqR7_E0U-BDjbx6Scuo5xPP6-jYRFe1Y,661
14
+ vpop_calibration/test/test_gp_flavors.py,sha256=kFAa4Z3M2NIz7lZkx7uTvLHA-I_Snk6fB3HVEZrWRk4,2603
15
+ vpop_calibration/test/test_gp_saem.py,sha256=on9muQYm7Q1m4taxcE1eS3YvrtaSgDJK9c5_QTp3dvw,5156
16
+ vpop_calibration/test/test_ode_saem.py,sha256=B9dXUt0NA8GZoO425mP8zQEsGPHQCfMq6EWqc3XolNU,3595
17
+ vpop_calibration/utils.py,sha256=OD1Q4-07awCOLsofYgZRJqND928MmqNiULrIb61pIXM,184
18
+ vpop_calibration/vpop.py,sha256=KchXyhhKwEcMhrbuedoEBytPjFw8XUfl399gqkzz4r8,1991
19
+ vpop_calibration-2.2.8.dist-info/METADATA,sha256=s7C5I7bsIK3992abOwa5KV2Ez_LWLQqPshlF8bkJOSY,3925
20
+ vpop_calibration-2.2.8.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
21
+ vpop_calibration-2.2.8.dist-info/licenses/LICENSE,sha256=XhDgjsKzfp_sMAOTLzHRsS7CAfGulZ2h2wuupBiaRh8,1061
22
+ vpop_calibration-2.2.8.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: poetry-core 2.2.1
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Nova
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.