How paytonco/multicellular works
multicellular is an agent-based bacterial-colony simulation framework. Users configure cells, reaction networks, and a shared environment, then run a Simulation that advances colony behavior and records cell and field histories; users can visualize colony or field state and run independent replicates. The main domain stages are intracellular chemistry and growth/division, colony mechanics and cell-field exchange, environmental diffusion/reaction, and time-stepped history/analysis. Source excerpts are partial, so links for documented but unsampled behavior are limited to supported module-level relationships.
Main entry points: simulation.py Simulation · reactions.py Reaction network · parallel.py Replicate runner · colony.py Colony
Components 11
Biological model
- Cell
src/multicellular/core/cell.py - Reaction
src/multicellular/core/reactions.py - Reaction network
src/multicellular/core/reactions.py - Environment and fields
src/multicellular/core/environment.py
Colony dynamics
- Colony
src/multicellular/core/colony.py
Run management
- Simulation
src/multicellular/core/simulation.py - Replicate runner
src/multicellular/utils/parallel.py
Results and visualization
- Recorded history
src/multicellular/core/simulation.py - Plots and animations
src/multicellular/utils/visualization.py
Other components
- Researcher
- Simulation results
Connections 17
- Researcher → Cell: configures
- Researcher → Reaction network: configures
- Researcher → Environment and fields: configures
- Researcher → Simulation: starts
- Researcher → Replicate runner: requests replicates
- Cell → Reaction network: simulates chemistry
- Reaction network → Reaction: evaluates rates
- Environment and fields → Reaction network: steps field reactions
- Colony → Cell: steps, divides, moves
- Colony → Environment and fields: diffuses; exchanges chemicals
- Simulation → Colony: advances
- Simulation → Recorded history: records states
- Simulation → Plots and animations: requests rendering
- Plots and animations → Simulation results: renders plots and animations
- Simulation → Simulation results: returns history
- Replicate runner → Simulation: runs independent simulations
- Replicate runner → Simulation results: combines replicate histories