Git Product home page Git Product logo

igemsoftware2020 / hannover Goto Github PK

View Code? Open in Web Editor NEW
10.0 10.0 4.0 157.78 MB

This 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 BiofilmSimulation software can be installed as A python package, documented under https://pypi.org/project/BiofilmSimulation.

Home Page: https://pypi.org/project/BiofilmSimulation.

License: MIT License

Python 28.61% Jupyter Notebook 71.39%
biofilm-growth igem-competition molecular-dynamics-simulation software-tools

hannover's People

Contributors

jonmueller11 avatar studdavid avatar tixxx1337 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

hannover's Issues

Reworking embedding of constants

I want to be more flexible at switching between different bacteria types and the associated constants. as well as simulation constants
Therefore the constants class will need a rework to be able to CRUD constants. This will also come in handy, when building a GUI to manage different simulation runs.

Gather all the classes in a package

To make the application even easier, I want to merge all of the classes in a python package. The goal is that the model can be installed using pip.

Cell Adhesion

Research cell adhesion forces to accurately model cell cell adhesion and cell- petri dics adhesion.

Matplotlib animation is reverted

The animation starts at the end and not at the beginning of the simulation. Tried to revert the input lists in the animate() function in plotting.py but this didn't fix it.

Wrong step size for time axis in plots, when using a time step != 1 s

If the time step is set unequal to 1 second, the step size of the time axis in the plots will be wrong.
Fix this by adding the Constants as a parameter of the respective plotting function.
Then call constants.get_simulation_constants(key="time_step") and multiply the step size with it.

Export parameters of the bacteria as json

I want to take the exported simulation parameters of the bacteria and store them as a json. Currently they are exported in the format:

#********************************************************************************************

#coding:
#index, totalForce_equivalent, living, moving, width, length,
#[pos[0], pos[1], pos[2]], [velocity[0], velocity[1], velocity[2]],
#[angle[0], angle[1]], [velocity_angular[0], velocity_angular[1]];
#********************************************************************************************

frame 0
1; 0.0; True; False; 6.0; 483.9587737429336; [72.42471235743828, 72.21358890260774, 13.016747659390617]; [0.0, 0.0, 8.20055102541609]; [3.0031802567586254, -0.7060105708398637]; [-0.0007403985920757826, 0.032618881148861176];

frame 1
1; 0.0; True; False; 6.0; 487.92840095914994; [72.42471235743828, 72.21358890260774, 26.60554760144548]; [0.0, 0.0, 8.560943963494564]; [3.002444613086532, -0.6311192925981083]; [-0.0004634555134190287, 0.04718150529230595];

Switching to jsons is maybe better for importing the values and could provide a better overview.

Visualization of exported parameters

Goal is to read in the exported bacteria parameters for each frame and make a proper visualisation. So we wont have to look only at the 3D modelling video but can actually track the parameter values over time.

Optimize CPU usage

We noticed, that even though multiprocessing is enabled, there is room for improvement. The CPU uses all of the available core but the workload is not at 100 %. This means the simulation can be made even faster.
We want to find out the reason for this.
This is probably a big issue, which requires major changes to the code when implemented.

Add EPS concentration for different positions in the biofilm

I want to add a quantative variable for EPS concentration. EPS are biopolymers of microbial origin in which biofilm microorganisms are embedded. For our purposes, the EPS may be thougt of a glue. EPS concentrations should have an influence on drag forces by increasing friction.
An approach may be adopted by https://iwaponline.com/wst/article-abstract/43/6/135/9448 , which use the Luedeking and Piret equation to model EPS production kinetics,

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.