An overview of the MGS modeling system
description
Transcript of An overview of the MGS modeling system
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