2025-11-19T22:19:14.675012

SUND: simulation using nonlinear dynamic models - a toolbox for simulating multi-level, time-dynamic systems in a modular way

Podéus, Magnusson, Keshmiri et al.
When modeling complex, hierarchical, and time-dynamic systems, such as biological systems, good computational tools are essential. Current tools, while powerful, often lack comprehensive frameworks for modular model composition, hierarchical system building, and time-dependent input handling, particularly within the Python ecosystem. We present SUND (Simulation Using Nonlinear Dynamic models), a Python toolbox designed to address these challenges. SUND provides a unified framework for defining, combining, and simulating multi-level time-dynamic systems. The toolbox enables users to define models with interconnectable inputs and outputs, facilitating the construction of complex systems from simpler, reusable components. It supports time-dependent functions and piecewise constant inputs, enabling intuitive simulation of various experimental conditions such as multiple dosing schemes. We demonstrate the toolbox's capabilities through simulation of a multi-level human glucose-insulin system model, showcasing its flexibility in handling multiple temporal scales, and levels of biological detail. SUND is open-source, easily extensible, and available at PyPI (https://pypi.org/project/sund/) and at Gitlab (https://gitlab.liu.se/ISBgroup/projects/sund/).
academic

SUND : simulation utilisant des modèles dynamiques non linéaires - une boîte à outils pour simuler des systèmes multi-niveaux et dynamiques dans le temps de manière modulaire

Informations fondamentales

  • ID de l'article : 2510.13932
  • Titre : SUND: simulation using nonlinear dynamic models - a toolbox for simulating multi-level, time-dynamic systems in a modular way
  • Auteurs : Henrik Podéus, Gustav Magnusson, Sasan Keshmiri, Kajsa Tunedal, Nicolas Sundqvist, William Lövfors, Gunnar Cedersund
  • Classification : q-bio.QM (Méthodes quantitatives)
  • Date de publication : 17 octobre 2025 (prépublication arXiv)
  • Lien de l'article : https://arxiv.org/abs/2510.13932

Résumé

Cet article présente SUND (Simulation Using Nonlinear Dynamic models), une boîte à outils Python conçue spécifiquement pour simuler des systèmes multi-niveaux et dynamiques dans le temps. SUND résout les insuffisances des outils actuels en matière de composition modulaire de modèles, de construction de systèmes hiérarchiques et de traitement des entrées dépendantes du temps, particulièrement dans l'écosystème Python. La boîte à outils fournit un cadre unifié pour définir, combiner et simuler des systèmes dynamiques multi-niveaux, en soutenant la définition de modèles avec des entrées-sorties interconnectables, favorisant la construction de systèmes complexes à partir de composants simples et réutilisables. La boîte à outils supporte les fonctions dépendantes du temps et les entrées constantes par morceaux, permettant de simuler intuitivement diverses conditions expérimentales.

Contexte de recherche et motivation

Identification des problèmes

La modélisation mathématique de systèmes complexes hiérarchiques dynamiques dans le temps (en particulier les systèmes biologiques) nécessite des outils informatiques robustes. Les outils actuels, bien que puissants, présentent des limitations dans les domaines suivants :

  1. Composition modulaire de modèles : manque d'un cadre complet soutenant la construction modulaire de modèles
  2. Construction de systèmes hiérarchiques : difficulté à traiter les architectures de systèmes multi-niveaux
  3. Traitement des entrées dépendantes du temps : capacités insuffisantes pour gérer les entrées variables dans le temps
  4. Support de l'écosystème Python : absence de solution complète dans l'environnement Python

Analyse de l'importance

Les systèmes biologiques sont par nature dynamiques dans le temps, généralement modélisés sur la base d'équations différentielles ordinaires (EDO) ou d'équations différentielles-algébriques (EDA). La complexité de ces systèmes rend la mise en œuvre de la simulation et l'analyse de modèles connexes difficiles. Les outils existants tels que SciPy, AMICI, CellML, etc., bien qu'ils offrent des fonctionnalités puissantes, ne constituent pas un outil unique capable de répondre à tous les besoins.

