SlideShare a Scribd company logo
1 of 48
Download to read offline
pre-κ
  expander

   hurbina

Introduction
What is κ
κ syntax

Kappa at
DLab
                  pre-kappa expander for κ language
DLab’s current
work
Space-related
simulations
Timming control              H´ctor Urbina
                              e
pre-Kappa
expander




                             July 18, 2011
pre-κ
  expander

   hurbina

Introduction      1   Introduction
What is κ
κ syntax                 What is κ
Kappa at
DLab
                         κ syntax
DLab’s current
work
Space-related
simulations
Timming control   2   Kappa at DLab
pre-Kappa
expander                DLab’s current work
                        Space-related simulations
                        Timming control
                        pre-Kappa expander
What is κ

    pre-κ
  expander

   hurbina

Introduction      κ is a formal language for defining agents as sets of sites.
What is κ
κ syntax
                  Sites hold an internal state as well as a binding state.
Kappa at
DLab
DLab’s current
                  κ also enables the expression of rules of interaction between
work
Space-related     agents.
simulations
Timming control
pre-Kappa         These rules are executable, inducing a stochastic dynamics on a
expander
                  mixture of agents.
                  A κ model is a collection of rules (with rate constants) and an
                  initial mixture of agents on which such rules begin to act.


                  Krivine et. al. Programs as models: Kappa language basics. Unpublised
                  work.
What is κ

    pre-κ
  expander

   hurbina

Introduction      κ is a formal language for defining agents as sets of sites.
What is κ
κ syntax
                  Sites hold an internal state as well as a binding state.
Kappa at
DLab
DLab’s current
                  κ also enables the expression of rules of interaction between
work
Space-related     agents.
simulations
Timming control
pre-Kappa         These rules are executable, inducing a stochastic dynamics on a
expander
                  mixture of agents.
                  A κ model is a collection of rules (with rate constants) and an
                  initial mixture of agents on which such rules begin to act.


                  Krivine et. al. Programs as models: Kappa language basics. Unpublised
                  work.
What is κ

    pre-κ
  expander

   hurbina

Introduction      κ is a formal language for defining agents as sets of sites.
What is κ
κ syntax
                  Sites hold an internal state as well as a binding state.
Kappa at
DLab
DLab’s current
                  κ also enables the expression of rules of interaction between
work
Space-related     agents.
simulations
Timming control
pre-Kappa         These rules are executable, inducing a stochastic dynamics on a
expander
                  mixture of agents.
                  A κ model is a collection of rules (with rate constants) and an
                  initial mixture of agents on which such rules begin to act.


                  Krivine et. al. Programs as models: Kappa language basics. Unpublised
                  work.
What is κ

    pre-κ
  expander

   hurbina

Introduction      κ is a formal language for defining agents as sets of sites.
What is κ
κ syntax
                  Sites hold an internal state as well as a binding state.
Kappa at
DLab
DLab’s current
                  κ also enables the expression of rules of interaction between
work
Space-related     agents.
simulations
Timming control
pre-Kappa         These rules are executable, inducing a stochastic dynamics on a
expander
                  mixture of agents.
                  A κ model is a collection of rules (with rate constants) and an
                  initial mixture of agents on which such rules begin to act.


                  Krivine et. al. Programs as models: Kappa language basics. Unpublised
                  work.
What is κ

    pre-κ
  expander

   hurbina

Introduction      κ is a formal language for defining agents as sets of sites.
What is κ
κ syntax
                  Sites hold an internal state as well as a binding state.
Kappa at
DLab
DLab’s current
                  κ also enables the expression of rules of interaction between
work
Space-related     agents.
simulations
Timming control
pre-Kappa         These rules are executable, inducing a stochastic dynamics on a
expander
                  mixture of agents.
                  A κ model is a collection of rules (with rate constants) and an
                  initial mixture of agents on which such rules begin to act.


                  Krivine et. al. Programs as models: Kappa language basics. Unpublised
                  work.
κ Syntax short introduction

    pre-κ
  expander

   hurbina
                  Rule in English:
Introduction
What is κ
κ syntax
                  ”Unphosphorilated Site1 of A binds to Site1 of B.”
Kappa at
DLab
DLab’s current
work
                  κ Rule:
Space-related
simulations
Timming control
                  A(Site1~u),B(Site1) → A(Site1~u!1),B(Site1!1)
pre-Kappa
expander

                      Agent Names : an identifier.
                      Agent Sites : an identifier.
                      Internal States : ~〈value〉.
                      Binding States : !〈n〉, ! or !?.
κ Syntax short introduction

    pre-κ
  expander

   hurbina
                  Rule in English:
Introduction
What is κ
κ syntax
                  ”Unphosphorilated Site1 of A binds to Site1 of B.”
Kappa at
DLab
DLab’s current
work
                  κ Rule:
Space-related
simulations
Timming control
                  A(Site1~u),B(Site1) → A(Site1~u!1),B(Site1!1)
pre-Kappa
expander

                      Agent Names : an identifier.
                      Agent Sites : an identifier.
                      Internal States : ~〈value〉.
                      Binding States : !〈n〉, ! or !?.
κ Syntax short introduction

    pre-κ
  expander

   hurbina
                  Rule in English:
Introduction
What is κ
κ syntax
                  ”Unphosphorilated Site1 of A binds to Site1 of B.”
Kappa at
DLab
DLab’s current
work
                  κ Rule:
Space-related
simulations
Timming control
                  A(Site1~u),B(Site1) → A(Site1~u!1),B(Site1!1)
pre-Kappa
expander

                      Agent Names : an identifier.
                      Agent Sites : an identifier.
                      Internal States : ~〈value〉.
                      Binding States : !〈n〉, ! or !?.
Kappa file structure

    pre-κ
  expander          1   #### Signatures
   hurbina          2   %agent:   A(x,c) # Declaration of agent A
                    3   %agent:   B(x) # Declaration of B
Introduction        4   %agent:   C(x1~u~p,x2~u~p) # Declaration of C with 2 modifiable sites
What is κ           5   #### Rules
κ syntax
                    6   ‘a.b’ A(x),B(x) -> A(x!1),B(x!1) @ ‘on rate’ #A binds B
Kappa at            7   ‘a..b’ A(x!1),B(x!1) -> A(x),B(x) @ ‘off rate’ #AB dissociation
DLab                8   ’ab.c’ A(x! ,c),C(x1~u) ->A(x! ,c!2),C(x1~u!2) @ ‘on rate’ #AB binds C
DLab’s current
work                9  ’mod x1’ C(x1~u!1),A(c!1) ->C(x1~p),A(c) @ ‘mod rate’ #AB modifies x1
Space-related       10 ’a.c’ A(x,c),C(x1~p,x2~u) -> A(x,c!1),C(x1~p,x2~u!1) @ ‘on rate’ #A binds C on x2
simulations
Timming control     11 ’mod x2’ A(x,c!1),C(x1~p,x2~u!1) -> A(x,c),C(x1~p,x2~p) @ ‘mod rate’ #A modifies x2
pre-Kappa           12 #### Variables
expander
                    13 %var: ‘on rate’ 1.0E-4 # per molecule per second
                    14 %var: ‘off rate’ 0.1 # per second
                    15 %var: ‘mod rate’ 1 # per second
                    16 %obs:   ‘AB’ A(x!x.B)
                    17 %obs:   ‘Cuu’ C(x1~u,x2~u)
                    18 %obs:   ‘Cpu’ C(x1~p,x2~u)
                    19 %obs:  ‘Cpp’ C(x1~p,x2~p)
                    20 #### Initial conditions
                    21 %init: 1000 A,B
                    22 %init: 10000 C
                                                              KaSim reference manual v1.06
DLab’s current work

    pre-κ
  expander

   hurbina

Introduction      DLab members study complex dynamical systems.
What is κ
κ syntax

Kappa at
DLab
                  Currently, Cesar Ravello is modeling muscle contration and
DLab’s current
work              Felipe Nu˜ez is simulating massive responses to zombie attacks
                            n
Space-related
simulations       on human populations, whereas Ricardo Honorato is adapting
Timming control
pre-Kappa
expander
                  Model Checking techniques to be used with systems expressed
                  in κ language.

                  Without intervening the κ language, we have reached some
                  interesting levels of abstraction!
DLab’s current work

    pre-κ
  expander

   hurbina

Introduction      DLab members study complex dynamical systems.
What is κ
κ syntax

Kappa at
DLab
                  Currently, Cesar Ravello is modeling muscle contration and
DLab’s current
work              Felipe Nu˜ez is simulating massive responses to zombie attacks
                            n
Space-related
simulations       on human populations, whereas Ricardo Honorato is adapting
Timming control
pre-Kappa
expander
                  Model Checking techniques to be used with systems expressed
                  in κ language.

                  Without intervening the κ language, we have reached some
                  interesting levels of abstraction!
DLab’s current work

    pre-κ
  expander

   hurbina

Introduction      DLab members study complex dynamical systems.
What is κ
κ syntax

Kappa at
DLab
                  Currently, Cesar Ravello is modeling muscle contration and
DLab’s current
work              Felipe Nu˜ez is simulating massive responses to zombie attacks
                            n
