an overview of the mgs modeling system
DESCRIPTION
An overview of the MGS modeling system. Min Zeng Department of Computer Science. What is MGS. A programming language for the simulation of biological processes Focus on dynamical systems with a dynamical structure Provide a unified view on several computational mechanisms. - PowerPoint PPT PresentationTRANSCRIPT
An overview of the MGS modeling system
Min Zeng
Department of Computer Science
What is MGS
• A programming language for the simulation of biological processes
• Focus on dynamical systems with a dynamical structure
• Provide a unified view on several computational mechanisms
Dynamical System With Dynamical Structure
• State of the system changes with time
• Structure of the state also changes with time
• Example: cell-division
• Idea: Multiset rewriting
T
C T(C )
AB
C
T
T(C) T(T(C))
Problem with Multiset--rewriting
• Lack of spatial organization! The cell can not be thought as a chemical reactor where the chemicals are homogeneously diluted. The cell exhibit a highly organized spatial structure.
A G T T C A C C A A
A
B
C
Observation
• Neighborhood relationships are important!
• Neighborhood relationships must be flexible.
• Can we define a data structure through the specification of the neighborhood of its elements?
Collection
monoidalrecord pair array
set bag seq
…
Datatypes in MGS
trans max = x,y/(x>y) => x
max[fixrule]( (1,2,5,3,4,set:()) )
max[fixrule]( (5,2,5,3,4,bag:()) )
5, set:()
5,5,bag:()
trans Sort = (x,y /y<x) => y,x
Sort[fixrule] ((2,4,3,1,6,seq:()))
(1,2,3,4,6, seq:())
collection DNA = seq;;collection TUBE = bag;;
trans Restriction = { EcoRI = X+,(“G”,“A”,“A”,”T”,”T”,”C”), Y+ =>(X,“G”)::(“A”,“A”,“T”,“T”,“C”,Y)::TUBE:(); Void = X+ => X:: TUBE:();}
trans React = { dna => hd(restriction(dna)) }
gbf Hexagon = <east, north, northeast; north = east + northeast>
northeast
C
Eden’s Model
Trans Eden = { x, <undef> / x => x, true }
Turing diffusion-reaction process on a ring
Future work
• Compare MGS with other languages (e.g. the L+C system at UofC)
• Implement some models myself using MGS