Physics-based dynamic PCA models in TensorFlow

Reaction model image

This is the source repo. for the physDBD Python package. It allows the creation of physics-based machine learning models in TensorFlow for modeling stochastic reaction networks.

Quickstart

  1. Install:

pip install physDBD
  1. See the Quickstart.

  2. See the example notebook in the example folder of the GitHub repo.

  3. Scan the api_ref.

About

This package for TensorFlow implements modeling stochastic reaction networks with a dynamic PCA model. Please see this paper for technical details:

O. K. Ernst, T. Bartol, T. Sejnowski and E. Mjolsness. Physics-based machine learning for modeling stochastic IP3-dependent calcium dynamics. arXiv:2109.05053

The original implementation in the paper is written in Mathematica and can be found here. The Python package developed here translates these methods to TensorFlow.

The only current supported probability distribution is the Gaussian distribution defined by PCA; more general Gaussian distributions are a work in progress.

Requirements

  • TensorFlow 2.5.0 or later. Note: later versions not tested.

  • Python 3.7.4 or later.

Installation

Either: use pip:

pip install physDBD

Or alternatively, clone this repo. from GitHub and use the provided setup.py:

python setup.py install

API Documentation

See the api_ref.

Example

See the notebook in the example directory in GitHub repo.

Citing

Please cite this paper:

O. K. Ernst, T. Bartol, T. Sejnowski and E. Mjolsness. Physics-based machine learning for modeling stochastic IP3-dependent calcium dynamics. arXiv:2109.05053

Indices and tables

Contents