Space-related
simulations       on human populations, whereas Ricardo Honorato is adapting
Timming control
pre-Kappa
expander
                  Model Checking techniques to be used with systems expressed
                  in κ language.

                  Without intervening the κ language, we have reached some
                  interesting levels of abstraction!
DLab’s current work

    pre-κ
  expander

   hurbina

Introduction
What is κ
κ syntax

Kappa at
                      Space-related simulations.
DLab                      Compartmentalization.
DLab’s current
work
Space-related
                          Diffusion events.
simulations
Timming control
pre-Kappa
expander              Timming control.
                          Polymer-driven rules to manipulate latency.
DLab’s current work

    pre-κ
  expander

   hurbina

Introduction
What is κ
κ syntax

Kappa at
                      Space-related simulations.
DLab                      Compartmentalization.
DLab’s current
work
Space-related
                          Diffusion events.
simulations
Timming control
pre-Kappa
expander              Timming control.
                          Polymer-driven rules to manipulate latency.
DLab’s current work

    pre-κ
  expander

   hurbina

Introduction
What is κ
κ syntax

Kappa at
                      Space-related simulations.
DLab                      Compartmentalization.
DLab’s current
work
Space-related
                          Diffusion events.
simulations
Timming control
pre-Kappa
expander              Timming control.
                          Polymer-driven rules to manipulate latency.
Compartmentalization

    pre-κ
  expander

   hurbina

Introduction
What is κ         #Signatures
κ syntax          %agent: A(x,c,loc~i~j~k)
Kappa at          %agent: B(x,loc~i~j~k)
DLab
DLab’s current
work              #Rules
Space-related
simulations       #A binds B
Timming control
pre-Kappa         A(x,loc~i),B(x,loc~i) → A(x!1,loc~i),B(x!1,loc~i) @ ’on rate’
expander
                  A(x,loc~j),B(x,loc~j) → A(x!1,loc~j),B(x!1,loc~j) @ ’on rate’
                  A(x,loc~k),B(x,loc~k) → A(x!1,loc~k),B(x!1,loc~k) @ ’on rate’
Compartmentalization

    pre-κ
  expander

   hurbina

Introduction
What is κ         #Signatures
κ syntax          %agent: A(x,c,loc~i~j~k)
Kappa at          %agent: B(x,loc~i~j~k)
DLab
DLab’s current
work              #Rules
Space-related
simulations       #A binds B
Timming control
pre-Kappa         A(x,loc~i),B(x,loc~i) → A(x!1,loc~i),B(x!1,loc~i) @ ’on rate’
expander
                  A(x,loc~j),B(x,loc~j) → A(x!1,loc~j),B(x!1,loc~j) @ ’on rate’
                  A(x,loc~k),B(x,loc~k) → A(x!1,loc~k),B(x!1,loc~k) @ ’on rate’
Compartmentalization

    pre-κ
  expander

   hurbina        #Locations i, j and k have different volumen/area!
                  #Signatures
Introduction      %agent: A(x,c,loc~i~j~k)
What is κ         %agent: B(x,loc~i~j~k)
κ syntax

Kappa at          #Rules
DLab
DLab’s current    #A binds B
work
Space-related
simulations       A(x,loc~i),B(x,loc~i) → A(x!1,loc~i),B(x!1,loc~i) @ ’on rate loc(i)’
Timming control
pre-Kappa         A(x,loc~j),B(x,loc~j) → A(x!1,loc~j),B(X!1,loc~j) @ ’on rate loc(j)’
expander
                  A(x,loc~k),B(x,loc~k) → A(x!1,loc~k),B(X!1,loc~k) @ ’on rate loc(k)’
                  #AB dissociation
                  A(x!1,loc~i),B(x!1,loc~i) → A(x,loc~i),B(x,loc~i) @ ’off rate’
                  A(x!1,loc~j),B(x!1,loc~j) → A(x,loc~j),B(x,loc~j) @ ’off rate’
                  A(x!1,loc~k),B(x!1,loc~k) → A(x,loc~k),B(x,loc~k) @ ’off rate’
Compartmentalization

    pre-κ
  expander

   hurbina        #Locations i, j and k have different volumen/area!
                  #Signatures
Introduction      %agent: A(x,c,loc~i~j~k)
What is κ         %agent: B(x,loc~i~j~k)
κ syntax

Kappa at          #Rules
DLab
DLab’s current    #A binds B
work
Space-related
simulations       A(x,loc~i),B(x,loc~i) → A(x!1,loc~i),B(x!1,loc~i) @ ’on rate loc(i)’
Timming control
pre-Kappa         A(x,loc~j),B(x,loc~j) → A(x!1,loc~j),B(X!1,loc~j) @ ’on rate loc(j)’
expander
                  A(x,loc~k),B(x,loc~k) → A(x!1,loc~k),B(X!1,loc~k) @ ’on rate loc(k)’
                  #AB dissociation
                  A(x!1,loc~i),B(x!1,loc~i) → A(x,loc~i),B(x,loc~i) @ ’off rate’
                  A(x!1,loc~j),B(x!1,loc~j) → A(x,loc~j),B(x,loc~j) @ ’off rate’
                  A(x!1,loc~k),B(x!1,loc~k) → A(x,loc~k),B(x,loc~k) @ ’off rate’
Compartmentalization

    pre-κ
  expander

   hurbina        #Locations i, j and k have different volumen/area!
                  #Signatures
Introduction      %agent: A(x,c,loc~i~j~k)
What is κ         %agent: B(x,loc~i~j~k)
κ syntax

Kappa at          #Rules
DLab
DLab’s current    #A binds B
work
Space-related
simulations       A(x,loc~i),B(x,loc~i) → A(x!1,loc~i),B(x!1,loc~i) @ ’on rate loc(i)’
Timming control
pre-Kappa         A(x,loc~j),B(x,loc~j) → A(x!1,loc~j),B(X!1,loc~j) @ ’on rate loc(j)’
expander
                  A(x,loc~k),B(x,loc~k) → A(x!1,loc~k),B(X!1,loc~k) @ ’on rate loc(k)’
                  #AB dissociation
                  A(x!1,loc~i),B(x!1,loc~i) → A(x,loc~i),B(x,loc~i) @ ’off rate’
                  A(x!1,loc~j),B(x!1,loc~j) → A(x,loc~j),B(x,loc~j) @ ’off rate’
                  A(x!1,loc~k),B(x!1,loc~k) → A(x,loc~k),B(x,loc~k) @ ’off rate’
Diffusion events

    pre-κ
  expander

   hurbina

Introduction
What is κ
κ syntax

Kappa at
DLab              #Signatures
DLab’s current
work
Space-related
                  %agent: A(x,c,loc~i~j~k)
simulations
Timming control
                  %agent: B(x,loc~i~j~k)
pre-Kappa
expander          %agent: T(s,org~i~j~k,dst~i~j~k)
Diffusion events

    pre-κ
  expander

   hurbina

Introduction
What is κ         #Rules
κ syntax
                  #A diffusions
Kappa at
DLab              A(loc~i,x,c),T(org~i,dst~j) → A(loc~j,x,c),T(org~i,dst~j) @ ’Adiff ij’
DLab’s current
work
Space-related
                  A(loc~i,x,c),T(org~i,dst~k) → A(loc~k,x,c),T(org~i,dst~k) @ ’Adiff ik’
simulations
Timming control   A(loc~j,x,c),T(org~j,dst~i) → A(loc~i,x,c),T(org~j,dst~i) @ ’Adiff ji’
pre-Kappa
expander          A(loc~j,x,c),T(org~j,dst~k) → A(loc~k,x,c),T(org~j,dst~k) @ ’Adiff jk’
                  A(loc~k,x,c),T(org~k,dst~i) → A(loc~i,x,c),T(org~k,dst~i) @ ’Adiff ki’
                  A(loc~k,x,c),T(org~k,dst~j) → A(loc~j,x,c),T(org~k,dst~j) @ ’Adiff kj’
polymer-driven rules

    pre-κ
  expander

   hurbina

Introduction      #Signatures
What is κ
κ syntax          %agent: S(x)
Kappa at          %agent: Z()
DLab
DLab’s current
work
                  %agent: V(p,n)
Space-related
simulations       #Rules
Timming control
pre-Kappa
expander
                  ’Infection’ Z(),S(x) → Z(),S(x!1),V(p!1,n) @ ’infection rate’
                  ’Polymerization’ V(n) → V(n!1),V(p!1,n) @ ’polymer rate’
                  ’Expression’ S(x!1),V(p!1,n!2),V(p!2,n!3),V(p!3,n!4), 
                  V(p!4,n!5),V(p!5,n!6),V(p!6,n!7),V(p!7,n!8),V(p!8,n!9), 
                  V(p!9,n!10),V(p!10,n) → Z() @ [inf]
polymer-driven rules

    pre-κ
  expander

   hurbina

Introduction      #Signatures
What is κ
κ syntax          %agent: S(x)
Kappa at          %agent: Z()
DLab
DLab’s current
work
                  %agent: V(p,n)
