Published 2025 | Version v2
Journal article Open

Dynamic fluid layer around immotile yeast colonies mediates the spread of bacteria

  • 1. Dept of Bioengineering, Indian Institute of Science, Bengaluru, India
  • 2. Dept of Mechanical Engineering, Indian Institute of Science, Bengaluru, India
  • 3. Dept of Developmental Biology and Genetics, Indian Institute of Science, Bengaluru, India
  • 4. Dept of Chemical Engineering, Indian Institute of Science, Bengaluru, India

Description

Brief intro: The dataset and model were created to explore the coexistence of yeast and bacteria in both a plate-based assay and a microscopy-based assay. The files include XLS tables, a MATLAB data file, the associated MATLAB scripts, and the MATLAB simulation model. The following were submitted in conjunction with the paper titled "Dynamic fluid layer around immotile yeast colonies mediates the spread of bacteria," authored by Divakar Badal(1), Aloke Kumar(2), Varsha Singh(1,3), and Danny Raj M(4); (1) Department of Bioengineering, Indian Institute of Science, Bengaluru, India; (2) Department of Mechanical Engineering, Indian Institute of Science, Bengaluru, India; (3) Department of Developmental Biology and Genetics, Indian Institute of Science, Bengaluru, India; (4) Department of Chemical Engineering, Indian Institute of Science, Bengaluru, India.

 

# Bacterial-Yeast Colony Growth Simulation
## MATLAB Implementation (2024)

---

## Overview of model

This package contains a computational model that simulates the coexistence and interactions between yeast and bacterial colonies on a plate-based assay. The model specifically investigates how a dynamic fluid layer around immotile yeast colonies affects bacterial spread.

The simulation was developed for the research paper:
> **"Dynamic fluid layer around immotile yeast colonies mediates the spread of bacteria"**  
> by Divakar Badal¹, Aloke Kumar², Varsha Singh¹,³, and Danny Raj M⁴  
> ¹Department of Bioengineering, Indian Institute of Science, Bengaluru, India  
> ²Department of Mechanical Engineering, Indian Institute of Science, Bengaluru, India  
> ³Department of Developmental Biology and Genetics, Indian Institute of Science, Bengaluru, India  
> ⁴Department of Chemical Engineering, Indian Institute of Science, Bengaluru, India

## System Requirements

- MATLAB 2024a or later
- Parallel Computing Toolbox (recommended for multiple parallel simulations)
- Image Processing Toolbox

## Files Description

### Main Script:
- **main.m** - Primary simulation script that configures and runs the experiments

### Core Functions:
- **bacterialColonySimulation.m** - Main simulation engine implementing the colony growth model
- **visualizeSimulation.m** - Master visualization function for simulation outputs

### Helper Functions:
- **generateGrowthRates.m** - Creates growth rate distributions for microbial populations
- **initializeDiffusionKernels.m** - Sets up the convolution kernels for diffusion calculations
- **updateBacteriaGrowth.m** - Handles bacteria growth, overflow, and spread
- **updateYeastGrowth.m** - Handles yeast growth, overflow, and spread
- **updateNutrientDistribution.m** - Models nutrient diffusion and consumption
- **updateFluidDistribution.m** - Models fluid production and diffusion

### Visualization Utilities:
- **createOutputDirectories.m** - Creates required directory structure for output images
- **createMainOutputDirectories.m** - Sets up top-level visualization directories
- **createYeastVisualization.m** - Generates yeast colony visualizations
- **createCombinedVisualization.m** - Creates combined bacteria-yeast visualizations
- **createFluidVisualization.m** - Visualizes fluid distribution
- **resizeInputGrids.m** - Handles grid resizing for consistent visualization
- **saveOutputImages.m** - Saves visualization outputs to files
- **visualizeColonySimulation.m** - Coordinates the overall visualization process

## Model Description

The simulation uses a 100×100 grid representing a 10×10 cm area. Key characteristics:

