Team:Fudan/Software

2018 iGEM Team:Fudan - Software

Software

...

Software

...

Our software tool was built based on (1) modeled parameters characterizing our 3-layer design; (2) populational description of individual cellular behaviors. We found that several cell behaviors and ENABLE signaling have key impact on the evolution of a cell colony with mixed cell types. In an object-oriented-programming and user-friendly style, our software allows users to adjust those key factors and profile the fate of their own mixed cells. Our software bridges a nanoscopic transcriptional design of biological circuits, with microscopic cellular behaviors, up to a macroscopic population output, from which clinical outcome could be predicted, artificial tissue could be assembled, etc.

In our GJ presentation (10/25 Room 311 9:00-9:25), we used the image above to demonstrate a possible clinical outcome with cells having 100-fold granzyme release.

Introduction

Modeling is necessary for quantifying biological processes and designing biological systems for customized function. With the increasingly rapid development of synthetic biology, many models are based on different branches of applied mathematics, as exampled by stochastic process, cellular automaton, dynamic systems, and Boltzmann kinetics for different biological processes. For example, automaton is often used to model birth and death processes, stochastic processes is often used to model transcription factor-DNA binding,dynamic systems is often used in population ecology to predict the evolution of colony, and Boltzmann kinetics is often used to quantitatively describe chemical reactions. Some toolkit based on this model, like CompCell3D, has been developed for computational nanotechnology and simulating tissue development.

However, there hasn’t a ready single model for our ENABLE project. It is because an overall model for our project should not only consist the 3-layer standard design (for more details please visit our Results page) but also the biological mechanism underlying it (for more details please visit our Modeling page).

Here we present a software (github.com/0vioiano/iGEM2018_Team_Fudan) using multiscale mathematical tools for different biological processes, which serves as a reusable tool for cell colony design. We use different modules packaged in different Classes to simulate different biological processes. Based on the object-oriented principal, it is easy for users to realize customized Classes and simulate cell colony using our software.

A colony is occupied by different populations, a population is unitized by abundant individuals, be it a cell or an ensemble of various cells, and a cell is a network of chemicals, for example, proteins, lipids, nucleotides, etc. To simulate cell colony, our software bridges a nanoscopic transcriptional design of biological circuits, with microscopic cellular behaviors, up to a macroscopic population output, from which clinical outcome could be predicted, artificial tissue could be assembled, etc.

A demonstration using our software to simulate the process of our engineered cells collaborating to wipe out cancer cells are offered as a demo.

Method

Our software is built based on OOP algorithm and MATLAB. The workflow of our software is shown below. For more details, please refer to src and demo folders on GitHub.

Figure.1 UML of our toolbox.

Figure.2 Workflow of our software.

Initialization: First, initialize the system. Use the formative text as input, then designate the initial state of each cell (life span, type, vitality), properties of each cell type (type of Ligand and Notch, proliferation rate, mean vitality, and special chemical reactions in cells of this type), and relationship between cells (binding affinity between cells, which can be related to cell type and expression of membrane proteins, such as Notch and Ligand).

Parameter Meaning
T Temperate, measuring the effect of random move.
E_neighbor Affinity, measuring the effect of directional movement of cell based on cell-cell recognition.
Nm Sampling rate in dt, measuring the rate of cell movement.
dt The step length of Euler method in our simulation.
T Simulation time, measuring how long we want to simulate with our software.

Iteration: After initiation, an iteration is made. In a period of δt (very short time, and at the scale at 1-10 seconds), the cell may try to migrate, proliferate, or contact to neighboring cells to gather information for choice making. What is worth noticing is that if the cell moves/divides/dies, the Notch-Ligand kinetics may change abruptly for the changing cell-cell interaction, and a movement is relatively rapid compared with cell size. Therefore, it only takes little time for the switching of cell-cell network, but the process of finding proper movement takes some.

Within the interval of two “cellular movements (proliferation/migration/death included)”, “chemical movements” happens. This refers to the Notch-Ligand kinetics between cell membranes, the amplification of the signal of Notch ICD (intracellular domain) and the combination of augmented signals. Using Euler method (for kinetics) and discrete Gillespie algorithm (for stochastic process), we have predicted how a single cell works in a period within the interval of cellular movements (proliferation/migration/death included) and chemical movements, which refers to the Notch-Ligand kinetics between cell membranes, the amplification of the signal of Notch intracellular domain and the combination of augmented signals.

After this prediction, we construct some functions to record the general state of each cell, including index, position, age, and then tendency to die or divide, for further data analysis. A snapshot of our cell colony is taken simultaneously for further simulation visualization. A judgement statement is executed to determine whether to terminate (when δt multiples iteration time is greater than T, the full length of the simulation) or continue to iterate (both cellular movements and chemical movements). Movements in a single iteration seems negligible, but a big number of iterations would show a difference.

