No project description provided
Project description
Vpop calibration
Description
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.
The approach was mainly inspired from [^Grenier2018].
Currently available features
- Surrogate modeling using gaussian processes, implemented using GPyTorch
- Synthetic data generation using ODE models. The current implementation uses scipy.integrate.solve_ivp, parallelized with multiprocessing
- Non-linear mixed effect models, see the dedicated doc:
- Log-distributed parameters
- Additive or multiplicative error model
- Covariates handling
- Known individual patient descriptors (i.e. covariates with no effect on other descriptors outside of the structural model)
- SAEM: see the dedicated doc
- Optimization of random and fixed effects using repeated longitudinal data
- Individual parameter estimation
- Conditional distribution sampling: the posterior conditional distribution may directly be sampled using Metropolis-Hastings algorithm
- Empirical Bayesian Estimators (EBEs) or Maximum A Posteriori (MAP) estimates: these values represent the mode of the conditional distribution for each parameter and each patient. The current implementation is sub-optimal for
torchsurrogate models as it does not leverage the gradient predictions.
- Diagnostics:
- Post-inference diagnostics are available, and different type sof weighted residuals may be plotted (IWRES, PWRES, NPDE)
Getting started
- Tutorial: 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
In-depth examples
- Surrogate model training
- Running SAEM without surrogate model
- Running SAEM on a reference ODE model. Note: the current implementation is notably under-optimized for running SAEM directly on an ODE structural model. This is implemented for testing purposes mostly
- Benchmarking examples
Support
For any issue or comments, please reach out to paul.lemarre@novainsilico.ai, or feel free to open an issue in the repo directly.
Authors
- Paul Lemarre
- Eléonore Dravet
- Hugo Alves
Acknowledgements
- Adeline Leclercq-Samson
- Eliott Tixier
- Louis Philippe
Roadmap
- NLME:
- Support additional error models (additive-multiplicative, power, etc...)
- Support additional covariate models (categorical covariates)
- Compute likelihood via importance sampling following population parameters optimization
- Structural models:
- Integrate with SBML models (Roadrunner)
- Surrogate models:
- Support additional surrogate models in PyTorch
- Optimizer:
- Add preconditioned Stochastic-Gradient-Descent (SGD) method for surrogate model optimization
QSPC26 poster
This work was presented at QSPC2026 in Leiden, and all the corresponding material is introduced in this document. The benchmark notebooks for standard data sets are available directly for orange trees and theophylline.
The poster itself will be made available in the repository as soon as it is ready.
References
[^Grenier2018]: Grenier et al. 2018: 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vpop_calibration-3.0.4.tar.gz.
File metadata
- Download URL: vpop_calibration-3.0.4.tar.gz
- Upload date:
- Size: 55.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.13.8 Linux/6.12.28
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae64a4ea648ca221b5e2e94b3fd17bf8d89de5ce534af4bc478feef29006b1f6
|
|
| MD5 |
02ff4737662b821e570e4117fa7908df
|
|
| BLAKE2b-256 |
bd48e67babdfec4de49877543d83e50fcbcaf8c83a5c182805122bf968228df1
|
File details
Details for the file vpop_calibration-3.0.4-py3-none-any.whl.
File metadata
- Download URL: vpop_calibration-3.0.4-py3-none-any.whl
- Upload date:
- Size: 63.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.13.8 Linux/6.12.28
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34123720393b3b3831104dda9f2ccf0e8355601ca85a6b15ac805a2d8c962d7b
|
|
| MD5 |
98f7a8b1dea9fc0220d74ca37443058c
|
|
| BLAKE2b-256 |
25f9f4d254864ceec8151ccf55137bf410ed3edc57fb8fe053b02007a144ca03
|