This project explores Cellular Automata (CA) approaches to biological modeling, focusing on pattern adaptation. The work is inspired by the paper titled "Cellular Automata Approaches to Biological Modeling" by G. Bard Ermentrout and Leah Edelstein-Keshet. The project includes Python scripts implementing various CA models, each offering insights into different aspects of biological phenomena.
- Introduction
- Deterministic Automata
- Developmental Biology
- Discussion
- Future Directions
- Usage
- Contributing
- License
- Acknowledgements
The paper chosen for study, "Cellular Automat Approaches to Biological Modeling" by G. Bard Ermentrout and Leah Edelstein-Keshet serves as the foundation for this project. The goal is to extend the authors' work by incorporating pattern identification using convolution in image processing to understand the mechanism of pattern adaptation.
Active media, mimicking biological behaviors, are explored through a simple excitable rule. The model includes simulations of square-rotating spiral waves and modifications based on inhibitors or activators, creating diverse spatial patterns.
A host-parasitoid model is discretized and placed on a grid, resembling an active CA. The system exhibits a dynamic interactions between host and parasite populations, leading to complex spatial patterns.
A fish-shark predator-prey model is considered, resulting in complex oscillations and spatial patterns. The simulation captures the temporal evolution and interactions within the predator-prey system.
Translation from continuous to discrete domains is explored, including a reaction-diffusion system and an immunology model. These models showcase the versatility of CA in representing complex biological phenomena.
A simple model in developmental biology, incorporating lateral inhibition and thresholds, is presented. The model can create spatial two-dimensional patterns mimicking animal coat patterns.
The weight tensor used in the developmental biology model is analyzed to explore its potential as a convolution kernel. The convolution method is applied to identify rules governing specific pattern formations, providing insights into the adaptability of biological patterns.
The use of Cellular Automata (CA) models offers a balance between simplicity, interpretability, and computational efficiency. While CA models should not replace rigorous mathematical models, they provide a valuable initial step in understanding complex biological phenomena.
Investigating the evolutionary origins of coat patterns by integrating genetic and environmental factors into the modeling process.
Incorporating temporal dynamics into the convolution process to model how environmental changes and selective pressures influence adaptive responses.
Utilizing the weight tensor as a convolution kernel to compress large datasets while preserving salient efficiently features.
Make sure you have the following prerequisites installed on your machine:
- Python 3
- Numpy
- OpenCV (opencv-python)
- Numba
You can install the required packages using the following command:
pip install numpy opencv-python numba
Each script in the project works independently. To run an example script, use the following command:
python3 scriptname.py
Replace scriptname.py
with the actual name of the script you want to run.
Feel free to explore different scripts and experiment with the provided examples.
Contributions to the project are welcome. If you'd like to contribute, follow these steps:
- Fork the project
- Create a new branch
- Make your changes
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- G. Bard Ermentrout and Leah Edelstein-Keshet for their foundational work on Cellular Automata in biological modeling.
- Other authors and researchers whose work has contributed to the project.