User Tools

Site Tools


documentation:course:module6

This is an old revision of the document!


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 &lt; 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 &lt; 0.0065, 20*c, 
if(c &lt; 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 &lt; 0.0065, 0.5,
if(c &lt; 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.1357902981.txt.gz · Last modified: 12:16 11.01.2013 by Fabian Rost

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki