using blenx for systems biology
play

Using BlenX for Systems Biology Corrado Priami CoSBi Outline of - PowerPoint PPT Presentation

Using BlenX for Systems Biology Corrado Priami CoSBi Outline of the talk 1. Systems biology 2. BlenX genesis 3. Computational tools 4. A couple of examples Systems Biology: some challenges Interaction Emergence Multi-level, multi-scale


  1. Using BlenX for Systems Biology Corrado Priami CoSBi

  2. Outline of the talk 1. Systems biology 2. BlenX genesis 3. Computational tools 4. A couple of examples

  3. Systems Biology: some challenges Interaction Emergence Multi-level, multi-scale Partial knowledge Ambiguous observations Low-level local mechanisms affect high-level global behavior

  4. The conceptual framework

  5. A molecular machinery

  6. The metaphor

  7. BlenX genesis Case Studies Evolutionary Pressure BlenX Beta binders Stochastic π -calculus Implementation

  8. The origin: Stochastic π -calculus act ::= (a!y, r) | (a?x, r) | (tau, r) P ::= 0 | Σ i act i .P i | P1|P2 | (new x)P | [x=y]P |!P

  9. Stochastic π -calculus: proteins Prot A D1 D2 D3 D1 D2 D3 Prot A ::= (new ch)(D1 | D2 | D3) ch

  10. Stochastic π -calculus: concentration of proteins Prot A D1 D2 D3 D1 D2 D3 ch1 MultiProt A ::= Prot A | … | Prot A D1 D2 D3 D1 D2 D3 ch3 ch2

  11. Stochastic π -calculus: 1 st concern

  12. Stochastic π -calculus: protein- protein interaction capabilities Prot A Prot B D4 D1 D2 D3 a!y a?x D4 Prot A ::= (new ch)(D1 | D2 | a!y.D3 ’ ) a Prot B ::= a?x.D4 ’ D1 D2 D3 System ::= Prot A | Prot B ch1

  13. Stochastic π -calculus: protein-protein interaction Prot A Prot B D4 D1 D2 D3 a!y a?x System  (new ch)(D1 | D2 | D3 ’ ) | D4 ’ {y/x} Prot B Prot A D1 D2 D3 ’ D4 ’ {y/x}

  14. Stochastic π -calculus: protein-protein complexation Prot A Prot B D4 D1 D2 D3 a!y a?x (new ch, y )(D1 | D2 | a!y .D3 ’ ) | a?x .D4 ’  (new y)[ (new ch)(D1 | D2 | D3 ’ ) | D4 ’ {y/x} ] Prot AB D1 D2 D3 ’ D4 ’ {y/x}

  15. Stochastic π -calculus: protein-protein decomplexation Prot AB D4 ’ {y/x} D1 a!y.D2 ’ D3 ’ (new y)[(new ch)(D1 | a!y .D2 ’ | D3 ’ ) | D4 ’ {y/x}]  � (new ch)(D1 | D2 ’ | D3 ’ ) | D4 ’ {y/x} Prot B Prot A D1 D2 ’ D3 ’ D4 ’ {y/x}

  16. Stochastic π -calculus: 2 nd concern

  17. Stochastic π -calculus: non key-lock interaction Prot B Prot A D1 D2 D3 D5 a i ?x (new ch)(D1 | D2 | a 1 !y.D3 ’ +…+a n !y.D3 ’ ) | a i ?x.D5 ’  � (new ch)(D1 | D2 | D3 ’ ) | D5 ’ {y/x} Prot B Prot A D1 D2 D3 ’ D5 ’ {y/ x}

  18. Stochastic π -calculus: 3 rd concern

  19. Stochastic π -calculus: partial knowledge New knowledge : new programming

  20. The origin: 4 th concern

  21. ?

  22. The evolution: Beta-binders act ::= (a!y, r) | (a?x, r) | (tau, r) | (expose(x, T), r) | (hide(x), r) | (unhide(x), r) B ::= β (x:T) | β h (x:T)| β (x:T) B | β h (x:T) B P ::= 0 | P1|P2 | (new x)P |!P Nil | B [P]| B|B B ::= x:T y:U x?w.P 1 | y?k.P 2 | hide(y).P 3

  23. Beta-binders: interaction x:T y:U z:V x?w.P 1 | y?k.P 2 | hide(y).P 3 z!v.S 1 | y?k.S 2 | y!w.S 3 x:T y:U z:V z!v.S 1 | S 2 {w/k}| S 3 x?w.P 1 | y?k.P 2 | hide(y).P 3

  24. Beta-binders: interaction x:T y:U z:V x?w.P 1 | y?k.P 2 | hide(y).P 3 z!v.S 1 | y?k.S 2 | y!w.S 3 x:T y:U z:V z!v.S 1 | S 2 {w/k}| S 3 x?w.P 1 | y?k.P 2 | hide(y).P 3 x:T y:U z:V x?w.P 1 | P 2 {v/k}| hide(y).P 3 S 1 | y?k.S 2 | y!w.S 3

  25. Beta-binders: binders manipulation x:T y:U unhide(y).P 1 | expose(x:V).P 2 | hide(y).P 3 x:T y:U z:V unhide(y).P 1 | P 2 {z/x} | hide(y).P 3

  26. Beta-binders: binders manipulation x:T y:U unhide(y).P 1 | expose(x:V).P 2 | hide(y).P 3 x:T y:U z:V unhide(y).P 1 | P 2 {z/x} | hide(y).P 3 x:T y h :U z:V unhide(y).P 1 | P 2 {z/x} | P 3

  27. Beta-binders: binders manipulation x:T y:U unhide(y).P 1 | expose(x:V).P 2 | hide(y).P 3 x:T y:U z:V x:T y:U z:V P 1 | P 2 {z/x} | P 3 unhide(y).P 1 | P 2 {z/x} | hide(y).P 3 x:T y h :U z:V unhide(y).P 1 | P 2 {z/x} | P 3

  28. Beta-binders: boxes manipulation x:T z:V y:U x?w.P 1 | y?k.P 2 | hide(y).P 3 z!v.S 1 | y?k.S 2 | y!w.S 3 x:T x?w.P 1 | y?k.P 2 | hide(y).P 3 | z!v.S 1 | x?k.S 2 | x!w.S 3 f join = λ B 1 B 2 Q 1 Q 2 . if [ B 1 = β (x:T) B 1 * and B 2 = β (y:U) B 2 * and comp (T,U)] then ( B 1 , σ id , {x/y}) else nothing

  29. Beta-binders: boxes manipulation x:T z:V y:U x?w.P 1 | y?k.P 2 | hide(y).P 3 z!v.S 1 | y?k.S 2 | y!w.S 3 x:T x?w.P 1 | y?k.P 2 | hide(y).P 3 | z!v.S 1 | x?k.S 2 | x!w.S 3 x:T y:U x?w.P 1 | y?k.P 2 | hide(y).P 3 y!v.S 1 | x?k.S 2 | x!w.S 3 f split = λ B 1 Q 1 Q 2 . if B 1 = β (x:T) B 1 * then ( B 1 , β (y:U), σ id , {y/z}) else nothing

  30. Beta-binders: 1 st concern

  31. Beta-binders: 2 nd concern

  32. Beta-binders: 3 rd concern

  33. Beta-binders: 4 th concern

  34. Beta-binders: further concerns

  35. ?

  36. The current generation: BlenX act ::= a!y | a?x | expose(x, T) | hide(x) | unhide(x) | ch(x,T) | delay(r) | die(r) B ::= β (x:T) | β h (x:T)| β c (x:T) | β (x:T) B | β h (x:T) B | β c (x:T) B P ::= 0 | P1|P2 |!act.P | M | if CE then P M ::= act.P | M + M CE ::= (Id,Id) | (Id, hidden) | (Id, unhidden) | (Id, Bound) | CE and CE | CE or CE | not CE Nil | B [P]| B|B B ::= E ::= when (C) V C ::= time = real | steps = decimal | |Id::r | relop Decimal |C and C | C or C | not C V ::= join(B) | split(B 1 ,B 2 ) | delete(n) | new(n) | update(var, fun)

  37. BlenX: monomolecular actions x:A y:B z h :C die(1). P | ch(x,D).P + delay(2).P x:D y:B z h :C die(1). P | P

  38. BlenX: monomolecular actions x:A y:B z h :C die(1). P | ch(x,D).P + delay(2).P x:A y:B z h :C die(1). P | P

  39. BlenX: bimolecular actions x:T y:U z:V x?w.P 1 | y?k.P 2 | hide(y).P 3 z!v.S 1 | y?k.S 2 | y!w.S 3 { T, U, V, … } %% { … (U,V, r ), (T,V, r1 ), … x:T y:U z:V } x?w.P 1 | P 2 {v/k}| hide(y).P 3 S 1 | y?k.S 2 | y!w.S 3

  40. BlenX: bimolecular actions x:T y:U z:V x?w.P 1 | y?k.P 2 | hide(y).P 3 z!v.S 1 | y?k.S 2 | y!w.S 3 { T, U, V, … } %% { … (U,V, r ), (T,V, r1 ), … x:T y:U z:V } P 1 {v/k} | y?k.P 2 | hide(y).P 3 S 1 | y?k.S 2 | y!w.S 3

  41. BlenX: events x:T y:U z:V y:V Q R S when ( Q :: 10 ) new ( 1 ); x:T y:U z:V y:V x:T y:U Q R S Q when ( R , Q :: f ) join ( P ); let f = |S|*sqrt(|Q|)/k y:U y:V x:T y:U P S Q

  42. BlenX: complexes x:T y:U z:V y:Z { T,U,V,Z, … Q R S } %% { (U,Z,3.5), (U,V,1.5,2.5,10) x:T y:U z:V y:Z } Q R S

  43. BlenX: structures x:A x:A y:B x:A y:B x:A y:B y:B x : A y : B y:B x:A

  44. BlenX: 1 st concern

  45. BlenX: 2 nd concern

  46. BlenX: 3 rd concern

  47. BlenX: 4 th concern

  48. BlenX: further concerns

  49. The current generation: evolutionary pressure Case Studies Populations Cell-organs systems Tissues Cell-cell interaction Space, morphogenesis Scientific questions

  50. Other species S π -calculus dialects, BioAmbients, Brane calculi, κ -calculus, CCS-R, BioPEPA, … P-systems, Petri nets, statecharts, BioUML, cellular automata, … ODEs

  51. Computational tools

  52. Computational support Case Studies Evolutionary Pressure BetaWB SPiM BioSPI Efficiency

  53. Computational support: Input

  54. Computational support: further features

  55. Computational support: Output

  56. Computational support: Output

  57. Computational support: further features Multiple experiments Analysis methods Time-courses Managing configuration Time window Statistic variables Exporting settings

  58. Computational support: evolutionary pressure Case Studies Simulation- based science Analysis, visualization, model versioning Diffusion, parallelism Efficiency

  59. Examples

  60. Predator - Prey [steps=150000] x:Hunt x:Hunt x:Hunt let Predator : bproc = #(x,Hunt) x:Hunt [die(10) + x!().nil ]; nil die(10) + x!().nil die(10) + x!().nil x:Hunt y:Life let Prey : bproc = #(x,Hunt),#(y,Life) die(10) + x!().nil [x?().die(inf) + y!().nil ]; x:Hunt y:Life x:Hunt y:Life x:Hunt y:Life x?().die(inf) +y!().nil let Nature : bproc = #(x,Life) y:Life [ !x?().nil ] ; nil x?().die(inf) +y!().nil x?().die(inf) +y!().nil let PredatorRep : bproc = #(x,Hunt) [nil ]; !(y?().nil) when (PredatorRep :: inf) split (Predator,Predator); let PreyRep : bproc = #(x,Hunt),#(y,Life) [nil ]; when (PreyRep :: inf) split (Prey,Prey) ; run 1000 Predator || 1000 Prey || 1 Nature

  61. Predator - Prey x:Hunt x:Hunt y:Life die() + x!().nil x?().die(inf) + y!().nil { Hunt, Life x:Hunt x:Hunt y:Life } %% nil die(inf) { (Hunt,Hunt,10.0), (Life,Life,0.01) } x:Hunt x:Hunt die() + x!().nil die() + x!().nil

  62. Predator - Prey x:Hunt y:Life y:Life x?().die(inf) + y!().nil !(y?().nil) { Hunt, Life x:Hunt y:Life y:Life } %% { nil !(y?().nil) (Hunt,Hunt,10.0), (Life,Life,0.01) } x:Hunt y:Life x:Hunt y:Life y:Life x?().die(inf) +y!().nil x?().die(inf) +y!().nil !(y?().nil)

  63. Predator - Prey

  64. Cell cycle: synthesis/degradation Function file Model file let alpha : const = 0.00236012; let CYCBT: bproc = #(x,CYCBT)[ nil ]; let k1 : const = 0.04; when(CYCBT : : d_dtCYCBT_1) new(1); let k2p : const = 0.04; when(CYCBT : : d_dtCYCBT_2) delete(1); let d_dtCYCBT_1 : function = k1/alpha; let d_dtCYCBT_2 : function = k2p*|CYCBT|;

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend