Edinburgh/SBCodePoPper

From 2007.igem.org

********** MODEL NAME
Model of the Division PoPer of Edinburgh iGEM 2007 Team
********** MODEL NOTES
********** MODEL STATES
d/dt(TetR) = TetRexp * ForwardState(time) - TetRdeg * TetR
d/dt(CLambdaR) = CLambdaRexp * BackwardState(time)- CLambdaRdeg  * CLambdaR
d/dt(YFP)= (1-(1/(1+exp(((-TetR*ModTet)+SPTet))))) *  TetMaxPoPS * ForwardState(time)  
+ (1-(1/(1+exp(((-CLambdaR*ModLambda)+SPCLambda)))))*  TetMaxPoPS * BackwardState(time) 
- YFPdeg * YFP                                                                                                                                          
TetR(0) = 0                                                                                                                               
CLambdaR(0) = 0                                                                                                                               
YFP(0)=0
********** MODEL PARAMETERS
TetRexp = 0.0001 
CLambdaRexp = 0.0001 
TetRdeg = 0.05
CLambdaRdeg = 0.05
SPTet = 7
SPCLambda = 7
ModTet = 4500
ModLambda = 4500
TetMaxPoPS = 0.0001
CLambdaMaxPoPS = 0.0001
YFPdeg = 0.05
********** MODEL VARIABLES
********** MODEL REACTIONS
********** MODEL FUNCTIONS
********** MODEL EVENTS
********** MODEL MATLAB FUNCTIONS
function [result] = ForwardState(x)                                                                                                          
FlippingTime=15;                                                                                                                             
DivisionTime=80;                                                                                                                             
temp=0;                                                                                                                                      
temp = mod(x,2*DivisionTime+2*FlippingTime);                                                                                                 
if temp < (DivisionTime)                                                                                                                     
 result=1;                                                                                                                                  
else result=0;                                                                                                                               
end                                                                                                                                          
return                                                                                                                                       
                                                                                                                                           
function [result] = BackwardState(x)                                                                                                         
FlippingTime=15;                                                                                                                             
DivisionTime=80;                                                                                                                             
temp=0;                                                                                                                                      
temp = mod(x,2*DivisionTime+2*FlippingTime);                                                                                                 
if temp > (DivisionTime+FlippingTime)                                                                                                        
  if temp < (2*DivisionTime+FlippingTime)                                                                                                   
     result=1;                                                                                                                              
   else result=0;                                                                                                                           
  end                                                                                                                                       
else result=0;                                                                                                                              
end                                                                                                                                          
return