- **Grid Resolution**: 0.01 cm per grid unit
- **Yeast Agents**: Randomly seeded across the grid (area per cell = 6.36×10⁻⁷ cm²)
- **Bacteria Agents**: Initially placed at the grid center (area per cell = 5.89×10⁻⁹ cm²)
- **Inoculation Ratio**: Yeast agents are 9.4 times more numerous than bacteria agents
- **Carrying Capacity**: Each grid cell can hold a maximum area of 0.01 cm²
- **Growth Dynamics**: Both populations grow at specific rates and consume nutrients
- **Overflow Mechanism**: When agents exceed a cell's carrying capacity, they spread to neighboring cells, preferring nutrient-rich areas

## Simulation Parameters

### Timing Parameters:
- **Yeast Division Time**: 4500 sec
- **Bacteria Division Time**: 2100 sec
- **Time Step (dt)**: 1/3600 hours
- **Total Simulation Time**: 6 hours

### Physical Parameters:
- **Diffusivity of Nutrient**: 1.24×10⁻⁵ cm²/sec
- **Diffusivity of Fluid**: 2.3×10⁻⁵ cm²/sec
- **Bacteria Nutrient Consumption**: 1.94×10⁻¹² m/cell/sec
- **Yeast Nutrient Consumption**: 4.4×10⁻¹² m/cell/sec
- **Fluid Pumping Rate**: 0.3×10⁻⁹ cm³/sec/cell
- **Fluid Effect Constant**: 0.9×10⁻⁵

### Cell Properties:
- **Bacteria Agent Area**: 5.89×10⁻⁹ cm²
- **Yeast Agent Area**: 6.36×10⁻⁷ cm²

## Usage Instructions

### Basic Usage:

1. Open MATLAB and navigate to the directory containing the simulation files
2. Open and run `main.m` to execute the simulation with default parameters
3. The script will produce results comparing bacterial colony area under different conditions

### Configurable Parameters:

In `main.m`, you can modify the following parameters:
- **numRepeats**: Number of simulation repetitions (1-1000) for statistical significance
- **fluidPumpRateFactor**: Controls fluid production rate (0.5-1.5)
- **agentCountMultiplier**: Adjusts initial cell count (0.5-1.5)
- **growthRateMultiplier**: Modifies cell growth rates (0.5-1.5)
- **enableVisualization**: Turn visualization on (1) or off (0)

### Simulation Modes:

The model supports three experiment modes:
1. **Bacteria Only (Mode 0)**: Control condition with no yeast present
2. **Bacteria + Yeast without Fluid (Mode 2)**: Tests bacterial-yeast interaction without fluid effects
3. **Bacteria + Yeast with Fluid (Mode 1)**: Full model with fluid mediation effects

## Visualization Output

When `enableVisualization = 1`, the script generates visual outputs in the following directory structure:

```
Frames/
├── YeastLayer/      # Yeast colony visualizations
│   ├── 0/           # Mode 0: Bacteria only
│   ├── 1/           # Mode 1: With yeast + fluid
│   └── 2/           # Mode 2: With yeast, no fluid
├── CoExit/          # Combined bacteria-yeast visualizations
│   ├── 0/           # Mode 0: Bacteria only
│   ├── 1/           # Mode 1: With yeast + fluid
│   └── 2/           # Mode 2: With yeast, no fluid
└── FluidLayer/      # Fluid distribution visualizations
    ├── 0/           # Mode 0: Bacteria only
    ├── 1/           # Mode 1: With yeast + fluid
    └── 2/           # Mode 2: With yeast, no fluid
```

Each subdirectory contains numbered image frames showing the simulation progress.

## Example

To run a set of simulations comparing all three conditions with 10 repetitions each:

```matlab
% Edit these lines in main.m
numRepeats = 10;
enableVisualization = 1;
```

The script will execute 30 total simulations (10 repeats × 3 conditions) and produce:
1. A bar graph comparing mean bacterial colony areas under each condition
2. Visualization frames (if enabled) in the Frames directory
3. Console output showing execution time

## Acknowledgements

If you use this code in your research, please cite the original paper:
> Badal, D., Kumar, A., Singh, V., & Raj M, D. (2025). Dynamic fluid layer around immotile yeast colonies mediates the spread of bacteria. Biophysical journal

---

For questions or assistance, please contact the authors.

---

 

Files

Data.zip

Files (6.4 MB)

Name Size Download all
md5:a94453966fe9336b2df37d8d802af225
6.4 MB Preview Download
md5:d0b73ab7db1656135e375c8b83c7cc2f
64.4 kB Preview Download