# Team:Evry/Programming

### From 2013.igem.org

# Programming methods

This part exposes our technical and algorithmical choices, the implementation and the numerical resolution of our models.

## Models implementation

All our models are using the Python language. Python has several major perks:

- Very good floating numbers management
- High level programming
- Object-oriented
- Not an exclusively numerical tool, which allows much more options than Scilab or Matlab

## Numerical resolution of ODEs

We chose not to use the resolution functions included in Scipy to have more coding liberties.

To solve our ODEs, we used a simple Euler method. Here is an example:

Let the following be a Cauchy problem:

Considering the following Taylor expansion:

Let us define the sequence such as and

And thus, the sequence such as and

Thus, we can define the Euler method:

Which, standardized, becomes .

In the end, all our differential equation systems are implemented like so:

where N is the number of equations in the system.

This is how we implemented the equation systems in Python. The fact that we didn't use ODE-solving libraries allowed us to introduce definition domains for some variables, which improved the overall stability in numerical resolutions.

For a simpler and quicker use of repetitive tasks, we also encapsulated everything in a class scheme.

## Flux Balance Analysis

## Cellular automaton