Limitations des approches existantes

Les auteurs identifient l'absence d'un outil dans l'écosystème Python qui satisfasse simultanément aux cinq exigences suivantes :

  1. Composition modulaire de modèles avec connectivité entrée/sortie
  2. Création de plusieurs instances de modèles dans différents conteneurs
  3. Spécification flexible des entrées dépendantes du temps
  4. Définition directe des systèmes d'équations EDO/EDA
  5. Implémentation en tant que paquet Python libre et open source

Contributions principales

  1. Développement de la boîte à outils SUND : premier outil complet de l'écosystème Python satisfaisant simultanément aux exigences de modélisation modulaire, de gestion des instances conteneurisées, de traitement des entrées dépendantes du temps, etc.
  2. Implémentation d'une architecture de conception modulaire : soutient la décomposition de modèles plats complexes contenant des centaines d'EDO en composants interconnectés gérables
  3. Fourniture d'un système flexible de connexion entrée-sortie : réalise l'intégration transparente de modèles avec différentes conventions de nommage grâce à des fonctionnalités de mappage
  4. Intégration de la conversion automatique des unités de temps : soutient la combinaison transparente de modèles avec différentes échelles de temps, de la nanoseconde à l'année
  5. Publication open source : outil open source sous licence MIT, accessible via PyPI et GitLab

Détails méthodologiques

Définition des tâches

SUND vise à fournir un cadre unifié pour définir, combiner et simuler des systèmes dynamiques multi-niveaux dans le temps. Les entrées incluent les systèmes d'équations EDO/EDA, les fonctions dépendantes du temps et les paramètres du modèle ; les sorties sont les résultats de simulation en série temporelle. Les contraintes incluent la stabilité numérique et la compatibilité entre modules.

Conception architecturale

Composants principaux

SUND adopte une conception orientée objet, combinant des composants Python et C++ :

  1. Objets modèles (Model Objects)
    • Contiennent des formules mathématiques définies par l'utilisateur dans des fichiers texte ou des chaînes multi-lignes
    • Utilisent une syntaxe similaire à SBToolbox pour la représentation des modèles
    • Compilés et installés en tant que modules Python, utilisables pour la simulation dans diverses conditions expérimentales
    • Soutiennent les entrées et sorties de modèles définies par l'utilisateur, réalisant une conception modulaire
  2. Objets d'activité (Activity Objects)
    • Objets utilisés pour générer les entrées du modèle
    • Soutiennent les fonctions dépendantes du temps : constantes par morceaux, linéaires par morceaux, fonctions spline cubiques et constantes
    • Soutiennent le mappage entre les noms d'entrée/sortie internes et externes
    • Facilitent la combinaison de modèles avec différentes conventions de nommage
  3. Objets de simulation (Simulation Objects)
    • Combinent les objets modèles et d'activité pour créer des instances de simulation
    • Peuvent être exécutés dans différents intervalles de temps, soutenant diverses étapes de temps et paramètres de solveurs numériques
    • Génèrent les résultats de simulation du modèle

Implémentation technique

  • Interface utilisateur Python : assure la facilité d'utilisation
  • Noyau de calcul C++ : garantit un calcul efficace et l'interface directe avec le solveur SUNDIALS
  • Intégration SUNDIALS : utilise la suite de solveurs numériques SUNDIALS pour résoudre les systèmes EDO et EDA
  • Support NumPy : pour les opérations numériques
  • Compilation Setuptools : pour la compilation C++

Points d'innovation technique

  1. Capacité de composition modulaire
    • Décompose les modèles plats complexes en composants interconnectés gérables
    • Améliore la maintenabilité et favorise la réutilisation et le développement collaboratif des modèles
  2. Mappage intelligent entrée-sortie
    • Soutient l'intégration transparente de modèles avec différentes conventions de nommage
    • Fournit un mécanisme de valeurs d'entrée par défaut, renforçant la robustesse du système
  3. Conversion automatique des unités de temps
    • Soutient différentes échelles de temps, de la nanoseconde à l'année
    • Chaque composant peut spécifier une unité de temps indépendante, convertie automatiquement lors de la simulation
  4. Gestion des modèles conteneurisés
    • Soutient l'allocation d'instances de modèles à différents conteneurs
    • Facilite la réutilisation et l'isolation des modèles
    • Applicable à la modélisation pharmacocinétique basée sur la physiologie (PBPK)
  5. Traitement des entrées non lisses
    • Réinitialise automatiquement l'intégration numérique aux points de discontinuité
    • Réduit le fardeau du suivi des discontinuités par l'utilisateur

