Team:Paris/Modeling/Implementation

From 2008.igem.org

Revision as of 23:00, 27 October 2008 by Hugo (Talk | contribs)

Implementation


[Back to "Workflow on an Example"]

We use Matlab for all implementations.

Parameters Finder Programs

the datas

The experimental datas consist typically in 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 get the wanted concentrations of transcription factor.
  • getting Y_data : the linear conversion between the fluorescence of GFP at maturation and its concentration gives us directly the expected datas.

Parameters Finder for our Example

We just write here the annoted program find_FP 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 )

functionoptimal_parameters=find_FP(X_data,Y_data,initial_parameters)
%givesthe'bestparameters'involvedinf4,f5,f6,f7orf8
%withFlhDC=0orFliA=0byleast-squareoptimisation

%X_data=vectorofgivenvaluesof[FliA]ior[FlhDC]i(experimentally
%controled)
%Y_data=vectorofexperimentallymeasuredvaluesf4,f5,f6,f7orf8
%correspondingoftheX_data
%initial_parameters=valuesoftheparametersproposedbytheliterature
%orsimplyguessed
%=[beta,K->(K)/(coef),n]


functionoutput=expr_pProm(parameters,X_data)
fork=1:length(X_data)
output(k)=parameters(1)*hill(X_data(k),parameters(2),parameters(3));
end
end

options=optimset('LevenbergMarquardt','on','TolX',1e-10,...
'MaxFunEvals',1e10,'TolFun',1e-10,'MaxIter',1e4);
%optionsforthefunctionlsqcurvefit

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);
%searchforthefittestparameters,between1/10and10timestheinitial
%parameters

end