Team:Paris/Modeling/Implementation

From 2008.igem.org

(Difference between revisions)
(Parameters Finder for our Example)
 
(35 intermediate revisions not shown)
Line 2: Line 2:
{{Paris/Header|Implementation}}
{{Paris/Header|Implementation}}
 +
{{Paris/Section_contents_characterization}}
-
[[https://2008.igem.org/Team:Paris/Modeling/Workflow_Example Back to "Workflow on an Example"]]
+
This section details all the computational implementations of the "Characterization Approach". We show our method and explain the algorithm allowing, once we have our experimental data, to estimate our parameters. At the end, the final program (coded in Matlab) aiming at a "virtual predictive lab", is described.
-
 
+
-
We use '''Matlab''' for all implementations.
+
== Parameters Finder Programs ==
== Parameters Finder Programs ==
-
=== the datas ===
+
=== The data ===
-
The experimental datas consist typically in two tables, <span style="color:#0000FF;">X_data</span> (various concentrations of the transcription factor) and <span style="color:#0000FF;">Y_data</span> (corresponding output values).  
+
The experimental data consist typically of two tables, '''X_data''' (various concentrations of the transcription factor) and '''Y_data''' (corresponding output values).  
-
* controlling X_data : thanks to the prior characterization of the inductible promoters that control the transcription factor concentrations, we can deduce from the <span style="color:#0000FF;">Inv_f1.m</span> and <span style="color:#0000FF;">Inv_f2.m</span> functions the necessary concentrations of ''aTc'' and ''arabinose'' to introduce in the medium to get the wanted concentrations of transcription factor.
+
* controlling X_data : thanks to the prior characterization of the inductible promoters that control the transcription factor concentrations, we can deduce from the '''Inv_f1.m''' and '''Inv_f2.m''' functions the necessary concentrations of ''aTc'' and ''arabinose'' to introduce in the medium to achieve the targeted concentrations of the given transcription factor.
-
* getting Y_data : the linear <span style="color:#0000FF;">conversion</span> between the fluorescence of GFP at maturation and its concentration gives us directly the expected datas.
+
* Extracting Y_data : the linear '''conversion''' between the fluorescence of GFP at maturation and its concentration gives us directly the expected data.
=== Parameters Finder for our Example ===
=== Parameters Finder for our Example ===
-
We just write here the annoted program find_FP that is used to estimate, for instance, the parameters in :
+
We show hereby the annotated program ''' find_FP.m ''' that is used to estimate, for instance, the parameters in :
-
* <span style="color:#0000FF;">&#131;5( [''FlhDC''], 0 ) = ''&beta;<sub>24</sub> * &#131;<sub>hill</sub>''( [''FlhDC''], ''K<sub>2</sub>'', ''n<sub>2</sub>'' )</span> and  
+
* '''&#131;5( [''FlhDC''], 0 ) = ''&beta;<sub>24</sub> * &#131;<sub>hill</sub>''( [''FlhDC''], ''K<sub>2</sub>'', ''n<sub>2</sub>'' )''' and  
-
* <span style="color:#0000FF;">&#131;5( 0, [''FliA''] ) = ''&beta;<sub>25</sub> * &#131;<sub>hill</sub>''( [''FliA''], ''K<sub>8</sub>'', ''n<sub>8</sub>'' )</span>
+
* '''&#131;5( 0, [''FliA''] ) = ''&beta;<sub>25</sub> * &#131;<sub>hill</sub>''( [''FliA''], ''K<sub>8</sub>'', ''n<sub>8</sub>'' )'''
 +
 
 +
== All Algorithms ==
-
<html><pre class="codeinput">
+
We present here all the algorithms used in our "Characterization Approach".
-
<span class="keyword">function</span> optimal_parameters = find_FP(X_data, Y_data, initial_parameters)
+
-
<span class="Comment">% gives the 'best parameters' involved in f4, f5, f6, f7 or f8 with FlhDC = 0
+
First, the "prior characterization", e.g. the inducible promoters controlling the master regulators (FlhDC, FliA...) :
-
</span>
+
-
<span class="Comment">% or FliA = 0 by least-square optimisation
+
-
</span>
+
-
<span class="Comment">% X_data = vector of given values of [FliA]i or [FlhDC]i (experimentally
+
<div style="text-align: center">
-
</span>
+
{{Paris/Toggle|Prior for Characterization|Team:Paris/Modeling/More_Algo_Prior|300px}}
-
<span class="Comment">% controled)
+
</div>
-
</span>
+
-
<span class="Comment">% Y_data = vector of experimentally measured values f4, f5, f6, f7 or f8 corresponding of
+
-
</span>
+
-
<span class="Comment">% the X_data
+
-
</span>
+
-
<span class="Comment">% initial_parameters = values of the parameters proposed by the literature
+
-
</span>
+
-
<span class="Comment">%                      or simply guessed
+
-
</span>
+
-
<span class="Comment">%                    = [beta, K -> (K)/(coef), n]
+
-
</span>
+
 +
Next, the algorithms representing the complete Characterizations, e.g. coupling the above to the downstream promoters activities :
-
<span class="keyword">function</span> output = expr_pProm(parameters, X_data)
+
<div style="text-align: center">
-
<span class="keyword">for</span> k = 1:length(X_data)
+
{{Paris/Toggle|Parameters Finders|Team:Paris/Modeling/More_Algo_Finder|300px}}
-
output(k) = parameters(1)*hill(X_data(k), parameters(2), parameters(3)) ;
+
</div>
-
<span class="keyword">end</span>
+
-
<span class="keyword">end</span>  
+
-
options = optimset(<span class="string">'LevenbergMarquardt'</span>,<span class="string">'on'</span>,<span class="string">'TolX'</span>,1e-10,<span class="string">'MaxFunEvals'</span>,1e10,<span class="string">'TolFun'</span>,1e-10,<span class="string">'MaxIter'</span>,1e4);
+
Finally, all the others auxiliary algorithms,as well as the final program code used for our simulations :
-
<span class="Comment">% options for the function lsqcurvefit
+
-
</span>
+
-
optimal_parameters = lsqcurvefit( @(parameters, X_data) expr_pProm(parameters, X_data), initial_parameters, X_data, Y_data,...
+
<div style="text-align: center">
-
1/10*initial_parameters, 10*initial_parameters, options );
+
{{Paris/Toggle|The Global Model|Team:Paris/Modeling/More_Algo_Char|300px}}
-
<span class="Comment">% search for the fittest parameters, between 1/10 and 10 times the initial
+
</div>
-
</span>
+
-
<span class="Comment">% parameters
+
-
</span>
+
-
<span class="keyword">end</span>  
+
<br>
-
</pre></html>
+
{{Paris/Navig|Team:Paris/Modeling/Workflow_Example}}

Latest revision as of 03:40, 30 October 2008

Implementation


This section details all the computational implementations of the "Characterization Approach". We show our method and explain the algorithm allowing, once we have our experimental data, to estimate our parameters. At the end, the final program (coded in Matlab) aiming at a "virtual predictive lab", is described.

Contents

Parameters Finder Programs

The data

The experimental data consist typically of two tables, X_data (various concentrations of the transcription factor) and Y_data (corresponding output values).

  • controlling X_data : thanks to the prior characterization of the inductible promoters that control the transcription factor concentrations, we can deduce from the Inv_f1.m and Inv_f2.m functions the necessary concentrations of aTc and arabinose to introduce in the medium to achieve the targeted concentrations of the given transcription factor.
  • Extracting Y_data : the linear conversion between the fluorescence of GFP at maturation and its concentration gives us directly the expected data.

Parameters Finder for our Example

We show hereby the annotated program find_FP.m that is used to estimate, for instance, the parameters in :

  • ƒ5( [FlhDC], 0 ) = β24 * ƒhill( [FlhDC], K2, n2 ) and
  • ƒ5( 0, [FliA] ) = β25 * ƒhill( [FliA], K8, n8 )

All Algorithms

We present here all the algorithms used in our "Characterization Approach".

First, the "prior characterization", e.g. the inducible promoters controlling the master regulators (FlhDC, FliA...) :

Next, the algorithms representing the complete Characterizations, e.g. coupling the above to the downstream promoters activities :

Finally, all the others auxiliary algorithms,as well as the final program code used for our simulations :