Skip to main content

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 1.

Here is an overview of the proposed workflow: flowchart

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 torch surrogate 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)

Tensor shapes in comments and docs use the notation described in tensor_shapes.md.

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

Support

For any issue or comments, please reach out to eliott.tixier@novainsilico.ai, or feel free to open an issue in the repo directly.

Authors

  • Paul Lemarre
  • Eléonore Dravet
  • Hugo Alves

Active maintainers

  • Eliott Tixier
  • Guillaume Bouchard
  • Louis Philippe
  • Hugo Alves
  • Nicolas Ratto
  • Théo Plissonneau

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 is available in this document. The full list of references is available in this document.

Roadmap

Here are a few planned features, in an unordered and non-exhaustive list:

  • 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 (e.g. Roadrunner)
  • Surrogate models:
    • Support additional surrogate models in PyTorch
  • Optimizer:
    • Add preconditioned Stochastic-Gradient-Descent (SGD) method for surrogate model optimization

References

  1. 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 ↩

Metadata

Release files for vpop-calibration 4.7.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vpop-calibration 4.7.7
File Size Uploaded Provenance Actions
vpop_calibration-4.7.7.tar.gz 413.4 kB Without provenance Details for vpop_calibration-4.7.7.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for vpop-calibration 4.7.7
File Interpreter ABI Platform Actions
vpop_calibration-4.7.7-py3-none-any.whl Python 3 none any Details for vpop_calibration-4.7.7-py3-none-any.whl

Total release size: 876.2 kB

Release files / vpop_calibration-4.7.7.tar.gz

Download URL vpop_calibration-4.7.7.tar.gz
Size 413.4 kB
Tags Source
SHA-256 checksum
How to use checksums
a557f17018c0ad526df40e1660243e34b9fb80755c3c3162c9ba179b06274ee2
BLAKE2b-256 checksum
How to use checksums
b077109311f2f604132ed9e343ebd4110fd5b5b210fa0c433f5b7eea8574e41a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.1 CPython/3.13.13 Linux/6.18.57

Release files / vpop_calibration-4.7.7-py3-none-any.whl

Download URL vpop_calibration-4.7.7-py3-none-any.whl
Size 462.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
163a85de6b02524184ce956c35122762052f65ef4e166c8f27c794cf23d2507c
BLAKE2b-256 checksum
How to use checksums
6b4727b1c02ce34be56a8b8e51cc9995e0190527c61d04fc376dceb30806ee39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.1 CPython/3.13.13 Linux/6.18.57

Security for vpop-calibration 4.7.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

4.7.7 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page