Skip to main content

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.

vivarium

  • (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

vivarium-core-1.0.0.tar.gz (115.5 kB view details)

Uploaded Source

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

Hashes for vivarium-core-1.0.0.tar.gz
Algorithm Hash digest
SHA256 8d0cf28988efab187be51dd708f5668806859310adb96f1fb3078d446596eb53
MD5 c02eae9b1879e1cc900f470b2c9e6f00
BLAKE2b-256 24efee99063577d94564b8be3ad49783311afa74e15552f3255e8fd5f97837ad

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page