Skip to main content

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

Contributors Stargazers Issues MIT License code-lines-shield

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
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents

About The Project

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.

Built With

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.


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.


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
  1. Navigate in the root folder (the folder which contains the 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 and can be installed by running
pip install BiofilmSimulation

Another option is to run

pip install .

in the root folder. This will run the 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


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

python example/

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


Then connect to


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).


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.


iGEM Competition


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

BiofilmSimulation-1.0.3.tar.gz (19.7 kB view hashes)

Uploaded source

Built Distribution

BiofilmSimulation-1.0.3-py3-none-any.whl (22.8 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page