Space-related
simulations       #Rules
Timming control
pre-Kappa
expander
                  ’Infection’ Z(),S(x) → Z(),S(x!1),V(p!1,n) @ ’infection rate’
                  ’Polymerization’ V(n) → V(n!1),V(p!1,n) @ ’polymer rate’
                  ’Expression’ S(x!1),V(p!1,n!2),V(p!2,n!3),V(p!3,n!4), 
                  V(p!4,n!5),V(p!5,n!6),V(p!6,n!7),V(p!7,n!8),V(p!8,n!9), 
                  V(p!9,n!10),V(p!10,n) → Z() @ [inf]
polymer-driven rules

    pre-κ
  expander

   hurbina

Introduction      #Signatures
What is κ
κ syntax          %agent: S(x)
Kappa at          %agent: Z()
DLab
DLab’s current
work
                  %agent: V(p,n)
Space-related
simulations       #Rules
Timming control
pre-Kappa
expander
                  ’Infection’ Z(),S(x) → Z(),S(x!1),V(p!1,n) @ ’infection rate’
                  ’Polymerization’ V(n) → V(n!1),V(p!1,n) @ ’polymer rate’
                  ’Expression’ S(x!1),V(p!1,n!2),V(p!2,n!3),V(p!3,n!4), 
                  V(p!4,n!5),V(p!5,n!6),V(p!6,n!7),V(p!7,n!8),V(p!8,n!9), 
                  V(p!9,n!10),V(p!10,n) → Z() @ [inf]
polymer-driven rules

    pre-κ
  expander

   hurbina

Introduction      #Signatures
What is κ
κ syntax          %agent: S(x)
Kappa at          %agent: Z()
DLab
DLab’s current
work
                  %agent: V(p,n)
Space-related
simulations       #Rules
Timming control
pre-Kappa
expander
                  ’Infection’ Z(),S(x) → Z(),S(x!1),V(p!1,n) @ ’infection rate’
                  ’Polymerization’ V(n) → V(n!1),V(p!1,n) @ ’polymer rate’
                  ’Expression’ S(x!1),V(p!1,n!2),V(p!2,n!3),V(p!3,n!4), 
                  V(p!4,n!5),V(p!5,n!6),V(p!6,n!7),V(p!7,n!8),V(p!8,n!9), 
                  V(p!9,n!10),V(p!10,n) → Z() @ [inf]
pre-Kappa expander

    pre-κ
  expander

   hurbina

Introduction
What is κ
κ syntax
                  A Python (V2) script that takes as input a (built in-house)
Kappa at
DLab              pre-κ file and outputs a kappa file which can subsequently be
DLab’s current
work
Space-related
                  used with KaSim.
simulations
Timming control   This is done using Lexer & Parser techniques, available in
pre-Kappa
expander
                  Python through ply library.
                  It facilitates κ abstraction while reducing error-proneness.
pre-Kappa expander

    pre-κ
  expander

   hurbina

Introduction
What is κ
κ syntax
                  A Python (V2) script that takes as input a (built in-house)
Kappa at
DLab              pre-κ file and outputs a kappa file which can subsequently be
DLab’s current
work
Space-related
                  used with KaSim.
simulations
Timming control   This is done using Lexer & Parser techniques, available in
pre-Kappa
expander
                  Python through ply library.
                  It facilitates κ abstraction while reducing error-proneness.
pre-Kappa expander

    pre-κ
  expander

   hurbina

Introduction
What is κ
κ syntax
                  A Python (V2) script that takes as input a (built in-house)
Kappa at
DLab              pre-κ file and outputs a kappa file which can subsequently be
DLab’s current
work
Space-related
                  used with KaSim.
simulations
Timming control   This is done using Lexer & Parser techniques, available in
pre-Kappa
expander
                  Python through ply library.
                  It facilitates κ abstraction while reducing error-proneness.
pre-Kappa syntax: Locations

    pre-κ
  expander

   hurbina        #Locations
Introduction
                  %loc: i 100
What is κ
κ syntax
                  %loc: j 1000
Kappa at          %loc: k 500
DLab
DLab’s current
                  #Location list
work
Space-related     %locl: all i j k
simulations
Timming control   #Signatures
pre-Kappa
expander
                  %expand-agent: all A(x,c)
                  %expand-agent: all B(x)
                  gives:
                  %agent: A(x,c,loc~i~j~k)
                  %agent: B(x,loc~i~j~k)
pre-Kappa syntax: Locations

    pre-κ
  expander

   hurbina        #Locations
Introduction
                  %loc: i 100
What is κ
κ syntax
                  %loc: j 1000
Kappa at          %loc: k 500
DLab
DLab’s current
                  #Location list
work
Space-related     %locl: all i j k
simulations
Timming control   #Signatures
pre-Kappa
expander
                  %expand-agent: all A(x,c)
                  %expand-agent: all B(x)
                  gives:
                  %agent: A(x,c,loc~i~j~k)
                  %agent: B(x,loc~i~j~k)
pre-Kappa syntax: Locations

    pre-κ
  expander

   hurbina        #Locations
Introduction
                  %loc: i 100
What is κ
κ syntax
                  %loc: j 1000
Kappa at          %loc: k 500
DLab
DLab’s current
                  #Location list
work
Space-related     %locl: all i j k
simulations
Timming control   #Signatures
pre-Kappa
expander
                  %expand-agent: all A(x,c)
                  %expand-agent: all B(x)
                  gives:
                  %agent: A(x,c,loc~i~j~k)
                  %agent: B(x,loc~i~j~k)
pre-Kappa syntax: Locations

    pre-κ
  expander

   hurbina        #Locations
Introduction
                  %loc: i 100
What is κ
κ syntax
                  %loc: j 1000
Kappa at          %loc: k 500
DLab
DLab’s current
                  #Location list
work
Space-related     %locl: all i j k
simulations
Timming control   #Signatures
pre-Kappa
expander
                  %expand-agent: all A(x,c)
                  %expand-agent: all B(x)
                  gives:
                  %agent: A(x,c,loc~i~j~k)
                  %agent: B(x,loc~i~j~k)
pre-Kappa syntax: Locations

    pre-κ
  expander        #Locations
   hurbina        %loc: i 100
                  %loc: j 1000
Introduction
What is κ         %loc: k 500
κ syntax
                  #Location list
Kappa at
DLab              %locl: all i j k
DLab’s current
work
                  #Initializations (expand if densities are equal)
Space-related
simulations       %expand-init: all ADensity A(x,c)
Timming control
pre-Kappa         %expand-init: all BDensity B(x)
expander

                  gives:
                  %init:   ADensity   *   100 A(x,c,loc~i)
                  %init:   ADensity   *   1000 A(x,c,loc~j)
                  %init:   ADensity   *   500 A(x,c,loc~k)
                  %init:   BDensity   *   100 B(x,loc~i)
                  %init:   BDensity   *   1000 B(x,loc~j)
                  %init:   BDensity   *   500 B(x,loc~k)
pre-Kappa syntax: Locations

    pre-κ
  expander        #Locations
   hurbina        %loc: i 100
                  %loc: j 1000
Introduction
What is κ         %loc: k 500
κ syntax
                  #Location list
Kappa at
DLab              %locl: all i j k
DLab’s current
work
                  #Initializations (expand if densities are equal)
Space-related
simulations       %expand-init: all ADensity A(x,c)
Timming control
pre-Kappa         %expand-init: all BDensity B(x)
expander

                  gives:
                  %init:   ADensity   *   100 A(x,c,loc~i)
                  %init:   ADensity   *   1000 A(x,c,loc~j)
                  %init:   ADensity   *   500 A(x,c,loc~k)
                  %init:   BDensity   *   100 B(x,loc~i)
                  %init:   BDensity   *   1000 B(x,loc~j)
                  %init:   BDensity   *   500 B(x,loc~k)
pre-Kappa syntax: Locations

    pre-κ
  expander

   hurbina

Introduction
What is κ
κ syntax          A bimolecular stochastic rate constant γ, expressed in
Kappa at          s −1 molecule −1 , is related to its deterministic counterpart k,
DLab
DLab’s current
work
                  expressed in s −1 M −1 as
Space-related
simulations
Timming control                                         k
pre-Kappa                                        γ=       ,                           (1)
expander                                               AV
                  where A is Avogadro’s number.




                  Krivine et. al. Programs as models: Execution. Unpublised work.
pre-Kappa syntax: Locations

    pre-κ
  expander

   hurbina
                  #Locations
Introduction
                  %loc: i 100
What is κ
κ syntax          %loc: j 1000
Kappa at
                  %loc: k 500
DLab              #Location list
DLab’s current    %locl: all i j k
work
Space-related     #A binds B
simulations       %expand-rule: all A(x),B(x) → A(x!1),B(x!1) @ ’on base rate’
Timming control
pre-Kappa
expander          gives:
                  A(x,loc~i),B(x,loc~i) → A(x!1,loc~i),B(x!1,loc~i) @ ’on base rate’ / 100
                  A(x,loc~j),B(x,loc~j) → A(x!1,loc~j),B(x!1,loc~j) @ ’on base rate’ / 1000
                  A(x,loc~k),B(x,loc~k) → A(x!1,loc~k),B(x!1,loc~k) @ ’on base rate’ / 500
pre-Kappa syntax: Locations

    pre-κ
  expander

   hurbina
                  #Locations