For more details of cellular movement, please refer to the supplementary material; for more details of chemical movement, please refer to our modeling of Notch-Ligand Kinetics.

Data analysis: Upon simulation termination, data will be analyzed using prepared functions. We offer APIs for cell track, cell census and cell network analysis.

Simulation visualization: Using clips recorded in Iteration step, it’s easy to get our simulation visualized using built-in Matlab function videowrite. Cell colony composition can be checked by watching the output video.

Tutorials (single functions)

To make users familiar to our toolbox, a tutorial is as follows.

Notch-Ligand kinetics (using ChemicalReactions toolkit)

ChemicalReactions toolkit is a toolkit for chemical reaction modeling using Petri net and Possion process. Here we demonstrate the usage of ChemicalReactions through an example of Notch-Ligand kinetics modeling.

Figure 3. Notch-Ligand kinetics analysis using ChemicalReactions toolkit. Code are offered on Github.

STEP 1

Open MATLAB, and open the file ChemicalReactions.md in folder @ChemicalReactions.

STEP 2

prepare MATLAB variables.
>>[Pre,Post]=Pre_Notch_Ligand(2)
>>obj= ChemicalReactions(‘’,’’,Post,Pre,@H_Notch_Ligand,zeros(1,12),2)

Here Pre_Notch_Ligand() is a function to generate transition matrix for chemical reactions, @H_Notch_Ligand is a function handle for calculation of reaction possibilities, zeros(1,12) designates the initial condition of the system, and 2 refers to 2 kinds of Notch/Ligand exist.

STEP 3

Enter in the command line window
>>XMat=obj.iteration(100,1)
>>for i =1:12
>>plot(XMat(:,i));
>>hold on
>>end

Here iteration() is a method of class ChemicalReactions for predicting the state of the system. (100, 1) is the setting step for data recording, and XMat is for data storage.

To repeat the results of Figure 3, please refer to Github for code.

War predictor (using Cell2DProl toolkit)

Cell2DProl toolkit is a toolkit for Cell colony simulation. For more details, please refer to the supplementary material at the end of this page or Github. Here we demonstrate the usage of Cell2DProl through an example of therapeutic engineered cell design.

Figure 4. Demo - visualization function in the Cell2DProl toolkit

Figure 5. Demo - Data analysis functions in Cell2DProl toolkit

STEP 1

Open MATLAB, and open the file Cell2DShadeProl.md in your folder.

STEP 2

Click the ‘run’ on the panel.

Here all the parameters are set proper previously. For more details on parameters, please refer to the supplementary PDF below. If your simulation results are visualized successfully, a video called 1_6_1_6 can be found in your current folder.

STEP 3

The left Figure in Figure 5 will be plotted automatically. To get the right figure, Enter in the command line window
>> res1 = -Culture.*(Culture<-1);
>> res2 = res1(:);
>> ecdf(res2);

OOP-based AND gate design (using Cell toolkit)

Cell toolkit is a toolkit to design combinational circuits by linking user-defined cellular movement (element) together. Here we show you how to use our toolkit Cell by an example of AND gate circuit design.

Figure 6. Demo - Simulation of 3-layer ENABLE using Cell toolkit

STEP 1

Open MATLAB, and open the folder with subfolder @Cell.

STEP 2

Run kinetic_notch_test.m, kinetic_addgate_test_signal.m, kinetic_addgate_test.m
Here we use kinetic model for Notch activation and signal amplification, and 3-step kinetics for intein kinetics to validate the function of our toolkit.

STEP 3

Figure 6 will be output automatically.

Supplementary PDF with references

Model_cell_colony

2018 team Fudan abstract

Abstract

Contact-dependent signaling is critical for multicellular biological events, yet customizing contact-dependent signal transduction between cells remains challenging. Here we have developed the ENABLE toolbox, a complete set of transmembrane binary logic gates. Each gate consists of 3 layers: Receptor, Amplifier, and Combiner. We first optimized synthetic Notch receptors to enable cells to respond to different signals across the membrane reliably. These signals, individually amplified intracellularly by transcription, are further combined for computing. Our engineered zinc finger-based transcription factors perform binary computation and output designed products. In summary, we have combined spatially different signals in mammalian cells, and revealed new potentials for biological oscillators, tissue engineering, cancer treatments, bio-computing, etc. ENABLE is a toolbox for constructing contact-dependent signaling networks in mammals. The 3-layer design principle underlying ENABLE empowers any future development of transmembrane logic circuits, thus contributes a foundational advance to Synthetic Biology.