The model applies methods from molecular dynamics (MD) and takes into account different physical and biological effects. The software provides great flexibility by enabling the user to switch easily between sets of constants e.g. to model different bacterial strains. Furthermore, the software includes functions for visualisation of the models behaviour over time.

## Project description

### iGEM 2020 project: Biofilm growth simulation

This is repository contains the code for simulating the growth of a Biofilm after attachment using Molecular dynamics simulation methods. The project was build as part of the iGEM 2020 Contest. The numerical model and simulation were implmented by the Team Hannover. Functionalities to make the software tool more accesible were added in collaboratio with the Team TU Darmstadt. The BiofilmSimulation software can be installed a a python package, documented under https://pypi.org/project/BiofilmSimulation.
Explore the docs Â»

View Demo Â· Report Bug Â· Request Feature

The project aims to simulate the growth of a biofilm in early stages. An biofilm is an consortium of bacteria embedded in a extracelluar matrix consisting of EPS (extracellular polymeric substances). Origin of such biofilms is the attachment of initial bacteria to a surface.

As part of the iGEM Competition 2020, the Hannover Team designed a sensor based on biological cell, which is capable of detecting the adhernce of a biofilm to at an early stage. The sensor can be attached to implant surfaces and used as a diagnostical tool. Therefore, we are interested in the growth behaviour of biofilms in an early stage. We use computational methods of Molecular Dynamics simulation and a biophysical approach to model the biofilm growth. Furthermore the BiofilmSimulation module provides functions for visualization of the data generated in the simulation.

## Getting Started

This is an example of how you may set up your project locally. To get a local copy up and running follow these simple example steps.

### Prerequisites

We recommend installing anaconda on your machine. Anaconda provides many functionalities including an easy way to set up python enviroments. Check out the Anaconda installation instructions.

### Installation

You will need a few python packages to run the simulation on your local machine. You can eithercreate a conda enviroment from the conda_env.yml file or download the packages on your own via pip. We provide step-by-step instructions on how to get our software running using a conda enviroment.

1. Clone the repo
git clone https://github.com/igemsoftwareadmin/Hannover.git

1. Navigate in the root folder (the folder which contains the setup.py) and run
conda env create -f env/iGEM-biofilm-model.yml

1. Start the enviroment by running
conda activate iGEM-biofilm-model

1. Install our software tool as a python package in your conda enviroment with pip (package installer for Python). The package is listed at https://pypi.org/project/BiofilmSimulation and can be installed by running
pip install BiofilmSimulation


Another option is to run

pip install .


in the root folder. This will run the setup.py file and also adds our BiofilmSimulation module to your enviroment. In both cases, if the installation was succesfull the anaconda prompt will print

Successfully built BiofilmSimulation
Installing collected packages: BiofilmSimulation
Successfully installed BiofilmSimulation-1.0.0


To be able to save the 2D animation of the simulation, you also need the ffmpeg - Writer. Install it in your enviromnet with:

conda install -c conda-forge ffmpeg


## Usage

You can also directly start a simulation by running the example_usage.py script. Activate the iGEM-biofilm-model enviroment as described above and navigate to the root folder. Type

python example/example_usage.py


This will start a dialog in the console in which you can specify the bacteria strain, the number of initial bacteria and the simulation duration.

Another usage example is provided in form of a jupyter notebook. Make sure to check it out to see the functionalities provided. If you are using anaconda, jupyter will already be installed. To start the example jupyter notebook run

jupyter-notebook


Then connect to

http://localhost:8888/


and navigate to the folder, in which you cloned the repository. Start the notebook by clicking on the example.ipynb file.

See the open issues for a list of proposed features (and known issues).

## Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

1. Fork the Project
2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
3. Commit your Changes (git commit -m 'Add some AmazingFeature')
4. Push to the Branch (git push origin feature/AmazingFeature)
5. Open a Pull Request

Distributed under the MIT License. See LICENSE for more information.

## Project details

Uploaded source
Uploaded py3