170 likes | 254 Views
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.
E N D
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 B A C T(C )
T C 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
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?
Datatypes in MGS Collection … record pair array monoidal set bag seq
max[fixrule]( (1,2,5,3,4,set:()) ) max[fixrule]( (5,2,5,3,4,bag:()) ) 5, set:() 5,5,bag:() trans max = x,y/(x>y) => x
(1,2,3,4,6, seq:()) trans Sort = (x,y /y<x) => y,x Sort[fixrule] ((2,4,3,1,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)) }
north east gbf Hexagon = <east, north, northeast; north = east + northeast>
Eden’s Model C Trans Eden = { x, <undef> / x => x, true }
Future work • Compare MGS with other languages (e.g. the L+C system at UofC) • Implement some models myself using MGS