Code for the simulation

From OpenWetWare

Jump to: navigation, search

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())
Personal tools