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: моделирование с использованием нелинейных динамических моделей - инструментарий для модульного моделирования многоуровневых временных динамических систем

Основная информация

  • ID статьи: 2510.13932
  • Название: SUND: simulation using nonlinear dynamic models - a toolbox for simulating multi-level, time-dynamic systems in a modular way
  • Авторы: Henrik Podéus, Gustav Magnusson, Sasan Keshmiri, Kajsa Tunedal, Nicolas Sundqvist, William Lövfors, Gunnar Cedersund
  • Классификация: q-bio.QM (Количественные методы)
  • Дата публикации: 17 октября 2025 г. (препринт arXiv)
  • Ссылка на статью: https://arxiv.org/abs/2510.13932

Аннотация

В данной статье представлен SUND (Simulation Using Nonlinear Dynamic models) — инструментарий на Python, разработанный специально для моделирования многоуровневых временных динамических систем. SUND устраняет недостатки существующих инструментов в области модульного объединения моделей, построения иерархических систем и обработки временных входных данных, особенно в экосистеме Python. Инструментарий предоставляет унифицированную платформу для определения, объединения и моделирования многоуровневых временных динамических систем с поддержкой определения моделей с взаимосвязанными входами и выходами, что способствует построению сложных систем из простых переиспользуемых компонентов. Инструментарий поддерживает временные функции и кусочно-постоянные входные данные, позволяя интуитивно моделировать различные экспериментальные условия.

Научный контекст и мотивация

Выявленные проблемы

Математическое моделирование сложных иерархических временных динамических систем (особенно биологических систем) требует мощных вычислительных инструментов. Существующие инструменты, несмотря на свою функциональность, имеют следующие ограничения:

  1. Модульное объединение моделей: отсутствие комплексной платформы для модульного построения моделей
  2. Построение иерархических систем: сложность работы с многоуровневой архитектурой систем
  3. Обработка временных входных данных: недостаточные возможности при работе с временными входными данными
  4. Поддержка экосистемы Python: отсутствие комплексного решения в среде Python

Анализ значимости

Биологические системы по своей природе являются временными динамическими системами, обычно моделируемыми с использованием обыкновенных дифференциальных уравнений (ОДУ) или дифференциально-алгебраических уравнений (ДАУ). Сложность этих систем делает реализацию моделирования и связанный анализ моделей весьма сложной задачей. Существующие инструменты, такие как SciPy, AMICI, CellML и другие, предоставляют мощные функции, но ни один из них не удовлетворяет всем требованиям одновременно.

Ограничения существующих подходов

Авторы выявили отсутствие в экосистеме Python инструмента, одновременно удовлетворяющего следующим пяти требованиям:

  1. Модульное объединение моделей с возможностью подключения входов/выходов
  2. Создание нескольких экземпляров моделей в различных контейнерах
  3. Гибкое определение временных входных данных
  4. Прямое определение систем ОДУ/ДАУ в моделях
  5. Реализация в виде свободного пакета с открытым исходным кодом на Python

Основные вклады

  1. Разработка инструментария SUND: первый комплексный инструмент в экосистеме Python, одновременно удовлетворяющий требованиям модульного моделирования, управления контейнеризованными экземплярами и обработки временных входных данных
  2. Реализация модульной архитектуры проектирования: поддержка разложения сложных плоских моделей с сотнями ОДУ на управляемые взаимосвязанные компоненты
  3. Предоставление гибкой системы подключения входов и выходов: безупречная интеграция моделей с различными соглашениями об именовании через функции отображения
  4. Интеграция автоматического преобразования единиц времени: поддержка безупречного объединения моделей с различными временными масштабами от наносекунд до лет
  5. Выпуск с открытым исходным кодом: инструмент с открытым исходным кодом на основе лицензии MIT, доступный через PyPI и GitLab

Подробное описание методологии

Определение задачи

SUND предназначен для предоставления унифицированной платформы для определения, объединения и моделирования многоуровневых временных динамических систем. Входные данные включают системы ОДУ/ДАУ, временные функции и параметры модели; выходные данные представляют собой результаты временного моделирования. Ограничения включают численную стабильность и совместимость между модулями.

Архитектура проектирования

Основные компоненты

