Skip to content
Meta_modeling_demonstration using simple models of beta cell biology.
Jupyter Notebook Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Probabilistic Meta-Modeling Demonstration

Catalina, CA, Nov, 2019

License: GPL v2


Meta-Modeling is a (for now) stand-in name for a unique probabilistic computational framework that can couple different simulation models at different length and time scales (and of different types) to study the interdepency of the parameters and degrees of freedom of each model. As a candidate system for applying this novel methodology, we look at the process of coupling different models of the pancreatic beta cell to develop a harmonized insight into cellular processes. In principle this framework should allow us to couple models of the cell that are very different from each other, e.g. systems-biology types of models (PK/PD) with molecular simulation models (particle simulators like Brownian dynamics) and the coupling framework should be agonistic to the spatio-temporal scale separations between the input models. While we aren't quite there yet, we present an implementation of meta-modeling using toy models of the pancreatic beta cell.

The framework is powered by the probabilistic programming language PyMC3


The mm directory contains the backend which includes a thin wrapper over PyMC3, distributed over various modules in the mm/core subfolder. Input models are specified as Python function kept in the mm/models subfolder. The mm/experiments subfolder contains scripts for running experiments with different types of coupling imposed on two or more input models. Data and parameter sets used for said experiments can be found in the mm/datasets subfolder and the mm/default_params.json file.


The jupyter notebook index.ipynb contains a small tutorial that takes you step-by step from building probabilistic models, to coupling them and eventually a live demonstration of coupling two simple models relevant to beta cell biology. This tutorial was presented at the Pancreatic Beta Cell Consortium retreat, organized at Catalina in Nov. 2019. The tutorial should take ~ 30 mins to complete. If you have questions or confusion regarding the tutorial material, please feel free to raise an issue on github or reach out to me directly at tanmoy [dot] 7989 [at] gmail [dot] com.

Data and parameters used to run the notebook can be found in datasets. The file is a collection of some commonly used boilerplate code throughout the tutorial notebook. To launch a binder image of this repository and interact with the notebook directly from your browser, please click the launch tutorial badge above. Please allow ~ 15 mins for the server to launch for the first time. Binder employs efficient caching so that when for future launches, it should be relatively fast.


A conda- or pip-based installation pipeline will be rolled out once the code reaches a beta version. For now you can close the repository locally and follow the documentation in the code itself to run the experiments. Please make sure to install all necessary python dependencies (preferably through anaconda, but pip will work too) listed in the environments.yml file and third-party softwares listed in apt.txt (in this case just the graphviz package).

You can’t perform that action at this time.