www.PosterPresentations.com ! We defined BioScape 2 X(x:T) = M !,",# entities have a space where they can be !, a diffusion rate ", and a shape #. ! Where do new entities go? BioScape only allows the programmer to describe the area where entities of a given kind are allowed to be. Adequate for simulating many experiments. ! But the programmer has no control over the exact position or even relative position of entities. Bac " Bac | Bac Bac@p Bac@p " (Bac | Bac)@p ! The semantics takes care of placing the product somewhere around p. ! This works well when the behavior of different species is relatively similar when it comes to generating new entities. (they stay close-by) ! We want a high level modeling language that will allow us to model microtubules in the cell. ! Why? To model viral traffic. Viruses ride on microtubules towards the nucleus of the cell. (from www.proteinatlas.org) ! We define BioScape L a new agent based modeling language for the stochastic simulation of complex systems in 3D space. ! In order to model the assemblies of configurations of polymers, oligomers, and complexes such as microtubules or actin filaments, existing modeling approaches require the programmer to deal with the low level details of collision, confinement, positioning, and diffusion. ! The motivation for BioScape L comes from the need to describe the evolution, assembly and polymerization of complex structures of biochemical species in space, while keeping a sufficiently high level description, so that tedious and error prone low level details are hidden from the programmer. ! The proposed solution is to allow the programmer to describe relative positioning of entities through programmable locations, while keeping collision, confinement and diffusion as part of the simulation engine, as opposed to the model created by the programmer. ! Further new aspects of BioScape L include random translation and scaling. Random translation is instrumental in describing the location of new entities relative to the old ones. 12345164 7 Microtubules Polymerization ! Microtubules are dynamic tubulin polymers; formed with dimers of $ and % tubulin. ! MTPart is a part that assembles to form an assembly and represents $- % tubulin polymers. ! MTRight – Start Piece ! MTLeft – End Piece ! MTMiddle – any number of pieces between the start (right) and the end (left). Bac()@_,_,_ = do mov.Bac()_(this, 0) or delay @0.005.(Bac()_this, 0)) | Hion()_(this, rB+rH)) or ….. C(:-* D(,= D:*6 '.(>. E:.--:-: F9-:G0 ':+2(-*+ H,:+-*.>+I8 ;.*6+,:-+ J:2 F7*+G+-)I8 K.L6+D K:>:M+( F7*+G+-)I .-M N:)6.=6. 76.,2. F7*+G+-)I @M,:.-. ;(2O.P-(-: FQ+O.,*2+-* (R ;(2O5*+, 71:+-1+I8 7*+G+-) S-)/*5*+ (R T+16-(>(P?8 UC 6"*!8$+9"'+- :";%-,') "< 6"*!-%= 2,"/>%*,/+- 3$&8/$8&%# 1##%*?-@ +'; AB"-89"' CD45EFG64CED :E4CH14CDI AJ1:KLAM 6N4E3OAL4EDP:C65E4G2GLA3 Scaling 51DFE: 451D3L14CED 1DF 361LCDI 5AQA5AD6A3 6ED6LG3CED3 1DF QG4G5A RE5O ! We define a high level language of entities with programmable abstract locations. ! Diffusion, distance and confinement remain part of the semantics of the calculus, instead of being a burden to the programmer. ! Build a framework based on BioScape L for the computationally assisted development of antibacterial surfaces. ! Study adenoviral traffic in healthy/cancerous eukaryotic cells. 1. Adriana Compagnoni, Paola Giannini, Catherine Kim, Matthew Milideo, Vishakha Sharma A Calculus of Located Entities. In the proceedings of the Ninth International Workshop on Developments in Computational Models (DCM) 2013. 2. Adriana Compagnoni, Vishakha Sharma, Yifei Bao, Matthew Libera, Svetlana Sukhishvili. Philippe Bidinger, Livio Bioglio and Eduardo Bonelli. BioScape: A Modeling and Simulation Language for Bacteria-Materials Interactions. Electronic Notes in Theoretical Computer Science, 293(0): 35 - 49, 2013. Proceedings of the Third International Workshop on Interactions Between Computer Science and Biology (CS2Bio'12). Random Translation Bac()@_,_,_,max-size = do mov.Bac()_((fst(this), 0), 1.1) or delay @0.005.(Bac()_((fst(this), 0), 1) | Hion()_((fst(this), rB+rH), 1)) or delay @0.2.(Bac()_((fst(this), rB), 0.5) | Bac()_((fst(this), rB), 0.5)) or ….. C33GA3M P, Q ::= 0 Empty Process | X(&) & Located Entity Instance | P | Q Parallel Composition | ('a@&, & : chan{T}).P Restriction M ::= (.P [+ M] Choice of Prefixed Process ( ::= delay@& Delay | !u(&) Output | ?u(x) Input | mov Move N ::= M | ('a@&, & : chan{T}).N Restricted Choice u ::= a | b | … | x | y | … Identifiers & ::= u | c | this | & 1 ,...,& n | () | &.i | op(&) Expressions ' ::= a | b | … | c | () | ' 1 ,…,' n Expression Values T ::= chan{T} | fl | T 1*…* T n | ) Expression Types D ::= 0 | D, X (x:T) = N !,",# FV(M) ! x Entity Definitions E ::= 0 | E, a@r, rad : chan{T} Channel Declarations * ::= 0 | *, X:T | *, u:T Type Environment 2,"3/+!% ! M 3ND41J E'/% G!"' + 4,*% S … there was the (-calculus !a(y).P | ?a(x).Q " P | Q[y/x] !a …|?a…|!b…|?b… ! Non-determinism – all communications (pairs of !/? Reduced) are equally likely to happen. ! Explosions are fast, cell division is slow, … ! The need to talk about events that happen at different frequencies motivated probabilistic/stochastic versions (Spi/SPiM). !a(y).P|?a(x).Q " r P | Q[y/x] ! We can plot quantities over time. Can we display/visualize emergent behavior? SPiM Model of bacterial growth and antibacterial agents S +'; $>%&% T%&% %'99%# ,' #!+/%S ?8$ T>%&% %=+/$-@U ! We cannot describe complex structures: polymers/oligomers/ membranes. ! We cannot describe pre-existing/reactive environment – video games/ antibacterial. ! If we want to start in a pre existing world that has not been stochastically assembled but designed instead, we need to extend the language with a programmable location for each entity. Bac " Bac | Bac can now be written as: Bac " Bac this+<x1,y1,z1> | Bac this+<x2,y2,z2> and Bac@p " (Bac | Bac)@p becomes: Bac@p " (Bac this+<x1,y1,z1> | Bac this+<x2,y2,z2>) )@p = Bac p+<x1,y1,z1> | Bac p+<x2,y2,z2>