Team:Paris/Modeling/Implementation

From 2008.igem.org

(Difference between revisions)
(All Algorithms)
 
(15 intermediate revisions not shown)
Line 2: Line 2:
{{Paris/Header|Implementation}}
{{Paris/Header|Implementation}}
 +
{{Paris/Section_contents_characterization}}
-
We use '''Matlab''' for all implementations.
+
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.
== 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 show hereby the annoted program ''' find_FP.m ''' 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>'' )'''
-
 
+
-
<html><pre class="codeinput">
+
-
<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 
+
-
</span><span class="comment">% with FlhDC = 0 or FliA = 0 by least-square optimisation
+
-
</span>
+
-
<span class="comment">% X_data = vector of given values of [FliA]i or [FlhDC]i (experimentally
+
-
</span><span class="comment">% controled)
+
-
</span><span class="comment">% Y_data = vector of experimentally measured values f4, f5, f6, f7 or f8
+
-
</span><span class="comment">% corresponding of 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>
+
-
+
-
    <span class="keyword">function</span> output = expr_pProm(parameters, X_data)
+
-
        <span class="keyword">for</span> k = 1:length(X_data)
+
-
                output(k) = parameters(1)*hill(X_data(k), parameters(2), parameters(3));
+
-
        <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);
+
-
<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, 1/10*initial_parameters, 10*initial_parameters, options );
+
-
<span class="comment">% search for the fittest parameters, between 1/10 and 10 times the initial
+
-
</span><span class="comment">% parameters
+
-
</span>
+
-
<span class="keyword">end</span>
+
-
</pre></html>
+
== All Algorithms ==
== 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...) :
 +
 +
<div style="text-align: center">
 +
{{Paris/Toggle|Prior for Characterization|Team:Paris/Modeling/More_Algo_Prior|300px}}
 +
</div>
 +
 +
Next, the algorithms representing the complete Characterizations, e.g. coupling the above to the downstream promoters activities :
 +
 +
<div style="text-align: center">
 +
{{Paris/Toggle|Parameters Finders|Team:Paris/Modeling/More_Algo_Finder|300px}}
 +
</div>
 +
 +
Finally, all the others auxiliary algorithms,as well as the final program code used for our simulations :
<div style="text-align: center">
<div style="text-align: center">
-
{{Paris/Toggle|Prior for Characterization|Team:Paris/Modeling/More_Algo_Prior}}
+
{{Paris/Toggle|The Global Model|Team:Paris/Modeling/More_Algo_Char|300px}}
-
{{Paris/Toggle|Parameters Finders|Team:Paris/Modeling/More_Algo_Finder}}
+
-
{{Paris/Toggle|The Global Model|Team:Paris/Modeling/More_Algo_Char}}
+
</div>
</div>
<br>
<br>
-
[[Team:Paris/Modeling/Workflow_Example| <Back - to "Workflow on an Example"]]|
+
{{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 :