SUND использует объектно-ориентированное проектирование в сочетании с компонентами Python и C++:

  1. Объекты модели (Model Objects)
    • Содержат математические формулы, определяемые пользователем в текстовых файлах или многострочных строках
    • Используют синтаксис, аналогичный SBToolbox, для представления моделей
    • Компилируются и устанавливаются как модули Python, пригодные для моделирования при различных экспериментальных условиях
    • Поддерживают определяемые пользователем входы и выходы моделей, обеспечивая модульное проектирование
  2. Объекты активности (Activity Objects)
    • Объекты, используемые для генерации входных данных модели
    • Поддерживают временные функции: кусочно-постоянные, кусочно-линейные, кубические сплайны и константы
    • Поддерживают отображение между внутренними и внешними именами входов/выходов
    • Облегчают объединение моделей с различными соглашениями об именовании
  3. Объекты моделирования (Simulation Objects)
    • Объединяют объекты модели и активности для создания экземпляра моделирования
    • Могут выполняться в различные временные интервалы с поддержкой различных временных шагов и параметров численного решателя
    • Генерируют результаты моделирования модели

Техническая реализация

  • Пользовательский интерфейс Python: обеспечивает удобство использования
  • Вычислительное ядро на C++: гарантирует эффективные вычисления и прямой интерфейс с решателем SUNDIALS
  • Интеграция SUNDIALS: использование набора численных решателей SUNDIALS для решения систем ОДУ и ДАУ
  • Поддержка NumPy: для численных операций
  • Компиляция Setuptools: для компиляции C++

Технические инновации

  1. Возможность модульного объединения
    • Разложение сложных плоских моделей на управляемые взаимосвязанные компоненты
    • Повышение удобства обслуживания и содействие повторному использованию моделей и совместной разработке
  2. Интеллектуальное отображение входов и выходов
    • Поддержка безупречной интеграции моделей с различными соглашениями об именовании
    • Предоставление механизма значений входов по умолчанию, повышающего надежность системы
  3. Автоматическое преобразование единиц времени
    • Поддержка различных временных масштабов от наносекунд до лет
    • Каждый компонент может указывать независимые единицы времени, которые автоматически преобразуются при моделировании
  4. Управление моделями в контейнерах
    • Поддержка распределения экземпляров моделей по различным контейнерам
    • Облегчение повторного использования моделей и изоляции
    • Применимо к моделированию физиологической фармакокинетики (PBPK)
  5. Обработка негладких входных данных
    • Автоматическая переинициализация численного интегрирования в точках разрыва
    • Снижение нагрузки на пользователя по отслеживанию разрывов

Экспериментальная установка

Случаи проверки

Статья проверяет возможности инструментария с помощью комплексной многоуровневой модели системы глюкозы-инсулина человека, основанной на исследованиях Herrgårdh и других, интегрирующей компоненты от исследовательских групп Dalla Man, Hall, Brännmark и других.

Характеристики модели

  • Множественные временные масштабы: от клеточных процессов (секунды-минуты) до физиологической адаптации (дни-годы)
  • Множественные биологические уровни: от клеточной сигнализации до системной регуляции глюкозы
  • Модульная структура: демонстрирует, как разложить исходную плоскую структуру модели на взаимосвязанные модульные компоненты

Детали реализации

  • Подробные примеры в онлайн-документации: https://isbgroup.eu/sund-toolbox/
  • Включает исполняемые демонстрации, показывающие возможность обработки моделей из различных источников, различной сложности и временных масштабов
  • Поддерживает определение сложных экспериментальных протоколов, таких как схемы дозирования, режимы питания и другие временные возмущения

Результаты экспериментов

Проверка функциональности

Успешная проверка следующих возможностей с использованием модели системы глюкозы-инсулина:

  1. Модульное объединение: успешное разложение сложной многоуровневой модели на взаимосвязанные модульные компоненты
  2. Обработка временных масштабов: эффективная обработка проблем множественных временных масштабов различных биологических уровней
  3. Подключение входов и выходов: реализация безупречной передачи данных между различными подмодулями
  4. Управление контейнеризацией: демонстрация эффективного управления экземплярами моделей в различных контейнерах

Производительность

  • Численная стабильность: высокое качество численных решений обеспечивается решателем SUNDIALS
  • Вычислительная эффективность: реализация ядра на C++ обеспечивает высокопроизводительные вычисления
  • Удобство использования: интерфейс Python обеспечивает интуитивный опыт использования

Анализ случаев

Модель системы глюкозы-инсулина, показанная на рисунке 1B, включает:

  • Две характеристики графика с различными временными масштабами
  • Выходные данные из различных подмодулей
  • Интегрированные процессы множественных биологических уровней

Связанные работы

Анализ существующих инструментов

Статья подробно сравнивает несколько существующих инструментов:

  1. SciPy: предоставляет базовые возможности численных вычислений
  2. AMICI: сосредоточен на высокопроизводительном анализе чувствительности для больших моделей ОДУ
  3. CellML: стандартизированный язык описания моделей
  4. SBToolbox: инструментарий системной биологии для платформы MATLAB
  5. COPASI: симулятор сложных путей
  6. CellDesigner: инструмент моделирования биохимических сетей
  7. Tellurium: расширяемая среда моделирования на Python