Configuration expérimentale

Cas de validation

L'article valide les capacités de la boîte à outils par le biais d'un modèle complet multi-niveaux du système glucose-insuline humain, basé sur les recherches de Herrgårdh et al., intégrant des composants de plusieurs groupes de recherche (Dalla Man et al., Hall et al., Brännmark et al.).

Caractéristiques du modèle

  • Échelles de temps multiples : des processus cellulaires (secondes à minutes) aux adaptations physiologiques (jours à années)
  • Niveaux biologiques multiples : de la signalisation cellulaire à la régulation systémique du glucose
  • Structure modulaire : démontre comment décomposer la structure de modèle plate originale en composants modulaires interconnectés

Détails d'implémentation

  • Documentation en ligne fournissant des exemples détaillés : https://isbgroup.eu/sund-toolbox/
  • Inclut des démonstrations exécutables, montrant la capacité à traiter des modèles de différentes sources, complexités et échelles de temps
  • Soutient la définition de protocoles expérimentaux complexes, tels que les schémas de dosage, les régimes alimentaires et autres perturbations variables dans le temps

Résultats expérimentaux

Vérification fonctionnelle

La validation réussie des capacités suivantes a été effectuée via le modèle du système glucose-insuline :

  1. Composition modulaire : décomposition réussie de modèles complexes multi-niveaux en composants modulaires interconnectés
  2. Traitement des échelles de temps : gestion efficace des problèmes multi-échelles de temps à différents niveaux biologiques
  3. Connexion entrée-sortie : réalisation du transfert de données transparent entre différents sous-modules
  4. Gestion conteneurisée : démonstration de la gestion efficace des instances de modèles dans différents conteneurs

Performance

  • Stabilité numérique : assurance de solutions numériques de haute qualité via le solveur SUNDIALS
  • Efficacité informatique : implémentation du noyau C++ offrant des performances informatiques efficaces
  • Convivialité : interface Python fournissant une expérience utilisateur intuitive

Analyse de cas

Le modèle du système glucose-insuline présenté en Figure 1B comprend :

  • Deux caractéristiques tracées à différentes échelles de temps
  • Sorties de différents sous-modules
  • Processus d'intégration de niveaux biologiques multiples

Travaux connexes

Analyse des outils existants

L'article compare en détail plusieurs outils existants :

  1. SciPy : fournit des capacités de calcul numérique fondamentales
  2. AMICI : se concentre sur l'analyse de sensibilité haute performance pour les grands modèles EDO
  3. CellML : langage de description de modèles standardisé
  4. SBToolbox : boîte à outils de biologie systémique pour la plateforme MATLAB
  5. COPASI : simulateur de voies complexes
  6. CellDesigner : outil de modélisation de réseaux biochimiques
  7. Tellurium : environnement de modélisation Python extensible

Comparaison des avantages

Les principaux avantages de SUND par rapport aux outils existants :

  • Fournit une solution complète de modélisation modulaire dans l'écosystème Python
  • Satisfait simultanément aux cinq exigences clés (modularité, conteneurisation, traitement du temps, définition directe des EDO, open source)
  • Particulièrement adapté aux applications de modélisation biologique multi-échelle

Conclusions et discussion

Conclusions principales

SUND comble avec succès le vide des outils de simulation modulaires dans l'écosystème Python, particulièrement adapté à la modélisation de systèmes complexes dynamiques dans le temps, en particulier les systèmes biologiques. La philosophie de conception modulaire de la boîte à outils résout les défauts importants des outils de simulation Python actuels.