Introduction
                  %loc: i 100
What is κ
κ syntax          %loc: j 1000
Kappa at
                  %loc: k 500
DLab              #Location list
DLab’s current    %locl: all i j k
work
Space-related     #A binds B
simulations       %expand-rule: all A(x),B(x) → A(x!1),B(x!1) @ ’on base rate’
Timming control
pre-Kappa
expander          gives:
                  A(x,loc~i),B(x,loc~i) → A(x!1,loc~i),B(x!1,loc~i) @ ’on base rate’ / 100
                  A(x,loc~j),B(x,loc~j) → A(x!1,loc~j),B(x!1,loc~j) @ ’on base rate’ / 1000
                  A(x,loc~k),B(x,loc~k) → A(x!1,loc~k),B(x!1,loc~k) @ ’on base rate’ / 500
pre-Kappa syntax: Locations

    pre-κ
  expander

   hurbina
                  #Locations
Introduction
                  %loc: i 100
What is κ
κ syntax          %loc: j 1000
Kappa at
                  %loc: k 500
DLab              #Location list
DLab’s current    %locl: all i j k
work
Space-related     #A binds B
simulations       %expand-rule: all A(x),B(x) → A(x!1),B(x!1) @ ’on base rate’
Timming control
pre-Kappa
expander          gives:
                  A(x,loc~i),B(x,loc~i) → A(x!1,loc~i),B(x!1,loc~i) @ ’on base rate’ / 100
                  A(x,loc~j),B(x,loc~j) → A(x!1,loc~j),B(x!1,loc~j) @ ’on base rate’ / 1000
                  A(x,loc~k),B(x,loc~k) → A(x!1,loc~k),B(x!1,loc~k) @ ’on base rate’ / 500
pre-Kappa syntax: Location Matrices

    pre-κ
  expander
                  ...
   hurbina        #Location matrices
                  %locm:
Introduction         TM    i    j     k
What is κ            i    0    0.5 1.5
κ syntax
                     j   2.0    0    1.8
Kappa at             k   1.0   1.1    0
DLab
DLab’s current    #A diffusions
work
Space-related     %expand-rule: TM A(x,c),T() → A(%,x,c),T() @ 1
simulations
Timming control
pre-Kappa         gives:
expander
                  A(loc~i,x,c),T(org~i,dst~j) → A(loc~j,x,c),T(org~i,dst~j) @ (1 * 0.5) / 100
                  A(loc~i,x,c),T(org~i,dst~k) → A(loc~k,x,c),T(org~i,dst~k) @ (1 * 1.5) / 100
                  A(loc~j,x,c),T(org~j,dst~i) → A(loc~i,x,c),T(org~j,dst~i) @ (1 * 2.0) / 1000
                  A(loc~j,x,c),T(org~j,dst~k) → A(loc~k,x,c),T(org~j,dst~k) @ (1 * 1.8) / 1000
                  A(loc~k,x,c),T(org~k,dst~i) → A(loc~i,x,c),T(org~k,dst~i) @ (1 * 1.0) / 500
                  A(loc~k,x,c),T(org~k,dst~j) → A(loc~j,x,c),T(org~k,dst~j) @ (1 * 1.1) / 500
pre-Kappa syntax: Location Matrices

    pre-κ
  expander
                  ...
   hurbina        #Location matrices
                  %locm:
Introduction         TM    i    j     k
What is κ            i    0    0.5 1.5
κ syntax
                     j   2.0    0    1.8
Kappa at             k   1.0   1.1    0
DLab
DLab’s current    #A diffusions
work
Space-related     %expand-rule: TM A(x,c),T() → A(%,x,c),T() @ 1
simulations
Timming control
pre-Kappa         gives:
expander
                  A(loc~i,x,c),T(org~i,dst~j) → A(loc~j,x,c),T(org~i,dst~j) @ (1 * 0.5) / 100
                  A(loc~i,x,c),T(org~i,dst~k) → A(loc~k,x,c),T(org~i,dst~k) @ (1 * 1.5) / 100
                  A(loc~j,x,c),T(org~j,dst~i) → A(loc~i,x,c),T(org~j,dst~i) @ (1 * 2.0) / 1000
                  A(loc~j,x,c),T(org~j,dst~k) → A(loc~k,x,c),T(org~j,dst~k) @ (1 * 1.8) / 1000
                  A(loc~k,x,c),T(org~k,dst~i) → A(loc~i,x,c),T(org~k,dst~i) @ (1 * 1.0) / 500
                  A(loc~k,x,c),T(org~k,dst~j) → A(loc~j,x,c),T(org~k,dst~j) @ (1 * 1.1) / 500
pre-Kappa syntax: Location Matrices

    pre-κ
  expander
                  ...
   hurbina        #Location matrices
                  %locm:
Introduction         TM    i    j     k
What is κ            i    0    0.5 1.5
κ syntax
                     j   2.0    0    1.8
Kappa at             k   1.0   1.1    0
DLab
DLab’s current    #A diffusions
work
Space-related     %expand-rule: TM A(x,c),T() → A(%,x,c),T() @ 1
simulations
Timming control
pre-Kappa         gives:
expander
                  A(loc~i,x,c),T(org~i,dst~j) → A(loc~j,x,c),T(org~i,dst~j) @ (1 * 0.5) / 100
                  A(loc~i,x,c),T(org~i,dst~k) → A(loc~k,x,c),T(org~i,dst~k) @ (1 * 1.5) / 100
                  A(loc~j,x,c),T(org~j,dst~i) → A(loc~i,x,c),T(org~j,dst~i) @ (1 * 2.0) / 1000
                  A(loc~j,x,c),T(org~j,dst~k) → A(loc~k,x,c),T(org~j,dst~k) @ (1 * 1.8) / 1000
                  A(loc~k,x,c),T(org~k,dst~i) → A(loc~i,x,c),T(org~k,dst~i) @ (1 * 1.0) / 500
                  A(loc~k,x,c),T(org~k,dst~j) → A(loc~j,x,c),T(org~k,dst~j) @ (1 * 1.1) / 500
pre-Kappa syntax: Location Matrices

    pre-κ
  expander
                  ...
   hurbina        #Location matrices
                  %locm:
Introduction         TM    i    j     k
What is κ            i    0    0.5 1.5
κ syntax
                     j   2.0    0    1.8
Kappa at             k   1.0   1.1    0
DLab
DLab’s current    #Observing transporters
work
Space-related     %expand-obs: TM ’Transporter(%org,%dst)’ T()
simulations
Timming control
pre-Kappa         gives:
expander
                  %obs: ’Transporter(i,j)’ T(org~i,dst~j)
                  %obs: ’Transporter(i,k)’ T(org~i,dst~k)
                  %obs: ’Transporter(j,i)’ T(org~j,dst~i)
                  %obs: ’Transporter(j,k)’ T(org~j,dst~k)
                  %obs: ’Transporter(k,i)’ T(org~k,dst~i)
                  %obs: ’Transporter(k,j)’ T(org~k,dst~j)
pre-Kappa syntax: Location Matrices

    pre-κ
  expander
                  ...
   hurbina        #Location matrices
                  %locm:
Introduction         TM    i    j     k
What is κ            i    0    0.5 1.5
κ syntax
                     j   2.0    0    1.8
Kappa at             k   1.0   1.1    0
DLab
DLab’s current    #Observing transporters
work
Space-related     %expand-obs: TM ’Transporter(%org,%dst)’ T()
simulations
Timming control
pre-Kappa         gives:
expander
                  %obs: ’Transporter(i,j)’ T(org~i,dst~j)
                  %obs: ’Transporter(i,k)’ T(org~i,dst~k)
                  %obs: ’Transporter(j,i)’ T(org~j,dst~i)
                  %obs: ’Transporter(j,k)’ T(org~j,dst~k)
                  %obs: ’Transporter(k,i)’ T(org~k,dst~i)
                  %obs: ’Transporter(k,j)’ T(org~k,dst~j)
pre-Kappa syntax: Chains

    pre-κ
  expander

   hurbina

Introduction
What is κ
κ syntax          #Rules
Kappa at
DLab
                  ’Expression’ S(x!1),V(p!1,n!2),V(p!2,n!3),...,V(p!10,n) → Z() @ [inf]
DLab’s current
work
Space-related
simulations
Timming control
                  gives:
pre-Kappa
expander          ’Expression’ S(x!1),V(p!1,n!2),V(p!2,n!3),V(p!3,n!4), 
                  V(p!4,n!5),V(p!5,n!6),V(p!6,n!7),V(p!7,n!8),V(p!8,n!9), 
                  V(p!9,n!10),V(p!10,n) → Z() @ [inf]
pre-Kappa syntax: Chains

    pre-κ
  expander

   hurbina

Introduction
What is κ
κ syntax          #Rules
Kappa at
DLab
                  ’Expression’ S(x!1),V(p!1,n!2),V(p!2,n!3),...,V(p!10,n) → Z() @ [inf]
DLab’s current
work
Space-related
simulations
Timming control
                  gives:
