Abstract
AbstractMotivationThis paper introduces Vivarium – software born of the idea that it should be as easy as possible for computational biologists to define any imaginable mechanistic model, combine it with existing models, and execute them together as an integrated multiscale model. Integrative multiscale modeling confronts the complexity of biology by combining heterogeneous datasets and diverse modeling strategies into unified representations. These integrated models are then run to simulate how the hypothesized mechanisms operate as a whole. But building such models has been a labor-intensive process that requires many contributors, and they are still primarily developed on a case-by-case basis with each project starting anew. New software tools that streamline the integrative modeling effort and facilitate collaboration are therefore essential for future computational biologists.ResultsVivarium is a Pythonic software for building integrative multiscale models. It provides an interface that makes individual models into modules that can be wired together in large composite models, parallelized across multiple CPUs, and run with Vivarium’s simulation engine. Vivarium’s utility is demonstrated by building composite models that combine several modeling frameworks: agent based models, ordinary differential equations, stochastic reaction systems, constraint-based models, solid-body physics, and spatial diffusion. This demonstrates just the beginning of what is possible – future efforts can integrate many more types of models and at many more biological scales.AvailabilityThe models, simulation pipelines, and notebooks developed for this paper are available at the vivarium-notebooks repository: https://github.com/vivarium-collective/vivarium-notebooks. Vivarium-core is available at https://github.com/vivarium-collective/vivarium-core, and has been released on PyPI. The Vivarium Collective (https://vivarium-collective.github.io) is a repository of freely-available Vivarium processes and composites, including the processes used in Section 3. Supplementary materials provide with an extensive methodology section, with several code listings that demonstrate the basic interfaces.
Publisher
Cold Spring Harbor Laboratory