documentation:course:module6
This is an old revision of the document!
Table of Contents
Module 6: Dictyostelium cluster formation & slug movement
Author: Fabian Rost
Aim
- this was planned as a one week project, students should develop a complex model
- teach them about biology: morphogenesis, cellular behavior, …
- teach them about mathematics: CPM, PDE, coupling
Description
- good description on what has been done can be found in the report by the students (see section Papers)
- it's been two days of teaching:
- first explain CPM and let them play with that a little (e.g. cell sorting)
- explain PDE system we are going to use
- I had to explain about phase plane analysis quiet a bit
- then on day 3 start to couple PDE & CPM
- start with coupling in one direction only
- e.g. first give a fixed gradient and let CPM cells perform chemotaxis
- then formulate a PDE where a substance is only produced where CPM cells are
- then couple in both directions (implement the Savill model)
- perform clustering and slug movement experiment
Paper
- Savill, N. J., & Hogeweg, P. (1997). Modelling morphogenesis: from single cells to crawling slugs. J. Theor. Biol, 184, 229-235. link
- Stan Marée (2002), From pattern formation to morphogenesis: multicellular coordination in Dictyostelium discoideum link
- Alberto Quintero, Mirko Myllykoski, Anna Igolkina, Alexandra Rohde O’Sullivan Freltoft, Nitya Dixit, Fabian Rost (2012), Morphogenesis and Dynamics of Multicellular Systems, link
Morpheus models
h CrawlingSlug.xml |h
<?xml version='1.0' encoding='UTF-8'?> <MorpheusModel version="1"> <Description> <Title>test</Title> </Description> <Space> <Lattice class="square"> <Size symbol="size" value="100 200 0"/> <BoundaryConditions> <Condition boundary="x" type="constant"/> <Condition boundary="y" type="constant"/> <Condition boundary="-x" type="constant"/> <Condition boundary="-y" type="constant"/> </BoundaryConditions> <NodeLength value="0.37"/> </Lattice> <SpaceSymbol symbol="space"/> </Space> <Time> <StartTime value="1.0"/> <StopTime symbol="end" value="5000"/> <TimeSymbol symbol="time"/> </Time> <CellTypes> <CellType class="medium" name="medium"> <Property symbol="b" value="0"/> <Property symbol="max_c" value="0"/> <Property symbol="phase" value="0"/> </CellType> <CellType class="biological" name="ameba"> <VolumeConstraint> <Strength value="1.0"/> <Target value="20"/> </VolumeConstraint> <Chemotaxis> <Layer symbol-ref="c"/> <Strength symbol-ref="mu"/> </Chemotaxis> <Property symbol="b" value="0"/> <Property symbol="max_c" value="0"/> <PDEReporter> <Input symbol-ref="c"/> <Maximum symbol-ref="max_c"/> </PDEReporter> <Property symbol="phase" value="1"/> <Property symbol="phaseTime" value="0"/> <Equation symbol-ref="phaseTime"> <Expression>if(phase == 2, phaseTime+MCStime, 0)</Expression> </Equation> <Equation symbol-ref="phase" name="Rule_2_3"> <Expression>if(phase == 1 and max_c > 0.1, 2, if(phase == 2 and phaseTime>phase2duration, 3, if(phase == 3 and max_c < 0.05, 1, phase ))) </Expression> </Equation> <Property symbol="phase2duration" value="0.5"/> <Function symbol="mu"> <Expression>if(phase == 2, 50, 0)</Expression> </Function> </CellType> <CellType class="biological" name="autoAmeba"> <VolumeConstraint> <Strength value="1.0"/> <Target value="20"/> </VolumeConstraint> <!-- <Disabled> <Chemotaxis> <Layer symbol-ref="c"/> <Strength symbol-ref="mu"/> </Chemotaxis> </Disabled> --> <Property symbol="b" value="0.5"/> <Property symbol="max_c" value="0"/> <Property symbol="phase" value="0"/> </CellType> </CellTypes> <CPM> <Interaction> <Contact type1="ameba" type2="ameba" value="3"/> <Contact type1="ameba" type2="medium" value="2"/> <Contact type1="ameba" type2="autoAmeba" value="4"/> <Contact type1="autoAmeba" type2="medium" value="3"/> <Contact type1="autoAmeba" type2="autoAmeba" value="-2"/> </Interaction> <MCSDuration symbol="MCStime" value="0.01"/> <MetropolisKinetics temperature="1.0" yield="2" stepper="edgelist"> <Neighborhood> <Order>2</Order> </Neighborhood> </MetropolisKinetics> </CPM> <PDE> <Layer symbol="c"> <Diffusion rate="1"/> <Initial> <InitPDEExpression> <Expression>0</Expression> </InitPDEExpression> </Initial> <BoundaryConditions> <Condition boundary="x" value="0"/> <Condition boundary="-x" value="0"/> <Condition boundary="y" value="0"/> <Condition boundary="-y" value="0"/> </BoundaryConditions> </Layer> <Layer symbol="r"> <Diffusion rate="0"/> <Initial> <InitPDEExpression> <Expression>0</Expression> </InitPDEExpression> </Initial> <BoundaryConditions> <Condition boundary="x" value="0"/> <Condition boundary="-x" value="0"/> <Condition boundary="y" value="0"/> <Condition boundary="-y" value="0"/> </BoundaryConditions> </Layer> <!-- <Disabled> <Function symbol="b"> <Expression>0</Expression> </Function> </Disabled> --> <System solver="euler" time-step="0.1"> <DiffEqn symbol-ref="c"> <Expression>alpha*(-f -r)</Expression> </DiffEqn> <DiffEqn symbol-ref="r"> <Expression>alpha*epsilon*(3.5*c-b-r)</Expression> </DiffEqn> <Function symbol="f"> <Expression>if(c < 0.0065, 20*c, if(c < 0.841, -3*c+0.15, 15*(c-1)))</Expression> </Function> <Function symbol="alpha"> <Expression>if(cell.id != 0, 1, 0)</Expression> </Function> <Function symbol="epsilon"> <Expression>if(c < 0.0065, 0.5, if(c < 0.841, 0.0589, 0.5))</Expression> </Function> </System> <!-- <Disabled> <Equation symbol-ref="r"> <Expression>if(cell.id != 0, r, 0)</Expression> </Equation> </Disabled> --> </PDE> <CellPopulations> <Population size="2" type="autoAmeba"> <InitRectangle cells="2" type="regular"> <Dimensions size="5 5 0" center="50 50 0"/> </InitRectangle> </Population> <Population size="1" type="ameba"> <InitRectangle cells="50" type="regular"> <Dimensions size="35 50 0" center="50 25 0"/> </InitRectangle> </Population> <!-- <Disabled> <Population size="2" type="autoAmeba"> <InitRectangle cells="2" type="regular"> <Dimensions size="5 5 0" center="55 50 0"/> </InitRectangle> </Population> </Disabled> --> </CellPopulations> <Analysis> <Gnuplotter interval="10"> <Terminal opacity="0.7" name="png"/> <PDE symbol-ref="c" min="-0.5" max="1.0"> <ColorMap> <Color value="-0.5" color="dark-violet"/> <Color value="0" color="white"/> <Color value="1.0" color="red"/> </ColorMap> </PDE> <Cells symbol-ref="phase" min="1" max="3"> <ColorMap> <Color value="1" color="yellow"/> <Color value="2" color="green"/> <Color value="3" color="red"/> </ColorMap> </Cells> <!-- <Disabled> <Cells symbol-ref="cell.volume" min="15" max="25"/> </Disabled> --> <PDE symbol-ref="c" min="-0.5" max="1.0"> <ColorMap> <Color value="-0.5" color="dark-violet"/> <Color value="0" color="white"/> <Color value="1.0" color="red"/> </ColorMap> </PDE> <!-- <Disabled> <PDE symbol-ref="r" min="-0.5" max="3.0"> <ColorMap> <Color value="-0.5" color="dark-violet"/> <Color value="0" color="white"/> <Color value="3.0" color="red"/> </ColorMap> </PDE> </Disabled> --> </Gnuplotter> <!-- <Disabled> <Logger interval="0.1"> <Filename name="log"/> <Format string="c r"/> <Input> <PDE mapping="all" slice="1"/> </Input> <Plot interval="0.1" terminal="png"> <X-axis column="1"/> <Y-axis columns="2 3"/> </Plot> </Logger> </Disabled> --> </Analysis> </MorpheusModel>
documentation/course/module6.1357904294.txt.gz · Last modified: 12:38 11.01.2013 by Fabian Rost