(S-095) A Julia Package for Traceable and Reproducible Models in Quantitative Systems Pharmacology
Sunday, October 19, 2025
7:00 AM - 5:00 PM MDT
Location: Colorado A
Timothy Knab – Metrum Research Group; Seth Green – Metrum Research Group; Kyle Meyer – Metrum Research Group; Brian Davis – Metrum Research Group; Ahmed Elmokadem – Metrum Research Group; Jimena Davis – Metrum Research Group; Katharina Wilkins – Metrum Research Group
Principal Scientist Metrum Research Group Rochester, New York, United States
Disclosure(s):
Timothy Knab: No financial relationships to disclose
Objectives: Quantitative Systems Pharmacology (QSP) utilizes mathematical models to mechanistically describe and explore pathophysiology and disease progression in the context of various treatment modalities. This often takes the form of complex, and highly parameterized models that may be combined by components. Models are informed by insights and data from in vitro experiments, pre-clinical animal models, and translational and clinical investigations. These complexities result in numerous parameter sets, initial conditions, and equations. The Julia Programming Language (Julia)[1] package ModelTrace.jl aims to leverage ModelingToolkit[2] to enable a reproducible, traceable modeling workflow. One that can correspondingly generate useful descriptions of modeling activities, including parameter tables and model logs in a manner that is simple and easy to use, while maintaining compatibility with existing ModelingToolkit functionality.
Methods: An initial set of requirements for ModelTrace.jl were: (1) to maintain a high level of compatibility with existing ModelingToolkit functionality, (2) utilize a single project-wide source for default values for model parameters and initial conditions, across all species or variants, (3) enable copying of models and development scripts from one stage of the QSP workflow to initiate the next stage, (4) track updates of parameters, initial conditions and equations throughout the model development process, and, (5) enable the automated generation of parameter tables and model development logs. A transparent software development life cycle was applied with robust planning, iterative development, testing, validation, and release. Package development was formally documented and included a comprehensive test suite. A continuous integration (CI) approach is utilized to add and test new features and package refinements.
Results: ModelTrace.jl is an open-source Julia package which utilizes a per-project YAML key file and a novel set of macros and functions to import parameters and initial condition into a model specified using ModelingToolkit. This file contains additional information for each parameter such as units, desired unit conversions, descriptions and citations. The requirement to use one stage of model development to initiate the next stage of development led to the concept of a Modeling Unit (MU). A MU represents a self-contained operation within a QSP workflow and may consist of tasks such as parameter fitting and calibration, sensitivity analysis of simulations of human dose projections. Within an MU, models can be registered and subsequently used to generate new MUs or copied to a different MU; complete with any structural or parameter updates and corresponding histories. Project summaries can be generated from any MU. These summaries include tables of all registered models within the MU, detailing parameter values, initial conditions, the source or history of all model quantities, and options for equations, derived parameters, and model history.
Citations: [1] J. Bezanson, A. Edelman, S. Karpinski, V. B. Shah, SIAM Review. 59, 65–98 (2017). [2] Y. Ma et al., ModelingToolkit: a composable graph transformation system for equation-based modeling (2021).