pre-Kappa
expander          ’Expression’ S(x!1),V(p!1,n!2),V(p!2,n!3),V(p!3,n!4), 
                  V(p!4,n!5),V(p!5,n!6),V(p!6,n!7),V(p!7,n!8),V(p!8,n!9), 
                  V(p!9,n!10),V(p!10,n) → Z() @ [inf]

More Related Content

Similar to Pre Kappa Expander

Redesigning Common Lisp
Redesigning Common LispRedesigning Common Lisp
Redesigning Common Lispfukamachi
 
LISP: How I Learned To Stop Worrying And Love Parantheses
LISP: How I Learned To Stop Worrying And Love ParanthesesLISP: How I Learned To Stop Worrying And Love Parantheses
LISP: How I Learned To Stop Worrying And Love ParanthesesDominic Graefen
 
Scalable up genomic analysis with ADAM
Scalable up genomic analysis with ADAMScalable up genomic analysis with ADAM
Scalable up genomic analysis with ADAMfnothaft
 
Hadoop for Bioinformatics
Hadoop for BioinformaticsHadoop for Bioinformatics
Hadoop for BioinformaticsDeepak Singh
 
Computational Techniques for the Statistical Analysis of Big Data in R
Computational Techniques for the Statistical Analysis of Big Data in RComputational Techniques for the Statistical Analysis of Big Data in R
Computational Techniques for the Statistical Analysis of Big Data in Rherbps10
 
Hw09 Hadoop For Bioinfomatics
Hw09   Hadoop For BioinfomaticsHw09   Hadoop For Bioinfomatics
Hw09 Hadoop For BioinfomaticsCloudera, Inc.
 
Intel Nervana Artificial Intelligence Meetup 11/30/16
Intel Nervana Artificial Intelligence Meetup 11/30/16Intel Nervana Artificial Intelligence Meetup 11/30/16
Intel Nervana Artificial Intelligence Meetup 11/30/16Intel Nervana
 
Martin Odersky - Evolution of Scala
Martin Odersky - Evolution of ScalaMartin Odersky - Evolution of Scala
Martin Odersky - Evolution of ScalaScala Italy
 

Similar to Pre Kappa Expander (11)

Presentation
PresentationPresentation
Presentation
 
Redesigning Common Lisp
Redesigning Common LispRedesigning Common Lisp
Redesigning Common Lisp
 
LISP: How I Learned To Stop Worrying And Love Parantheses
LISP: How I Learned To Stop Worrying And Love ParanthesesLISP: How I Learned To Stop Worrying And Love Parantheses
LISP: How I Learned To Stop Worrying And Love Parantheses
 
Ppcrslidesannotated
PpcrslidesannotatedPpcrslidesannotated
Ppcrslidesannotated
 
PARADIGM IT.pptx
PARADIGM IT.pptxPARADIGM IT.pptx
PARADIGM IT.pptx
 
Scalable up genomic analysis with ADAM
Scalable up genomic analysis with ADAMScalable up genomic analysis with ADAM
Scalable up genomic analysis with ADAM
 
Hadoop for Bioinformatics
Hadoop for BioinformaticsHadoop for Bioinformatics
Hadoop for Bioinformatics
 
Computational Techniques for the Statistical Analysis of Big Data in R
Computational Techniques for the Statistical Analysis of Big Data in RComputational Techniques for the Statistical Analysis of Big Data in R
Computational Techniques for the Statistical Analysis of Big Data in R
 
Hw09 Hadoop For Bioinfomatics
Hw09   Hadoop For BioinfomaticsHw09   Hadoop For Bioinfomatics
Hw09 Hadoop For Bioinfomatics
 
Intel Nervana Artificial Intelligence Meetup 11/30/16
Intel Nervana Artificial Intelligence Meetup 11/30/16Intel Nervana Artificial Intelligence Meetup 11/30/16
Intel Nervana Artificial Intelligence Meetup 11/30/16
 
Martin Odersky - Evolution of Scala
Martin Odersky - Evolution of ScalaMartin Odersky - Evolution of Scala
Martin Odersky - Evolution of Scala
 

