Vivarium-chemotaxis is a library for the multi-scale model of chemotaxis described in: Agmon, E.; Spangler, R.K. A Multi-Scale Approach to Modeling E. coli Chemotaxis. Entropy 2020, 22, 1101.
Supplementary materials can be found here.
Visit the Vivarium Core documentation to learn how to use the core Vivarium engine to create multi-scale computational biology models.
The Chemotaxis Master Composite, with processes for metabolism (MTB), transport (TXP), transcription (TSC), translation (TRL), complexation (CXN), degradation (DEG), proton motive force (PMF), flagella activity (FLG), and chemoreceptor activity (CHE). This repository includes the processes for CHE, FLG, and PMF; the other processes are imported from vivarium-cell.
You might want to use the processes and composites in a different project. If so, they can be installed and imported as a Python (pip) library. To install:
$ pip install vivarium-chemotaxis
Please refer to the Vivarium Core documentation for more complete instructions.
Make a python environment with Python 3 (pyenv is recommended) and install dependencies.
First install numpy:
$ pip install numpy
Then the remaining requirements:
$ pip install -r requirements.txt
MongoDB is required for some of the larger experiments that have experiment settings with {'emitter': {'type': 'database'}}. Follow instructions in the Vivarium documentation's Getting Started Guide for instructions on MongoDB.
Each process file under chemotaxis/processes
can run on its own. Some of these have their own command line options.
For example, call the chemoreptor_cluster
process with:
$ python chemotaxis/processes/chemoreptor_cluster.py
Composites with multiple integrated processes can also be executed on their own:
$ python chemotaxis/composites/chemotaxis_flagella.py
All experiments from the paper are available in the file chemotaxis/experiments/paper_experiments.py
. Run them from
the command line by specifying the corresponding figure number.
$ python chemotaxis/experiments/paper_experiments.py 7b
Tests are performed with pytest. Simply call the following to ensure everything is working properly:
$ pytest
To run only the fast tests:
$ pytest -m 'not slow'
To print out logging information, run a simulation with:
$ LOGLEVEL=INFO python chemotaxis/..