Limitations

Les auteurs identifient honnêtement les limitations de SUND :

  1. Fonctionnalités d'estimation de paramètres : la boîte à outils ne fournit pas d'algorithmes d'estimation de paramètres ou d'approximation de Hessienne en interne
  2. Limitations de conversion d'unités : soutient uniquement la conversion automatique des unités de temps, pas la conversion d'unités non temporelles
  3. Absence d'interface graphique : la version actuelle manque d'interface utilisateur graphique

Directions futures

L'article propose des orientations claires pour le développement :

  1. Extension des capacités de conversion d'unités : soutenir plus de types de conversion d'unités automatiques
  2. Résolution d'équations de sensibilité : intégrer des méthodes de résolution d'équations de sensibilité pour estimer le Hessien
  3. Interface utilisateur graphique : développer une interface graphique pour la construction et la visualisation de modèles
  4. Intégration d'outils externes : meilleure intégration avec des outils externes tels que le module d'optimisation SciPy

Évaluation approfondie

Points forts

  1. Valeur pratique élevée : résout les besoins réels du domaine de la modélisation biologique, comblant un vide important dans l'écosystème Python
  2. Conception technique rationnelle : la conception orientée objet, l'architecture hybride Python/C++, et la philosophie modulaire reflètent toutes de bonnes pratiques d'ingénierie logicielle
  3. Contribution open source : publication open source sous licence MIT, favorisant le développement communautaire
  4. Documentation complète : fournit une documentation en ligne détaillée et des exemples de code
  5. Validation suffisante : validation des diverses fonctionnalités de la boîte à outils via un modèle de système biologique complexe

Insuffisances

  1. Innovativité limitée : principalement une innovation en implémentation et intégration d'ingénierie, avec une originalité limitée au niveau algorithmique
  2. Évaluation incomplète : manque de comparaisons quantitatives de performance avec d'autres outils
  3. Vérification de la portée d'application : validation via un seul cas de système biologique, l'ampleur de l'application reste à être davantage démontrée
  4. Expérience utilisateur : l'absence d'interface graphique peut limiter l'utilisation par les utilisateurs non programmeurs

Impact

  1. Valeur académique : fournit un outil précieux pour la biologie computationnelle et les domaines de la modélisation de systèmes
  2. Valeur pratique : applicable directement au développement de médicaments, à la recherche physiologique et à d'autres domaines
  3. Contribution communautaire : la nature open source aide à former une communauté d'utilisateurs et à promouvoir le développement des outils
  4. Reproductibilité : fournit un code complet et une documentation, soutenant la reproductibilité de la recherche

Scénarios d'application

  1. Modélisation biologique multi-échelle : particulièrement adapté aux tâches de modélisation nécessitant l'intégration d'échelles de temps et de niveaux biologiques différents
  2. Développement de médicaments : soutient la modélisation PBPK et l'optimisation des schémas de dosage
  3. Recherche en biologie systémique : applicable à la simulation dynamique de réseaux biologiques complexes
  4. Applications éducatives : la conception modulaire facilite l'enseignement et l'apprentissage
  5. Recherche collaborative : les interfaces modulaires et standardisées facilitent la collaboration d'équipe

Références bibliographiques

L'article cite 8 outils et cadres principaux connexes, ainsi que 6 travaux de recherche connexes à la modélisation biologique, reflétant une compréhension complète de l'état du domaine par les auteurs et une investigation suffisante des travaux connexes. Il est particulièrement notable de noter la dépendance à la suite de solveurs numériques SUNDIALS et aux outils fondamentaux tels que NumPy, reflétant une approche d'innovation développée sur la base de technologies matures.


Évaluation générale : Ceci est un article de haute qualité sur les outils qui résout les besoins réels du domaine de la modélisation biologique. Bien que l'innovativité algorithmique soit limitée, la valeur d'implémentation d'ingénierie est élevée, ayant une signification positive pour promouvoir le développement des outils dans ce domaine. La publication open source et la documentation complète renforcent davantage sa valeur pratique et son impact.