Engine for composing and simulating computational biology models with the Vivarium interface.
Project description
Vivarium Core
Vivarium Core provides a process interface and simulation engine for composing and executing integrative multi-scale models.
Concept
Vivarium addresses computational biology's dual challenges of model reuse and multi-scale integration by explicitly separating the interface that connects models from the frameworks that implement them. The modular "process" interface allows different models to be assembled within a hierarchy of embedded compartments, and then run by the engine as integrated, multi-scale simulations.
- (a) Processes define the functions that update the system's state variables.They declare parameters, ports, and an update function.
- (b) Stores hold the state variables and map each process' variable names to their values. They have a schema that determines how the variables are handled with properties such as units, updaters, dividers, emitters, and more.
- (c) Topology is a bipartite graph of processes connected to stores through their ports. Shared stores aggregate the processes' required variables, and couple the processes as they unfold in time.
- (d) Processes and Stores can be linked together with a topology in a single level called a compartment, and across compartments by way of boundary stores.
- (e) Compartments are embedded within each other in a hierarchy -- depicted here as a place graph with outer compartments at the top and inner compartments below them.
Getting Started
Vivarium Core can be installed as a python library like this:
$ pip install vivarium-core
To get started using Vivarium Core, see our documentation and tutorial notebook.
If you want to contribute to Vivarium Core, see our contribution guidelines.
License
Copyright (C) 2019-2022 The Vivarium Authors
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this project except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
See LICENSE.txt
for a copy of the full license, and see
AUTHORS.md
for a list of the Vivarium Authors.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file vivarium-core-1.0.0.tar.gz
.
File metadata
- Download URL: vivarium-core-1.0.0.tar.gz
- Upload date:
- Size: 115.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.10.1 pkginfo/1.7.1 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d0cf28988efab187be51dd708f5668806859310adb96f1fb3078d446596eb53 |
|
MD5 | c02eae9b1879e1cc900f470b2c9e6f00 |
|
BLAKE2b-256 | 24efee99063577d94564b8be3ad49783311afa74e15552f3255e8fd5f97837ad |