Team:Wageningen UR/Notebook/Journal/Quorum Dry

Quorum Sensing Modeling

By: Mark Nijland

Here you can find Mark's work on the model of the Quorum Sensing system he made. Curious about his results? Read more about it here.

May

Week 1 (1st of May – 7th of May)
Math practice, literature reading.

Week 2 (8th of May – 14th of May)
The proposal was written.

Week 3 (15th of May – 21st of May)
The quorum sensing system was envisioned. Reactions and ODE’s describing the system were developed. An approximated model was derived. Code simulating a single cell was written in Python.

Week 4 (22nd of May – 28th of May)
The approximated model of the Single Cell Quorum Sensing model was implemented. The results were compared with the full model.

June

Week 5 (29th of May – 4th of June)
The Multicell model was developed. Cell lysis and Split GFP fusion was added. The code now allows for tracking different concentrations in subpopulations of cells.

Week 6 (5th of June – 11th of June)
Added Latin Hypercube Sampling (LHS) to the algorithm. Decided on an objective function where the system was to be scored on. Ran simulations with 400,000 parameter sets derived from the LHS method. The population simulated contained 500 antigen-activated cells and 500 receiver cells. Some high scoring parameter sets were systems in which only the antigen-producing cell produced YFP signal. No receiver cells produced YFP signal. The system was still top-scoring because these just produced a lot of YFP.

Week 7 (12th of June – 19th of June)
Changed the ratio of antigen-activated and receiver cells to 100-900 respectively. Changed the objective function so that when cells produce fluorescence before there is a signal result in a lowering of the score. Changed Latin Hypercube Sampling to log-uniform distributions. A total of 1,000,000 parameter sets were simulated. Wrote code to quickly analyze the results by generating histograms and heatmaps.

Week 8 (20th of June – 26th of June)
Decided to score the simulations with a negative control, to capture spontaneous self-activation of the cells. Decided to fix the parameters that describe lysis protein production to optimal values. This to reduce the size of the parameter space and to prevent parameter sets scoring poorly because of wrong lysis protein values. Made a multiprocessing implementation of the algorithm. Simulated and scored 1 million parameter sets. Explored the robustness of different cell concentrations of the best scoring parameter set. About 100 parameter sets resulted in the desired behavior. Started writing on my report.

July

Week 9 (27th of June – 3rd of July)
Finished my report.

Week 10 (4th of July – 10th of July)
Prepared and gave my presentation and got my final grade. Finished my BSc degree.

Week 11 (11th of July – 17th of July)
Worked on a brand new Wiki.

Week 12 (18th of July 18 – 24th of July)
Decided on a method to get more parameter sets of the correct behavior using the original 100 sets. Generated these new parameters by perturbing the original 100. These were then rescored to get smoother histograms. Started working on a spatial model.

Week 13 (25th of July – 31st of July)
Optimized the speed of the model. Rewrote for-loops as vector equations. Made the model multicellular so that it explicitly simulates each individual cell. Further development on the spatial version of the model.

Week 14 (1st of August – 7th of August)
Incorporated diffusion into the model. Played around with finite volume partial differential equation code. Ported the model from odeint to fipy. Compared the results of all my different models with each other to check their correctness and prevent mistakes.

Week 15 (8th of August – 14th of August)
Solving the complete ODE system with Fipy, there was a major problem with varying the time intervals. Fipy uses less advanced methods than odeint, and in stiff areas Fipy failed to converge on a solution. Attempted to integrate Fipy with scipy.integrate.odeint. This made the entire program extremely slow.

Week 16 (15th of August – 21st of August)
Decided to abandon Fipy and use my own finite volume approximating inside odeint. This approach was not too slow while still accurate enough. Did simulations on testing the effect of cell density on the outcome of the simulation. Also varied the diffusion rate of the Quorum Sensing molecule AHL.

Week 17 (22nd of August – 28th of August)
Gave the Go/No-go presentation. Then went on holiday.

September

Week 18 (29th of August – 3rd of September)
Holiday - Out of Office.

Week 19 (4th of September – 12th of September)
Optimized the diffusion calculation function by making it matrix-wise, removing a double for-loop. Changed code so it would approximate the diffusion in more than one time step, before returning it to odeint. Verified the qualitative behavior from the ode model inside the spatial model, using the same parameter set. Gave a html/web design lesson to my teammates.

Week 20 (13th of September – 21st of September)
Added cell movement and cell division to the model. Explored the effect symmetric and asymmetric cell division on the simulation outcome.

Week 21 (22nd of September – 28th of September)
Fixed bugs in the collision detection during cell movement and optimized the diffusion code further. Ran simulations using a 300 by 300 system size.

October

Week 22 (29th of September – 4th of October)
Modified the scoring system so that it would take into account different cell division events in independent simulations. Parameter sets with spontaneous self-activation generated with the ODE model were now simulated in the spatial model. Ran simulations on tuning LuxR degradation and adding aiiA. Ran the simulations that show these can create a parameter set with the desired behavior.

Week 23 (5th of October – 11th of October)
Finished producing the final simulations.

Week 24 (12th of October – 18th of October)
Explored the ODE model with negative regulation of LuxR, again using Hypercube sampling. Analyzed the perturbed results. Identified parameter sets with spontaneous activation in the spatial model.

Week 25 (19th of October – 25th of October)
In the negative LuxR regulation case, again demonstrated that the desired functionality can be attained by increasing LuxR degradation or adding the aiiA enzyme.

Week 26 (26th of October – 27th of October)
Redid several simulations, improved visualization methods. Prepared and compiled data for the wiki. Started writing first draft of several wiki pages. Also tweaked and redid menu and javascript components of our wiki. Generated movies and graphs to be displayed on the wiki.