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/).
- Paper-ID: 2510.13932
- Titel: SUND: simulation using nonlinear dynamic models - a toolbox for simulating multi-level, time-dynamic systems in a modular way
- Autoren: Henrik Podéus, Gustav Magnusson, Sasan Keshmiri, Kajsa Tunedal, Nicolas Sundqvist, William Lövfors, Gunnar Cedersund
- Klassifizierung: q-bio.QM (Quantitative Methoden)
- Veröffentlichungsdatum: 17. Oktober 2025 (arXiv-Preprint)
- Paper-Link: https://arxiv.org/abs/2510.13932
In diesem Artikel wird SUND (Simulation Using Nonlinear Dynamic models) vorgestellt, ein Python-Werkzeugkasten, der speziell für die Simulation mehrstufiger, zeitdynamischer Systeme entwickelt wurde. SUND behebt Mängel bestehender Werkzeuge bei der modularen Modellkombination, der Konstruktion hierarchischer Systeme und der Verarbeitung zeitabhängiger Eingaben, insbesondere im Python-Ökosystem. Der Werkzeugkasten bietet ein einheitliches Framework zur Definition, Kombination und Simulation mehrstufiger zeitdynamischer Systeme und unterstützt Modelldefinitionen mit miteinander verbundenen Ein- und Ausgängen. Dies ermöglicht die Konstruktion komplexer Systeme aus einfachen, wiederverwendbaren Komponenten. Der Werkzeugkasten unterstützt zeitabhängige Funktionen und stückweise konstante Eingaben und ermöglicht eine intuitive Simulation verschiedener experimenteller Bedingungen.
Die mathematische Modellierung komplexer hierarchischer zeitdynamischer Systeme (insbesondere biologischer Systeme) erfordert leistungsstarke Rechenwerkzeuge. Bestehende Werkzeuge weisen in folgenden Bereichen Einschränkungen auf:
- Modulare Modellkombination: Mangel an umfassendem Framework zur Unterstützung modularer Modellkonstruktion
- Hierarchische Systemkonstruktion: Schwierigkeiten bei der Behandlung mehrstufiger Systemarchitekturen
- Verarbeitung zeitabhängiger Eingaben: Unzureichende Fähigkeiten bei der Verarbeitung zeitveränderlicher Eingaben
- Python-Ökosystem-Unterstützung: Mangel an umfassender Lösung in der Python-Umgebung
Biologische Systeme sind von Natur aus zeitdynamisch und werden typischerweise durch gewöhnliche Differentialgleichungen (ODEs) oder differential-algebraische Gleichungen (DAEs) modelliert. Die Komplexität dieser Systeme macht die Simulationsimplementierung und damit verbundene Modellanalysen zu einer Herausforderung. Bestehende Werkzeuge wie SciPy, AMICI und CellML bieten zwar leistungsstarke Funktionen, aber kein einzelnes Werkzeug erfüllt alle Anforderungen gleichzeitig.
Die Autoren identifizierten einen Mangel an Werkzeugen im Python-Ökosystem, die folgende fünf Anforderungen gleichzeitig erfüllen:
- Modulare Modellkombination mit Ein-/Ausgangsverbindungen
- Erstellung mehrerer Modellinstanzen in verschiedenen Containern
- Flexible Spezifikation zeitabhängiger Eingaben
- Direkte Definition von ODE/DAE-Gleichungssystemen
- Implementierung als kostenloses Open-Source-Python-Paket
- Entwicklung des SUND-Werkzeugkastens: Erstes umfassendes Werkzeug im Python-Ökosystem, das modulare Modellierung, Container-basierte Instanzverwaltung und zeitabhängige Eingabeverarbeitung gleichzeitig erfüllt
- Implementierung einer modularen Designarchitektur: Unterstützt die Zerlegung komplexer flacher Modelle mit Hunderten von ODEs in verwaltbare, miteinander verbundene Komponenten
- Bereitstellung eines flexiblen Ein-/Ausgangsverbindungssystems: Ermöglicht durch Mapping-Funktionen die nahtlose Integration von Modellen mit unterschiedlichen Namenskonventionen
- Integration automatischer Zeiteinheitenkonvertierung: Unterstützt die nahtlose Kombination von Modellen mit unterschiedlichen Zeitskalen von Nanosekunden bis Jahren
- Open-Source-Veröffentlichung: Open-Source-Werkzeug unter MIT-Lizenz, verfügbar über PyPI und GitLab
SUND zielt darauf ab, ein einheitliches Framework zur Definition, Kombination und Simulation mehrstufiger zeitdynamischer Systeme bereitzustellen. Die Eingaben umfassen ODE/DAE-Gleichungssysteme, zeitabhängige Funktionen und Modellparameter; die Ausgaben sind Zeitreihen-Simulationsergebnisse. Die Einschränkungen umfassen numerische Stabilität und Modulkompatibilität.
SUND nutzt objektorientiertes Design in Kombination mit Python- und C++-Komponenten:
- Modellobjekte (Model Objects)
- Enthalten mathematische Formeln, die von Benutzern in Textdateien oder mehrzeiligen Zeichenketten definiert werden
- Verwenden eine SBToolbox-ähnliche Syntax für Modelldarstellung
- Werden kompiliert und als Python-Module installiert, einsetzbar für verschiedene experimentelle Bedingungen
- Unterstützen benutzerdefinierte Modellein- und -ausgänge zur Realisierung modularen Designs
- Aktivitätsobjekte (Activity Objects)
- Objekte zur Generierung von Modelleingaben
- Unterstützen zeitabhängige Funktionen: stückweise konstant, stückweise linear, kubische Spline-Funktionen sowie Konstanten
- Unterstützen Mapping zwischen internen und externen Ein-/Ausgabenamen
- Erleichtern die Kombination von Modellen mit unterschiedlichen Namenskonventionen
- Simulationsobjekte (Simulation Objects)
- Kombinieren Modell- und Aktivitätsobjekte zur Erstellung von Simulationsinstanzen
- Können in verschiedenen Zeitintervallen ausgeführt werden und unterstützen verschiedene Zeitschritte und numerische Solver-Einstellungen
- Generieren Modellsimulationsergebnisse
- Python-Benutzeroberfläche: Bietet Benutzerfreundlichkeit
- C++-Rechenkern: Gewährleistet effiziente Berechnung und direkte Schnittstelle zu SUNDIALS-Solvern
- SUNDIALS-Integration: Nutzt die SUNDIALS-Numerik-Solver-Suite zur Lösung von ODE- und DAE-Systemen
- NumPy-Unterstützung: Für numerische Operationen
- Setuptools-Kompilierung: Für C++-Kompilierung
- Modulare Kombinationsfähigkeit
- Zerlegung komplexer flacher Modelle in verwaltbare, miteinander verbundene Komponenten
- Verbesserte Wartbarkeit und Förderung von Modellwiederverwendung und kollaborativer Entwicklung
- Intelligente Ein-/Ausgangs-Mapping
- Unterstützt nahtlose Integration von Modellen mit unterschiedlichen Namenskonventionen
- Mechanismus für Standardeingabewerte erhöht Systemrobustheit
- Automatische Zeiteinheitenkonvertierung
- Unterstützt unterschiedliche Zeitskalen von Nanosekunden bis Jahren
- Komponenten können unabhängige Zeiteinheiten angeben, automatische Konvertierung während Simulation
- Container-basierte Modellverwaltung
- Unterstützt Zuweisung von Modellinstanzen zu verschiedenen Containern
- Erleichtert Modellwiederverwendung und Isolierung
- Anwendbar auf physiologiebasierte Pharmakokinetik-Modellierung (PBPK)
- Verarbeitung nicht-glatter Eingaben
- Automatische Neuinitialisierung der numerischen Integration an Unstetigkeitspunkten
- Reduziert die Belastung der Benutzer bei der Verfolgung von Unstetigkeiten
Der Artikel validiert die Fähigkeiten des Werkzeugkastens durch ein umfassendes mehrstufiges Modell des menschlichen Glukose-Insulin-Systems basierend auf Forschungen von Herrgårdh et al., das Komponenten von mehreren Forschungsgruppen (Dalla Man et al., Hall et al., Brännmark et al.) integriert.
- Mehrere Zeitskalen: Von Zellprozessen (Sekunden bis Minuten) bis zu physiologischen Anpassungen (Tage bis Jahre)
- Mehrere biologische Ebenen: Von Zellsignalübertragung bis zur systemischen Glukoseregulation
- Modulare Struktur: Demonstriert, wie ursprüngliche flache Modellstrukturen in miteinander verbundene modulare Komponenten zerlegt werden
- Online-Dokumentation mit detaillierten Beispielen: https://isbgroup.eu/sund-toolbox/
- Enthält ausführbare Demonstrationen, die die Verarbeitung von Modellen aus verschiedenen Quellen, unterschiedlicher Komplexität und Zeitskalen zeigen
- Unterstützt Definition komplexer experimenteller Protokolle wie Dosierungsschemata, Essensmuster und andere zeitveränderliche Störungen
Durch das Glukose-Insulin-System-Modell wurden folgende Fähigkeiten erfolgreich validiert:
- Modulare Kombination: Erfolgreiche Zerlegung komplexer mehrstufiger Modelle in miteinander verbundene modulare Komponenten
- Zeitskalen-Verarbeitung: Effektive Behandlung mehrerer Zeitskalen verschiedener biologischer Ebenen
- Ein-/Ausgangsverbindung: Realisierung nahtloser Datenübertragung zwischen verschiedenen Submodulen
- Container-basierte Verwaltung: Demonstration effektiver Verwaltung von Modellinstanzen in verschiedenen Containern
- Numerische Stabilität: Durch SUNDIALS-Solver gewährleistete hochwertige numerische Lösungen
- Rechnerische Effizienz: C++-Kernimplementierung bietet effiziente Rechenleistung
- Benutzerfreundlichkeit: Python-Schnittstelle bietet intuitive Bedienung
Das in Abbildung 1B dargestellte Glukose-Insulin-System-Modell enthält:
- Zwei Plotmerkmale mit unterschiedlichen Zeitskalen
- Ausgaben aus verschiedenen Submodulen
- Integrationsprozesse mehrerer biologischer Ebenen
Der Artikel vergleicht mehrere bestehende Werkzeuge im Detail:
- SciPy: Bietet grundlegende numerische Rechenfähigkeiten
- AMICI: Konzentriert sich auf hochleistungsfähige Sensitivitätsanalyse großer ODE-Modelle
- CellML: Standardisierte Modellbeschreibungssprache
- SBToolbox: MATLAB-Plattform-Systembiologie-Werkzeugkasten
- COPASI: Komplexer Pfad-Simulator
- CellDesigner: Biochemisches Netzwerk-Modellierungswerkzeug
- Tellurium: Erweiterbares Python-Modellierungsumfeld
Hauptvorteile von SUND gegenüber bestehenden Werkzeugen:
- Bietet im Python-Ökosystem eine vollständige modulare Modellierungslösung
- Erfüllt gleichzeitig fünf Schlüsselanforderungen (Modularität, Container-Verwaltung, Zeitverarbeitung, direkte ODE-Definition, Open-Source)
- Besonders geeignet für mehrskalige biologische Modellierungsanwendungen
SUND füllt erfolgreich die Lücke bei modularen Simulationswerkzeugen im Python-Ökosystem und ist besonders für die Modellierung komplexer zeitdynamischer Systeme geeignet, insbesondere biologischer Systeme. Die modulare Designphilosophie des Werkzeugkastens behebt wichtige Mängel bestehender Python-Simulationswerkzeuge.
Die Autoren weisen ehrlich auf die Einschränkungen von SUND hin:
- Parameterschätzungsfunktionen: Der Werkzeugkasten bietet keine internen Parameterschätzungs- oder Hessian-Approximationsalgorithmen
- Einheitenkonvertierungsbeschränkungen: Unterstützt nur automatische Konvertierung von Zeiteinheiten, nicht von anderen Einheitstypen
- Fehlende grafische Benutzeroberfläche: Die aktuelle Version verfügt über keine grafische Benutzeroberfläche
Der Artikel schlägt klare Entwicklungsrichtungen vor:
- Erweiterung der Einheitenkonvertierungsfähigkeiten: Unterstützung für mehr Arten automatischer Einheitenkonvertierung
- Sensitivitätsgleichungs-Lösung: Integration von Sensitivitätsgleichungs-Lösungsmethoden zur Hessian-Schätzung
- Grafische Benutzeroberfläche: Entwicklung einer grafischen Benutzeroberfläche für Modellkonstruktion und Visualisierung
- Integration externer Werkzeuge: Bessere Integration mit externen Werkzeugen wie SciPy-Optimierungsmodulen
- Hoher praktischer Wert: Behebt tatsächliche Anforderungen im Bereich der biologischen Modellierung und füllt eine wichtige Lücke im Python-Ökosystem
- Vernünftiges technisches Design: Objektorientiertes Design, Python/C++-Hybrid-Architektur und modulare Konzepte spiegeln bewährte Softwareentwicklungspraktiken wider
- Open-Source-Beitrag: Open-Source-Veröffentlichung unter MIT-Lizenz fördert Gemeinschaftsentwicklung
- Umfassende Dokumentation: Bietet detaillierte Online-Dokumentation und Beispielcode
- Ausreichende Validierung: Validierung aller Werkzeugkasten-Funktionen durch komplexes biologisches Systemmodell
- Begrenzte Innovativität: Hauptsächlich technische Implementierung und Integrationsinnovation, begrenzte algorithmische Originalität
- Unvollständige Bewertung: Mangel an quantitativen Leistungsvergleichen mit anderen Werkzeugen
- Validierung des Anwendungsbereichs: Validierung nur durch einen biologischen Systemfall, Anwendungsbreite muss weiter nachgewiesen werden
- Benutzererfahrung: Mangel an grafischer Benutzeroberfläche kann die Nutzung durch nicht-programmierende Benutzer einschränken
- Akademischer Wert: Bietet wertvolles Werkzeug für Computationalbiologie und Systemmodellierungsforschung
- Praktischer Wert: Direkt anwendbar auf Arzneimittelentwicklung, physiologische Forschung und andere Bereiche
- Gemeinschaftsbeitrag: Open-Source-Natur fördert Benutzergemeinschaft und Werkzeugentwicklung
- Reproduzierbarkeit: Bietet vollständigen Code und Dokumentation zur Unterstützung der Forschungsreproduzierbarkeit
- Mehrskalige biologische Modellierung: Besonders geeignet für Modellierungsaufgaben, die verschiedene Zeitskalen und biologische Ebenen integrieren
- Arzneimittelentwicklung: Unterstützt PBPK-Modellierung und Dosierungsschema-Optimierung
- Systembiologie-Forschung: Anwendbar auf dynamische Simulation komplexer biologischer Netzwerke
- Bildungsanwendungen: Modulares Design erleichtert Lehre und Lernen
- Kollaborative Forschung: Modulare und standardisierte Schnittstellen erleichtern Teamzusammenarbeit
Der Artikel zitiert 8 Hauptwerkzeuge und Frameworks sowie 6 biologische Modellierungsforschungsarbeiten, was das umfassende Verständnis der Autoren für den aktuellen Stand des Feldes und ihre gründliche Recherche verwandter Arbeiten widerspiegelt. Besonders hervorzuheben ist die Abhängigkeit von der SUNDIALS-Numerik-Solver-Suite und NumPy-Grundwerkzeugen, die einen innovativen Entwicklungsansatz auf Basis ausgereifter Technologien widerspiegelt.
Gesamtbewertung: Dies ist ein hochqualitatives Werkzeugpapier, das tatsächliche Anforderungen im Bereich der biologischen Modellierung behebt. Obwohl die algorithmische Innovativität begrenzt ist, ist der technische Implementierungswert hoch und trägt positiv zur Werkzeugentwicklung in diesem Bereich bei. Die Open-Source-Veröffentlichung und umfassende Dokumentation erhöhen seinen praktischen Wert und seine Auswirkungen weiter.