Code for the simulation

Return to home page

Return to Diffusible Signal Oscillator

Construction's Program Code for SPiM:


 * val t = 0.1 (*Decay Rate*)
 * val d = 0.001 (*Inhibition Rate*)
 * val u = 0.0001 (*Constitutive Rate*)
 * val bind = 1.0 (*Protein binding rate*)
 * let Cl(a:chan,b:chan)=
 * do delay@t;(ALas(b) | Cl(a,b))
 * or ?a;delay@u;Cl(a,b)
 * and ALas(b:chan)=
 * do !b;ALas(b)
 * or delay@d
 * new a@bind:chan
 * new b@bind:chan
 * new c@bind:chan
 * new e@bind:chan
 * new f@bind:chan
 * val t = 0.1 val d = 0.001
 * val u = 0.0001 val bind = 1.0
 * let Las(b:chan,c:chan)=
 * do ?e;delay@t;(ALux(c)|GFP|Las(b,c))
 * or ?b; delay@t; (ALux(c)|GFP|Las(b,c))
 * and ALux(c:chan)=
 * do !c;ALux(c)
 * or delay@d
 * and GFP=
 * delay@d
 * new a@bind:chan
 * new b@bind:chan
 * new c@bind:chan
 * new e@bind:chan
 * new f@bind:chan
 * val t = 0.1 val d = 0.001
 * val u = 0.0001 val bind = 1.0
 * let Lux(c:chan,a:chan)=
 * do ?f;delay@t;(RCl(a)|RFP| Lux(c,a))
 * or ?c; delay@t; (RCl(a)|RFP|Lux(c,a))
 * and RCl(a:chan)=
 * do !a;RCl(a)
 * or delay@d
 * and RFP=
 * delay@d
 * new a@bind:chan
 * new b@bind:chan
 * new c@bind:chan
 * new e@bind:chan
 * new f@bind:chan
 * val t = 0.1 val d = 0.001
 * val u = 0.0001 val bind = 1.0
 * let X=
 * delay@t;(RLas(e)|RLux(f)|X)
 * and RLas(e:chan)=
 * do !e;RLas(e)
 * or delay@d
 * and RLux(f:chan)=
 * do !f;RLux(f)
 * or delay@d
 * new a@bind:chan
 * new b@bind:chan
 * new c@bind:chan
 * new e@bind:chan
 * new f@bind:chan
 * run(Cl(a,b))
 * run(Las(b,c))
 * run(Lux(c,a))
 * run(X)