Pre Kappa Expander

  • 1. pre-κ expander hurbina Introduction What is κ κ syntax Kappa at DLab pre-kappa expander for κ language DLab’s current work Space-related simulations Timming control H´ctor Urbina e pre-Kappa expander July 18, 2011
  • 2. pre-κ expander hurbina Introduction 1 Introduction What is κ κ syntax What is κ Kappa at DLab κ syntax DLab’s current work Space-related simulations Timming control 2 Kappa at DLab pre-Kappa expander DLab’s current work Space-related simulations Timming control pre-Kappa expander
  • 3. What is κ pre-κ expander hurbina Introduction κ is a formal language for defining agents as sets of sites. What is κ κ syntax Sites hold an internal state as well as a binding state. Kappa at DLab DLab’s current κ also enables the expression of rules of interaction between work Space-related agents. simulations Timming control pre-Kappa These rules are executable, inducing a stochastic dynamics on a expander mixture of agents. A κ model is a collection of rules (with rate constants) and an initial mixture of agents on which such rules begin to act. Krivine et. al. Programs as models: Kappa language basics. Unpublised work.
  • 4. What is κ pre-κ expander hurbina Introduction κ is a formal language for defining agents as sets of sites. What is κ κ syntax Sites hold an internal state as well as a binding state. Kappa at DLab DLab’s current κ also enables the expression of rules of interaction between work Space-related agents. simulations Timming control pre-Kappa These rules are executable, inducing a stochastic dynamics on a expander mixture of agents. A κ model is a collection of rules (with rate constants) and an initial mixture of agents on which such rules begin to act. Krivine et. al. Programs as models: Kappa language basics. Unpublised work.
  • 5. What is κ pre-κ expander hurbina Introduction κ is a formal language for defining agents as sets of sites. What is κ κ syntax Sites hold an internal state as well as a binding state. Kappa at DLab DLab’s current κ also enables the expression of rules of interaction between work Space-related agents. simulations Timming control pre-Kappa These rules are executable, inducing a stochastic dynamics on a expander mixture of agents. A κ model is a collection of rules (with rate constants) and an initial mixture of agents on which such rules begin to act. Krivine et. al. Programs as models: Kappa language basics. Unpublised work.
  • 6. What is κ pre-κ expander hurbina Introduction κ is a formal language for defining agents as sets of sites. What is κ κ syntax Sites hold an internal state as well as a binding state. Kappa at DLab DLab’s current κ also enables the expression of rules of interaction between work Space-related agents. simulations Timming control pre-Kappa These rules are executable, inducing a stochastic dynamics on a expander mixture of agents. A κ model is a collection of rules (with rate constants) and an initial mixture of agents on which such rules begin to act. Krivine et. al. Programs as models: Kappa language basics. Unpublised work.
  • 7. What is κ pre-κ expander hurbina Introduction κ is a formal language for defining agents as sets of sites. What is κ κ syntax Sites hold an internal state as well as a binding state. Kappa at DLab DLab’s current κ also enables the expression of rules of interaction between work Space-related agents. simulations Timming control pre-Kappa These rules are executable, inducing a stochastic dynamics on a expander mixture of agents. A κ model is a collection of rules (with rate constants) and an initial mixture of agents on which such rules begin to act. Krivine et. al. Programs as models: Kappa language basics. Unpublised work.
  • 8. κ Syntax short introduction pre-κ expander hurbina Rule in English: Introduction What is κ κ syntax ”Unphosphorilated Site1 of A binds to Site1 of B.” Kappa at DLab DLab’s current work κ Rule: Space-related simulations Timming control A(Site1~u),B(Site1) → A(Site1~u!1),B(Site1!1) pre-Kappa expander Agent Names : an identifier. Agent Sites : an identifier. Internal States : ~〈value〉. Binding States : !〈n〉, ! or !?.
  • 9. κ Syntax short introduction pre-κ expander hurbina Rule in English: Introduction What is κ κ syntax ”Unphosphorilated Site1 of A binds to Site1 of B.” Kappa at DLab DLab’s current work κ Rule: Space-related simulations Timming control A(Site1~u),B(Site1) → A(Site1~u!1),B(Site1!1) pre-Kappa expander Agent Names : an identifier. Agent Sites : an identifier. Internal States : ~〈value〉. Binding States : !〈n〉, ! or !?.
  • 10. κ Syntax short introduction pre-κ expander hurbina Rule in English: Introduction What is κ κ syntax ”Unphosphorilated Site1 of A binds to Site1 of B.” Kappa at DLab DLab’s current work κ Rule: Space-related simulations Timming control A(Site1~u),B(Site1) → A(Site1~u!1),B(Site1!1) pre-Kappa expander Agent Names : an identifier. Agent Sites : an identifier. Internal States : ~〈value〉. Binding States : !〈n〉, ! or !?.
  • 11. Kappa file structure pre-κ expander 1 #### Signatures hurbina 2 %agent: A(x,c) # Declaration of agent A 3 %agent: B(x) # Declaration of B Introduction 4 %agent: C(x1~u~p,x2~u~p) # Declaration of C with 2 modifiable sites What is κ 5 #### Rules κ syntax 6 ‘a.b’ A(x),B(x) -> A(x!1),B(x!1) @ ‘on rate’ #A binds B Kappa at 7 ‘a..b’ A(x!1),B(x!1) -> A(x),B(x) @ ‘off rate’ #AB dissociation DLab 8 ’ab.c’ A(x! ,c),C(x1~u) ->A(x! ,c!2),C(x1~u!2) @ ‘on rate’ #AB binds C DLab’s current work 9 ’mod x1’ C(x1~u!1),A(c!1) ->C(x1~p),A(c) @ ‘mod rate’ #AB modifies x1 Space-related 10 ’a.c’ A(x,c),C(x1~p,x2~u) -> A(x,c!1),C(x1~p,x2~u!1) @ ‘on rate’ #A binds C on x2 simulations Timming control 11 ’mod x2’ A(x,c!1),C(x1~p,x2~u!1) -> A(x,c),C(x1~p,x2~p) @ ‘mod rate’ #A modifies x2 pre-Kappa 12 #### Variables expander 13 %var: ‘on rate’ 1.0E-4 # per molecule per second 14 %var: ‘off rate’ 0.1 # per second 15 %var: ‘mod rate’ 1 # per second 16 %obs: ‘AB’ A(x!x.B) 17 %obs: ‘Cuu’ C(x1~u,x2~u) 18 %obs: ‘Cpu’ C(x1~p,x2~u) 19 %obs: ‘Cpp’ C(x1~p,x2~p) 20 #### Initial conditions 21 %init: 1000 A,B 22 %init: 10000 C KaSim reference manual v1.06
  • 12. DLab’s current work pre-κ expander hurbina Introduction DLab members study complex dynamical systems. What is κ κ syntax Kappa at DLab Currently, Cesar Ravello is modeling muscle contration and DLab’s current work Felipe Nu˜ez is simulating massive responses to zombie attacks n Space-related simulations on human populations, whereas Ricardo Honorato is adapting Timming control pre-Kappa expander Model Checking techniques to be used with systems expressed in κ language. Without intervening the κ language, we have reached some interesting levels of abstraction!
  • 13. DLab’s current work pre-κ expander hurbina Introduction DLab members study complex dynamical systems. What is κ κ syntax Kappa at DLab Currently, Cesar Ravello is modeling muscle contration and DLab’s current work Felipe Nu˜ez is simulating massive responses to zombie attacks n Space-related simulations on human populations, whereas Ricardo Honorato is adapting Timming control pre-Kappa expander Model Checking techniques to be used with systems expressed in κ language. Without intervening the κ language, we have reached some interesting levels of abstraction!
  • 14. DLab’s current work pre-κ expander hurbina Introduction DLab members study complex dynamical systems. What is κ κ syntax Kappa at DLab Currently, Cesar Ravello is modeling muscle contration and DLab’s current work Felipe Nu˜ez is simulating massive responses to zombie attacks n Space-related simulations on human populations, whereas Ricardo Honorato is adapting Timming control pre-Kappa expander Model Checking techniques to be used with systems expressed in κ language. Without intervening the κ language, we have reached some interesting levels of abstraction!
  • 15. DLab’s current work pre-κ expander hurbina Introduction What is κ κ syntax Kappa at Space-related simulations. DLab Compartmentalization. DLab’s current work Space-related Diffusion events. simulations Timming control pre-Kappa expander Timming control. Polymer-driven rules to manipulate latency.
  • 16. DLab’s current work pre-κ expander hurbina Introduction What is κ κ syntax Kappa at Space-related simulations. DLab Compartmentalization. DLab’s current work Space-related Diffusion events. simulations Timming control pre-Kappa expander Timming control. Polymer-driven rules to manipulate latency.
  • 17. DLab’s current work pre-κ expander hurbina Introduction What is κ κ syntax Kappa at Space-related simulations. DLab Compartmentalization. DLab’s current work Space-related Diffusion events. simulations Timming control pre-Kappa expander Timming control. Polymer-driven rules to manipulate latency.
  • 18. Compartmentalization pre-κ expander hurbina Introduction What is κ #Signatures κ syntax %agent: A(x,c,loc~i~j~k) Kappa at %agent: B(x,loc~i~j~k) DLab DLab’s current work #Rules Space-related simulations #A binds B Timming control pre-Kappa A(x,loc~i),B(x,loc~i) → A(x!1,loc~i),B(x!1,loc~i) @ ’on rate’ expander A(x,loc~j),B(x,loc~j) → A(x!1,loc~j),B(x!1,loc~j) @ ’on rate’ A(x,loc~k),B(x,loc~k) → A(x!1,loc~k),B(x!1,loc~k) @ ’on rate’
  • 19. Compartmentalization pre-κ expander hurbina Introduction What is κ #Signatures κ syntax %agent: A(x,c,loc~i~j~k) Kappa at %agent: B(x,loc~i~j~k) DLab DLab’s current work #Rules Space-related simulations #A binds B Timming control pre-Kappa A(x,loc~i),B(x,loc~i) → A(x!1,loc~i),B(x!1,loc~i) @ ’on rate’ expander A(x,loc~j),B(x,loc~j) → A(x!1,loc~j),B(x!1,loc~j) @ ’on rate’ A(x,loc~k),B(x,loc~k) → A(x!1,loc~k),B(x!1,loc~k) @ ’on rate’
  • 20. Compartmentalization pre-κ expander hurbina #Locations i, j and k have different volumen/area! #Signatures Introduction %agent: A(x,c,loc~i~j~k) What is κ %agent: B(x,loc~i~j~k) κ syntax Kappa at #Rules DLab DLab’s current #A binds B work Space-related simulations A(x,loc~i),B(x,loc~i) → A(x!1,loc~i),B(x!1,loc~i) @ ’on rate loc(i)’ Timming control pre-Kappa A(x,loc~j),B(x,loc~j) → A(x!1,loc~j),B(X!1,loc~j) @ ’on rate loc(j)’ expander A(x,loc~k),B(x,loc~k) → A(x!1,loc~k),B(X!1,loc~k) @ ’on rate loc(k)’ #AB dissociation A(x!1,loc~i),B(x!1,loc~i) → A(x,loc~i),B(x,loc~i) @ ’off rate’ A(x!1,loc~j),B(x!1,loc~j) → A(x,loc~j),B(x,loc~j) @ ’off rate’ A(x!1,loc~k),B(x!1,loc~k) → A(x,loc~k),B(x,loc~k) @ ’off rate’
  • 21. Compartmentalization pre-κ expander hurbina #Locations i, j and k have different volumen/area! #Signatures Introduction %agent: A(x,c,loc~i~j~k) What is κ %agent: B(x,loc~i~j~k) κ syntax Kappa at #Rules DLab DLab’s current #A binds B work Space-related simulations A(x,loc~i),B(x,loc~i) → A(x!1,loc~i),B(x!1,loc~i) @ ’on rate loc(i)’ Timming control pre-Kappa A(x,loc~j),B(x,loc~j) → A(x!1,loc~j),B(X!1,loc~j) @ ’on rate loc(j)’ expander A(x,loc~k),B(x,loc~k) → A(x!1,loc~k),B(X!1,loc~k) @ ’on rate loc(k)’ #AB dissociation A(x!1,loc~i),B(x!1,loc~i) → A(x,loc~i),B(x,loc~i) @ ’off rate’ A(x!1,loc~j),B(x!1,loc~j) → A(x,loc~j),B(x,loc~j) @ ’off rate’ A(x!1,loc~k),B(x!1,loc~k) → A(x,loc~k),B(x,loc~k) @ ’off rate’
  • 22. Compartmentalization pre-κ expander hurbina #Locations i, j and k have different volumen/area! #Signatures Introduction %agent: A(x,c,loc~i~j~k) What is κ %agent: B(x,loc~i~j~k) κ syntax Kappa at #Rules DLab DLab’s current #A binds B work Space-related simulations A(x,loc~i),B(x,loc~i) → A(x!1,loc~i),B(x!1,loc~i) @ ’on rate loc(i)’ Timming control pre-Kappa A(x,loc~j),B(x,loc~j) → A(x!1,loc~j),B(X!1,loc~j) @ ’on rate loc(j)’ expander A(x,loc~k),B(x,loc~k) → A(x!1,loc~k),B(X!1,loc~k) @ ’on rate loc(k)’ #AB dissociation A(x!1,loc~i),B(x!1,loc~i) → A(x,loc~i),B(x,loc~i) @ ’off rate’ A(x!1,loc~j),B(x!1,loc~j) → A(x,loc~j),B(x,loc~j) @ ’off rate’ A(x!1,loc~k),B(x!1,loc~k) → A(x,loc~k),B(x,loc~k) @ ’off rate’
  • 23. Diffusion events pre-κ expander hurbina Introduction What is κ κ syntax Kappa at DLab #Signatures DLab’s current work Space-related %agent: A(x,c,loc~i~j~k) simulations Timming control %agent: B(x,loc~i~j~k) pre-Kappa expander %agent: T(s,org~i~j~k,dst~i~j~k)
  • 24. Diffusion events pre-κ expander hurbina Introduction What is κ #Rules κ syntax #A diffusions Kappa at DLab A(loc~i,x,c),T(org~i,dst~j) → A(loc~j,x,c),T(org~i,dst~j) @ ’Adiff ij’ DLab’s current work Space-related A(loc~i,x,c),T(org~i,dst~k) → A(loc~k,x,c),T(org~i,dst~k) @ ’Adiff ik’ simulations Timming control A(loc~j,x,c),T(org~j,dst~i) → A(loc~i,x,c),T(org~j,dst~i) @ ’Adiff ji’ pre-Kappa expander A(loc~j,x,c),T(org~j,dst~k) → A(loc~k,x,c),T(org~j,dst~k) @ ’Adiff jk’ A(loc~k,x,c),T(org~k,dst~i) → A(loc~i,x,c),T(org~k,dst~i) @ ’Adiff ki’ A(loc~k,x,c),T(org~k,dst~j) → A(loc~j,x,c),T(org~k,dst~j) @ ’Adiff kj’
  • 25. polymer-driven rules pre-κ expander hurbina Introduction #Signatures What is κ κ syntax %agent: S(x) Kappa at %agent: Z() DLab DLab’s current work %agent: V(p,n) Space-related simulations #Rules Timming control pre-Kappa expander ’Infection’ Z(),S(x) → Z(),S(x!1),V(p!1,n) @ ’infection rate’ ’Polymerization’ V(n) → V(n!1),V(p!1,n) @ ’polymer rate’ ’Expression’ S(x!1),V(p!1,n!2),V(p!2,n!3),V(p!3,n!4), V(p!4,n!5),V(p!5,n!6),V(p!6,n!7),V(p!7,n!8),V(p!8,n!9), V(p!9,n!10),V(p!10,n) → Z() @ [inf]
  • 26. polymer-driven rules pre-κ expander hurbina Introduction #Signatures What is κ κ syntax %agent: S(x) Kappa at %agent: Z() DLab DLab’s current work %agent: V(p,n) Space-related simulations #Rules Timming control pre-Kappa expander ’Infection’ Z(),S(x) → Z(),S(x!1),V(p!1,n) @ ’infection rate’ ’Polymerization’ V(n) → V(n!1),V(p!1,n) @ ’polymer rate’ ’Expression’ S(x!1),V(p!1,n!2),V(p!2,n!3),V(p!3,n!4), V(p!4,n!5),V(p!5,n!6),V(p!6,n!7),V(p!7,n!8),V(p!8,n!9), V(p!9,n!10),V(p!10,n) → Z() @ [inf]
  • 27. polymer-driven rules pre-κ expander hurbina Introduction #Signatures What is κ κ syntax %agent: S(x) Kappa at %agent: Z() DLab DLab’s current work %agent: V(p,n) Space-related simulations #Rules Timming control pre-Kappa expander ’Infection’ Z(),S(x) → Z(),S(x!1),V(p!1,n) @ ’infection rate’ ’Polymerization’ V(n) → V(n!1),V(p!1,n) @ ’polymer rate’ ’Expression’ S(x!1),V(p!1,n!2),V(p!2,n!3),V(p!3,n!4), V(p!4,n!5),V(p!5,n!6),V(p!6,n!7),V(p!7,n!8),V(p!8,n!9), V(p!9,n!10),V(p!10,n) → Z() @ [inf]
  • 28. polymer-driven rules pre-κ expander hurbina Introduction #Signatures What is κ κ syntax %agent: S(x) Kappa at %agent: Z() DLab DLab’s current work %agent: V(p,n) Space-related simulations #Rules Timming control pre-Kappa expander ’Infection’ Z(),S(x) → Z(),S(x!1),V(p!1,n) @ ’infection rate’ ’Polymerization’ V(n) → V(n!1),V(p!1,n) @ ’polymer rate’ ’Expression’ S(x!1),V(p!1,n!2),V(p!2,n!3),V(p!3,n!4), V(p!4,n!5),V(p!5,n!6),V(p!6,n!7),V(p!7,n!8),V(p!8,n!9), V(p!9,n!10),V(p!10,n) → Z() @ [inf]
  • 29. pre-Kappa expander pre-κ expander hurbina Introduction What is κ κ syntax A Python (V2) script that takes as input a (built in-house) Kappa at DLab pre-κ file and outputs a kappa file which can subsequently be DLab’s current work Space-related used with KaSim. simulations Timming control This is done using Lexer & Parser techniques, available in pre-Kappa expander Python through ply library. It facilitates κ abstraction while reducing error-proneness.
  • 30. pre-Kappa expander pre-κ expander hurbina Introduction What is κ κ syntax A Python (V2) script that takes as input a (built in-house) Kappa at DLab pre-κ file and outputs a kappa file which can subsequently be DLab’s current work Space-related used with KaSim. simulations Timming control This is done using Lexer & Parser techniques, available in pre-Kappa expander Python through ply library. It facilitates κ abstraction while reducing error-proneness.
  • 31. pre-Kappa expander pre-κ expander hurbina Introduction What is κ κ syntax A Python (V2) script that takes as input a (built in-house) Kappa at DLab pre-κ file and outputs a kappa file which can subsequently be DLab’s current work Space-related used with KaSim. simulations Timming control This is done using Lexer & Parser techniques, available in pre-Kappa expander Python through ply library. It facilitates κ abstraction while reducing error-proneness.
  • 32. pre-Kappa syntax: Locations pre-κ expander hurbina #Locations Introduction %loc: i 100 What is κ κ syntax %loc: j 1000 Kappa at %loc: k 500 DLab DLab’s current #Location list work Space-related %locl: all i j k simulations Timming control #Signatures pre-Kappa expander %expand-agent: all A(x,c) %expand-agent: all B(x) gives: %agent: A(x,c,loc~i~j~k) %agent: B(x,loc~i~j~k)
  • 33. pre-Kappa syntax: Locations pre-κ expander hurbina #Locations Introduction %loc: i 100 What is κ κ syntax %loc: j 1000 Kappa at %loc: k 500 DLab DLab’s current #Location list work Space-related %locl: all i j k simulations Timming control #Signatures pre-Kappa expander %expand-agent: all A(x,c) %expand-agent: all B(x) gives: %agent: A(x,c,loc~i~j~k) %agent: B(x,loc~i~j~k)
  • 34. pre-Kappa syntax: Locations pre-κ expander hurbina #Locations Introduction %loc: i 100 What is κ κ syntax %loc: j 1000 Kappa at %loc: k 500 DLab DLab’s current #Location list work Space-related %locl: all i j k simulations Timming control #Signatures pre-Kappa expander %expand-agent: all A(x,c) %expand-agent: all B(x) gives: %agent: A(x,c,loc~i~j~k) %agent: B(x,loc~i~j~k)
  • 35. pre-Kappa syntax: Locations pre-κ expander hurbina #Locations Introduction %loc: i 100 What is κ κ syntax %loc: j 1000 Kappa at %loc: k 500 DLab DLab’s current #Location list work Space-related %locl: all i j k simulations Timming control #Signatures pre-Kappa expander %expand-agent: all A(x,c) %expand-agent: all B(x) gives: %agent: A(x,c,loc~i~j~k) %agent: B(x,loc~i~j~k)
  • 36. pre-Kappa syntax: Locations pre-κ expander #Locations hurbina %loc: i 100 %loc: j 1000 Introduction What is κ %loc: k 500 κ syntax #Location list Kappa at DLab %locl: all i j k DLab’s current work #Initializations (expand if densities are equal) Space-related simulations %expand-init: all ADensity A(x,c) Timming control pre-Kappa %expand-init: all BDensity B(x) expander gives: %init: ADensity * 100 A(x,c,loc~i) %init: ADensity * 1000 A(x,c,loc~j) %init: ADensity * 500 A(x,c,loc~k) %init: BDensity * 100 B(x,loc~i) %init: BDensity * 1000 B(x,loc~j) %init: BDensity * 500 B(x,loc~k)
  • 37. pre-Kappa syntax: Locations pre-κ expander #Locations hurbina %loc: i 100 %loc: j 1000 Introduction What is κ %loc: k 500 κ syntax #Location list Kappa at DLab %locl: all i j k DLab’s current work #Initializations (expand if densities are equal) Space-related simulations %expand-init: all ADensity A(x,c) Timming control pre-Kappa %expand-init: all BDensity B(x) expander gives: %init: ADensity * 100 A(x,c,loc~i) %init: ADensity * 1000 A(x,c,loc~j) %init: ADensity * 500 A(x,c,loc~k) %init: BDensity * 100 B(x,loc~i) %init: BDensity * 1000 B(x,loc~j) %init: BDensity * 500 B(x,loc~k)
  • 38. pre-Kappa syntax: Locations pre-κ expander hurbina Introduction What is κ κ syntax A bimolecular stochastic rate constant γ, expressed in Kappa at s −1 molecule −1 , is related to its deterministic counterpart k, DLab DLab’s current work expressed in s −1 M −1 as Space-related simulations Timming control k pre-Kappa γ= , (1) expander AV where A is Avogadro’s number. Krivine et. al. Programs as models: Execution. Unpublised work.
  • 39. pre-Kappa syntax: Locations pre-κ expander hurbina #Locations Introduction %loc: i 100 What is κ κ syntax %loc: j 1000 Kappa at %loc: k 500 DLab #Location list DLab’s current %locl: all i j k work Space-related #A binds B simulations %expand-rule: all A(x),B(x) → A(x!1),B(x!1) @ ’on base rate’ Timming control pre-Kappa expander gives: A(x,loc~i),B(x,loc~i) → A(x!1,loc~i),B(x!1,loc~i) @ ’on base rate’ / 100 A(x,loc~j),B(x,loc~j) → A(x!1,loc~j),B(x!1,loc~j) @ ’on base rate’ / 1000 A(x,loc~k),B(x,loc~k) → A(x!1,loc~k),B(x!1,loc~k) @ ’on base rate’ / 500
  • 40. pre-Kappa syntax: Locations pre-κ expander hurbina #Locations Introduction %loc: i 100 What is κ κ syntax %loc: j 1000 Kappa at %loc: k 500 DLab #Location list DLab’s current %locl: all i j k work Space-related #A binds B simulations %expand-rule: all A(x),B(x) → A(x!1),B(x!1) @ ’on base rate’ Timming control pre-Kappa expander gives: A(x,loc~i),B(x,loc~i) → A(x!1,loc~i),B(x!1,loc~i) @ ’on base rate’ / 100 A(x,loc~j),B(x,loc~j) → A(x!1,loc~j),B(x!1,loc~j) @ ’on base rate’ / 1000 A(x,loc~k),B(x,loc~k) → A(x!1,loc~k),B(x!1,loc~k) @ ’on base rate’ / 500
  • 41. pre-Kappa syntax: Locations pre-κ expander hurbina #Locations Introduction %loc: i 100 What is κ κ syntax %loc: j 1000 Kappa at %loc: k 500 DLab #Location list DLab’s current %locl: all i j k work Space-related #A binds B simulations %expand-rule: all A(x),B(x) → A(x!1),B(x!1) @ ’on base rate’ Timming control pre-Kappa expander gives: A(x,loc~i),B(x,loc~i) → A(x!1,loc~i),B(x!1,loc~i) @ ’on base rate’ / 100 A(x,loc~j),B(x,loc~j) → A(x!1,loc~j),B(x!1,loc~j) @ ’on base rate’ / 1000 A(x,loc~k),B(x,loc~k) → A(x!1,loc~k),B(x!1,loc~k) @ ’on base rate’ / 500
  • 42. pre-Kappa syntax: Location Matrices pre-κ expander ... hurbina #Location matrices %locm: Introduction TM i j k What is κ i 0 0.5 1.5 κ syntax j 2.0 0 1.8 Kappa at k 1.0 1.1 0 DLab DLab’s current #A diffusions work Space-related %expand-rule: TM A(x,c),T() → A(%,x,c),T() @ 1 simulations Timming control pre-Kappa gives: expander A(loc~i,x,c),T(org~i,dst~j) → A(loc~j,x,c),T(org~i,dst~j) @ (1 * 0.5) / 100 A(loc~i,x,c),T(org~i,dst~k) → A(loc~k,x,c),T(org~i,dst~k) @ (1 * 1.5) / 100 A(loc~j,x,c),T(org~j,dst~i) → A(loc~i,x,c),T(org~j,dst~i) @ (1 * 2.0) / 1000 A(loc~j,x,c),T(org~j,dst~k) → A(loc~k,x,c),T(org~j,dst~k) @ (1 * 1.8) / 1000 A(loc~k,x,c),T(org~k,dst~i) → A(loc~i,x,c),T(org~k,dst~i) @ (1 * 1.0) / 500 A(loc~k,x,c),T(org~k,dst~j) → A(loc~j,x,c),T(org~k,dst~j) @ (1 * 1.1) / 500
  • 43. pre-Kappa syntax: Location Matrices pre-κ expander ... hurbina #Location matrices %locm: Introduction TM i j k What is κ i 0 0.5 1.5 κ syntax j 2.0 0 1.8 Kappa at k 1.0 1.1 0 DLab DLab’s current #A diffusions work Space-related %expand-rule: TM A(x,c),T() → A(%,x,c),T() @ 1 simulations Timming control pre-Kappa gives: expander A(loc~i,x,c),T(org~i,dst~j) → A(loc~j,x,c),T(org~i,dst~j) @ (1 * 0.5) / 100 A(loc~i,x,c),T(org~i,dst~k) → A(loc~k,x,c),T(org~i,dst~k) @ (1 * 1.5) / 100 A(loc~j,x,c),T(org~j,dst~i) → A(loc~i,x,c),T(org~j,dst~i) @ (1 * 2.0) / 1000 A(loc~j,x,c),T(org~j,dst~k) → A(loc~k,x,c),T(org~j,dst~k) @ (1 * 1.8) / 1000 A(loc~k,x,c),T(org~k,dst~i) → A(loc~i,x,c),T(org~k,dst~i) @ (1 * 1.0) / 500 A(loc~k,x,c),T(org~k,dst~j) → A(loc~j,x,c),T(org~k,dst~j) @ (1 * 1.1) / 500
  • 44. pre-Kappa syntax: Location Matrices pre-κ expander ... hurbina #Location matrices %locm: Introduction TM i j k What is κ i 0 0.5 1.5 κ syntax j 2.0 0 1.8 Kappa at k 1.0 1.1 0 DLab DLab’s current #A diffusions work Space-related %expand-rule: TM A(x,c),T() → A(%,x,c),T() @ 1 simulations Timming control pre-Kappa gives: expander A(loc~i,x,c),T(org~i,dst~j) → A(loc~j,x,c),T(org~i,dst~j) @ (1 * 0.5) / 100 A(loc~i,x,c),T(org~i,dst~k) → A(loc~k,x,c),T(org~i,dst~k) @ (1 * 1.5) / 100 A(loc~j,x,c),T(org~j,dst~i) → A(loc~i,x,c),T(org~j,dst~i) @ (1 * 2.0) / 1000 A(loc~j,x,c),T(org~j,dst~k) → A(loc~k,x,c),T(org~j,dst~k) @ (1 * 1.8) / 1000 A(loc~k,x,c),T(org~k,dst~i) → A(loc~i,x,c),T(org~k,dst~i) @ (1 * 1.0) / 500 A(loc~k,x,c),T(org~k,dst~j) → A(loc~j,x,c),T(org~k,dst~j) @ (1 * 1.1) / 500
  • 45. pre-Kappa syntax: Location Matrices pre-κ expander ... hurbina #Location matrices %locm: Introduction TM i j k What is κ i 0 0.5 1.5 κ syntax j 2.0 0 1.8 Kappa at k 1.0 1.1 0 DLab DLab’s current #Observing transporters work Space-related %expand-obs: TM ’Transporter(%org,%dst)’ T() simulations Timming control pre-Kappa gives: expander %obs: ’Transporter(i,j)’ T(org~i,dst~j) %obs: ’Transporter(i,k)’ T(org~i,dst~k) %obs: ’Transporter(j,i)’ T(org~j,dst~i) %obs: ’Transporter(j,k)’ T(org~j,dst~k) %obs: ’Transporter(k,i)’ T(org~k,dst~i) %obs: ’Transporter(k,j)’ T(org~k,dst~j)
  • 46. pre-Kappa syntax: Location Matrices pre-κ expander ... hurbina #Location matrices %locm: Introduction TM i j k What is κ i 0 0.5 1.5 κ syntax j 2.0 0 1.8 Kappa at k 1.0 1.1 0 DLab DLab’s current #Observing transporters work Space-related %expand-obs: TM ’Transporter(%org,%dst)’ T() simulations Timming control pre-Kappa gives: expander %obs: ’Transporter(i,j)’ T(org~i,dst~j) %obs: ’Transporter(i,k)’ T(org~i,dst~k) %obs: ’Transporter(j,i)’ T(org~j,dst~i) %obs: ’Transporter(j,k)’ T(org~j,dst~k) %obs: ’Transporter(k,i)’ T(org~k,dst~i) %obs: ’Transporter(k,j)’ T(org~k,dst~j)
  • 47. pre-Kappa syntax: Chains pre-κ expander hurbina Introduction What is κ κ syntax #Rules Kappa at DLab ’Expression’ S(x!1),V(p!1,n!2),V(p!2,n!3),...,V(p!10,n) → Z() @ [inf] DLab’s current work Space-related simulations Timming control gives: pre-Kappa expander ’Expression’ S(x!1),V(p!1,n!2),V(p!2,n!3),V(p!3,n!4), V(p!4,n!5),V(p!5,n!6),V(p!6,n!7),V(p!7,n!8),V(p!8,n!9), V(p!9,n!10),V(p!10,n) → Z() @ [inf]
  • 48. pre-Kappa syntax: Chains pre-κ expander hurbina Introduction What is κ κ syntax #Rules Kappa at DLab ’Expression’ S(x!1),V(p!1,n!2),V(p!2,n!3),...,V(p!10,n) → Z() @ [inf] DLab’s current work Space-related simulations Timming control gives: pre-Kappa expander ’Expression’ S(x!1),V(p!1,n!2),V(p!2,n!3),V(p!3,n!4), V(p!4,n!5),V(p!5,n!6),V(p!6,n!7),V(p!7,n!8),V(p!8,n!9), V(p!9,n!10),V(p!10,n) → Z() @ [inf]