Сравнение преимуществ

Основные преимущества SUND по сравнению с существующими инструментами:

  • Предоставление полного решения для модульного моделирования в экосистеме Python
  • Одновременное удовлетворение пяти ключевых требований (модульность, контейнеризация, обработка времени, прямое определение ОДУ, открытый исходный код)
  • Особенно подходит для приложений многомасштабного биологического моделирования

Заключение и обсуждение

Основные выводы

SUND успешно заполняет пробел в инструментах модульного моделирования в экосистеме Python, особенно подходит для моделирования сложных временных динамических систем, особенно биологических систем. Концепция модульного проектирования инструментария решает важные недостатки существующих инструментов моделирования Python.

Ограничения

Авторы честно указывают на ограничения SUND:

  1. Функциональность оценки параметров: инструментарий не предоставляет алгоритмы оценки параметров или приближения матрицы Гессе
  2. Ограничения преобразования единиц: поддерживает только автоматическое преобразование единиц времени, не поддерживает преобразование нетемпоральных единиц
  3. Отсутствие графического интерфейса: текущая версия не имеет графического пользовательского интерфейса

Будущие направления

Статья предлагает четкие направления развития:

  1. Расширение возможностей преобразования единиц: поддержка автоматического преобразования большего количества типов единиц
  2. Решение уравнений чувствительности: интеграция методов решения уравнений чувствительности для оценки матрицы Гессе
  3. Графический пользовательский интерфейс: разработка графического интерфейса для построения и визуализации моделей
  4. Интеграция внешних инструментов: лучшая интеграция с внешними инструментами, такими как модуль оптимизации SciPy

Глубокая оценка

Преимущества

  1. Высокая практическая ценность: решает реальные потребности в области биологического моделирования, заполняет важный пробел в экосистеме Python
  2. Разумное техническое проектирование: объектно-ориентированное проектирование, гибридная архитектура Python/C++, концепция модульности отражают хорошую практику разработки программного обеспечения
  3. Вклад с открытым исходным кодом: выпуск с открытым исходным кодом на основе лицензии MIT способствует развитию сообщества
  4. Полная документация: предоставляет подробную онлайн-документацию и примеры кода
  5. Достаточная проверка: функциональность инструментария проверена на сложной биологической системной модели

Недостатки

  1. Ограниченная инновационность: в основном это инженерная реализация и интеграционные инновации, оригинальные вклады на уровне алгоритмов ограничены
  2. Неполная оценка: отсутствуют количественные сравнения производительности с другими инструментами
  3. Проверка диапазона приложений: функциональность проверена только на одном биологическом системном случае, широта приложений требует дальнейшей демонстрации
  4. Опыт пользователя: отсутствие графического интерфейса может ограничить использование непрограммирующими пользователями

Влияние

  1. Академическая ценность: предоставляет ценный инструмент для области вычислительной биологии и системного моделирования
  2. Практическая ценность: может быть напрямую применен в разработке лекарств, физиологических исследованиях и других областях
  3. Вклад в сообщество: открытый характер способствует формированию сообщества пользователей и развитию инструмента
  4. Воспроизводимость: предоставляет полный код и документацию, поддерживая воспроизводимость исследований

Применимые сценарии

  1. Многомасштабное биологическое моделирование: особенно подходит для задач моделирования, требующих интеграции различных временных масштабов и биологических уровней
  2. Разработка лекарств: поддерживает моделирование PBPK и оптимизацию схем дозирования
  3. Исследования системной биологии: применимо к динамическому моделированию сложных биологических сетей
  4. Образовательные приложения: модульное проектирование облегчает преподавание и обучение
  5. Совместные исследования: модульность и стандартизированные интерфейсы облегчают командную работу

Библиография

Статья ссылается на 8 основных связанных инструментов и платформ, а также на 6 исследовательских работ, связанных с биологическим моделированием, отражая полное понимание авторами текущего состояния области и достаточное изучение связанных работ. Особенно стоит отметить зависимость от набора численных решателей SUNDIALS и базовых инструментов, таких как NumPy, что отражает инновационный подход развития на основе зрелых технологий.


Общая оценка: Это высококачественная статья об инструменте, решающая реальные потребности в области биологического моделирования. Хотя инновационность алгоритмов ограничена, инженерная ценность реализации очень высока, и она имеет позитивное значение для развития инструментов в этой области. Выпуск с открытым исходным кодом и полная документация еще больше повышают его практическую ценность и влияние.