LuisM SPi: Difference between revisions

From OpenWetWare
Jump to navigationJump to search
No edit summary
No edit summary
Line 82: Line 82:




Once i had the model, i simulated it in the Stochastic Pi Machine, (Andrew Phillips) and I will present the result soon.
Once i had the model, i simulated it in the Stochastic Pi Machine(Phillips, et all)
 
This is the code for the SPiM
 
directive sample 10000.0 1000
 
directive plot !b;!c;!a
 
 
val x = 1.0
 
val t = 0.001
 
val t'= 1.0     
 
val d = 0.001         
 
val u = 0.0001         
 
val bind = 1.
 
 
new a@bind:chan
 
new b@bind:chan
 
new c@bind:chan
 
new e@bind:chan
 
new f@bind:chan
 
 
 
'''let X()'''=    delay@x;(XB()|XC()|X())
 
and XB()=    !e; XB()
 
and XC()=    !f; XC()
 
 
 
'''let A()'''=  do ?a;delay@u;A()  or delay@t';(Prot_A()|A())
 
and Prot_A()=  do !b;Prot_A()  or delay@d
 
 
 
'''let B()'''=  do ?e;(X_B())  or delay@t; (Prot_B()|GFP()|B())
 
and X_B() =  do delay@u; (B())  or ?b; delay@t'; (Prot_B()|GFP()|B())
 
and Prot_B()=  do !c;Prot_B()  or delay@d
 
and GFP()=  delay@d
 
 
 
'''let C()'''=  do ?f; X_C()  or delay@t; (Prot_C()|RFP()|C())
 
and X_C()=  do delay@u; X_C()  or ?c; delay@t'; (Prot_C()|RFP()|C())
 
and Prot_C()= do !a;Prot_C()  or delay@d
 
and RFP()= delay@d
 
 
 
run(X()|A()|B()|C())

Revision as of 16:54, 9 March 2008

Graphical Stochastic π Calculus model for iGEM Mexico 2007 Oscillator

The motivation for use Stochastic π Calculus for modeling our constructions is based in the advantages that present this formal lenguage against the ordinary differential equations (ODE's). There are many papers that describe this advantages, escentially I used it because is a different approach to model biological systems, a very interesting approach!.

I have learned SPi alone without any supervision, and my models has not to be necessary corrects.




This is the representation with logic gates

Logic Gates


Basically in the repressilator we can found three logical gates with negative control. Our construction consist by three negative gates and two positive gates.


The characteristics of the construction are as follows:

1.We have a X Constitutive gene that inhibits LasR and LuxpR genes.

2.Lambda cl is then opened and begin producing the autoinductor protein that switch promotes LuxpR.

3.When LasR is unblock, it starts parallel production of two proteins, GFP and the protein that activates LuxpR.

4.LuxpR gets unblock and produce at the same time RFP and the inhibitor of the lambda cl gene.

5.When lambda cl get blocked it won't produce anymore the protein that activates LasR.

6.As the gene LasR is blocked, GFP stops and the production of the protein that unblock LuxpR stops.

7.Then LuxpR won't produce RFP and the inhibitor of lambda cl stops producing.

8.When the inhibitor of lamda cl degrades the cycle is finished and we returned to the original state.


Now the model in Graphical Stochastic π Calculus Representation



Graphical SPi Representation



g(a,b)= ?a.g'(a,b) + Ʈt'.(P(b)|g(a,b))

g'(a.b)= Ʈu . g(a,b)

P(b)= !b . P(b) + Ʈd

g(b,c)= ?e . g'(b,c) + Ʈt . (P(c)|GFP()|g(b,c))

g'(b,c)= Ʈu . g(b,c) + ?b . g(b,c)

g(b,c)= Ʈt' . (P(c)|GFP()|g'(b,c))

P(c)= !c . P(c) + Ʈd

GFP()= Ʈd

g(c,a)= ?f . g'(c,a) + Ʈt . (P(a)|RFP()|g(c,a))

g'(c,a)= Ʈu . (P(a)) + ?c . g(c,a)

g(c,a)= Ʈt' . (P(a)|RFP()|g'(c,a))

P(a)= !a . P(a) + Ʈd

RFP()= Ʈd

X(e,f)= Ʈx . (P(e)|P(f)|X())

P(e)= !e . P(e) + Ʈd

P(f)= !f . P(f) + Ʈd


Once i had the model, i simulated it in the Stochastic Pi Machine(Phillips, et all)

This is the code for the SPiM

directive sample 10000.0 1000

directive plot !b;!c;!a


val x = 1.0

val t = 0.001

val t'= 1.0

val d = 0.001

val u = 0.0001

val bind = 1.0


new a@bind:chan

new b@bind:chan

new c@bind:chan

new e@bind:chan

new f@bind:chan


let X()= delay@x;(XB()|XC()|X())

and XB()= !e; XB()

and XC()= !f; XC()


let A()= do ?a;delay@u;A() or delay@t';(Prot_A()|A())

and Prot_A()= do !b;Prot_A() or delay@d


let B()= do ?e;(X_B()) or delay@t; (Prot_B()|GFP()|B())

and X_B() = do delay@u; (B()) or ?b; delay@t'; (Prot_B()|GFP()|B())

and Prot_B()= do !c;Prot_B() or delay@d

and GFP()= delay@d


let C()= do ?f; X_C() or delay@t; (Prot_C()|RFP()|C())

and X_C()= do delay@u; X_C() or ?c; delay@t'; (Prot_C()|RFP()|C())

and Prot_C()= do !a;Prot_C() or delay@d

and RFP()= delay@d


run(X()|A()|B()|C())