Team:Brno Czech Republic/Model



Cyanobacteria are beneficial in many ways - for example, they produce a considerable amount of oxygen. However, their overpopulation has a negative impact on water quality and on environmental diversity due to the production of harmful toxins. This is not a problem that concerns only the Czech Republic - waters infested with cyanobacteria can be found anywhere around the globe. Therefore, our team has decided to create a genetically modified Bacillus subtilis which will destroy cyanobacterial cells and degrade their toxins. We are aware that it is not safe to release GMOs into nature, that is why we decided to build a machine in which the Bacillus subtilis cells will be immobilized while cleaning the infested water.

Our team tries to develop a machine that will reduce overpopulated cyanobacteria in water. The device will float on the surface because it accumulates clusters of cyanobacteria, which are lighter than water and they can capture more sunlight than below the surface. Water will flow through the inner chamber of the machine which will be filled with cellulose microbeads. The Bacillus subtilis cells will be immobilized on the surface of the microbeads. This connection will be ensured by the Immobilization module which our Bio team created and integrated into the B. subtilis chromosome. When a collision occurs between a microbead and a cyanobacterial cell, Bacillus subtilis catches the cyanobacterium thanks to microvirin displayed on its surface. After that, B. subtilis destroys the cell using lysozyme. Filtered water drains from the machine and returns to the water cycle while Bacillus subtilis stays immobilised inside the machine.

Many problems can appear while constructing and testing the machine: the machine may not be able to destroy cyanobacteria going through the machine; the machine may not be located in the place where it is most needed or it may not be able to deal with strong current flowing through its insides. And those are only some of the problems we could think of. Many more of them can occur and a lot of them a person simply can not predict.That is why we decided to construct a computer model first. It allows us to design an operational prototype in an easier, more efficient, and cheaper way. Furthermore, the computer model allows us to compare some designs without the need to construct a physical prototype and predict some problems that might appear during construction.

Why do we want to model our device?

Modeling our device is cheaper, faster, and more effective than creating the physical machine. It allows us to peek inside the machine and observe what happens behind an opaque wall. It allows us not only to observe the efficiency of the machine and compare individual prototypes but also to predict possible complications.


Which problems do we need to solve first?

When we design our device we need to focus on its functionality and effectiveness. (You may argue that the security of the device is more crucial. That is a fair point. However, if the machine did not work, its security would be irrelevant because it would not be implemented at all. Once we can ensure the functionality of the prototype, the security will become our concern number one.)

We consider the most serious problem to be if the machine is not able to destroy cyanobacteria that go through it. We identified some reasons why this problem could appear:

  1. The collision between microbeads and cyanobacteria does not occur often enough. Therefore, Bacillus subtilis cannot meet cyanobacteria.
  2. The beads do not have sufficient capacity. This would mean that not enough B. subtilis cells can connect to the microbeads which would lead to a decrease of the effectiveness of the device.

How to ask questions?

At first, we did a thorough analysis. We focused now on how to ask a question that we could explicitly answer. We cannot easily answer questions like: ‘How much do particular complications (1 and 2 above) influence the effectiveness of the machine? Will the machine work enough effectively?’, because we do not know what it means ‘effective enough’. On the other hand, we tried asking ‘How many percent of cyanobacteria are we able to neutralize in case the flow is x liters per minute and concentration of cyanobacteria is n cyanobacterial cells per liter?’ Answering this question is much easier because it can be objectively measured. It also helps us to get appropriate insight into the functionality of the machine. Every person can then form his own opinion if that value means ‘effective enough’.

So we have declared what we want to measure. Next step was to build a model of our machine. We decided to model the movement of particular objects (like microbeads, cyanobacterial cells, …) inside the machine. Objects bounce from walls and other objects. If a cyanobacterium collides with a microbead, it gets caught by the engineered Bacillus subtilis connected to the microbead. Bacillus subtilis will then destroy the cyanobacterium in time. This is a way to observe how many cyanobacteria were destroyed and how many of them leave the machine untouched.

After the measurement of effectiveness analysis, we had to choose how to represent objects in a computer. Each object is represented as a point in 3D space bounded by the machine walls. It would be quite computationally complex to count particles using continuous movement and analytic geometry because we would have to check the presence or absence of collision between each pair of objects. The number of those pairs would be extremely large so it would take too long until the end of the simulation computation. The representation of exact coordinates in a computer is also not trivial.

We decided to go another way and split the simulation into minimalistic time steps. In each step, we evaluate the movement of each object separately. We decided to also split the space into small intervals. Discrete distribution has two main advantages. Firstly, discrete space is much easier to represent in a computer program. Secondly, we can evaluate collisions only locally which means there will not be so many of them. Therefore, we can compute them faster. Then we had to deal with another problem. We do not know a lot of other values (like the capacity of the microbead or time of the destruction of cyanobacteria). That means we needed to write our code so that we can change those parameters easily. On the other hand, it allows us to investigate how much that parameter influences the effectiveness of the machine.

You can find our model here.

Future plans

There are many ways to improve our simulation in the future. One of them is to improve our model to better represent reality. We could achieve that by implementing water flow and its impact on particular objects.

Another possibility is to adapt our model, so it could answer a wider spectrum of questions. For example ‘How long does Bacillus subtilis live? (How often do we need to maintain the machine?)’

And finally, it is possible to create a different model that would be able to answer other relevant questions. It could, for example, help us with the dilemma we face when we choose the size of the cellulose microbeads. A smaller size of microbeads means a larger surface (although the surface of one bead is smaller, the amount of beads increases so their surface is larger). In this way, we can connect more of the engineered cells of B. subtilis to the same volume of microbeads. However, the bigger size of beads allows for a higher flow of water. To answer this question, we need to use a different model than we already have because in our model we consider objects like points and we cannot take their size into account.


We succeeded in creating a model of the machine where we can run a basic analysis. We did not manage to create a more detailed model due to time constraints and because the Bio team did not manage to obtain the data we needed from the wet lab work. In the future, we plan to extend our models.