Mixed Cell Types

Persistent Identifier

Use this permanent link to cite or share this Morpheus model:

Simulations of four types of cells with different shapes to demonstrate how the combined target volume, surface area, and medium contact interaction determine the shape of the cell

Introduction

By setting the volume, surface, and length constraints, a CPM simulation can produce a variety of cell shapes.

Description

In this example, there are four cell types with preferred volumes $V_i$ (area in 2D), surfaces $S_i$ (perimeter in 2D) and lengths $L_i$ set to values:

  • $V_1$ $= 2100$, $L_1$ $= 120$ (red);
  • $V_2$ $= 1800$, $S_2$ $= 250$ (yellow);
  • $V_3$ $= 1800$, $S_3$ $= 100$ (green);
  • $V_4$ $= 2250$, $S_4$ $= 400$ (blue).

The strengths of all constraints is the same $\lambda$ $= 1$.

Results

The cells have all been assigned a low Interaction cost with the medium and a higher Interaction cost with one another. Hence, we see that all cells avoid coming into contact.

The cells prefer not to touch one another in this simulation, where the interaction energy with the medium is lower than that of the cells with one another.
The cells prefer not to touch one another in this simulation, where the interaction energy with the medium is lower than that of the cells with one another.
Simulation video of MixedCellTypes.xml

Model

Get this model via:

  • Morpheus-Link or
  •  Download: MixedCellTypes.xml
  • XML Preview

    <MorpheusModel version="4">
        <Description>
            <Title>MixedCellTypes</Title>
            <Details>Full title:		Mixed Cell Types
    Authors:		L. Edelstein-Keshet
    Contributors:	Y. Xiao
    Date:		22.06.2022
    Software:		Morpheus (open-source). Download from https://morpheus.gitlab.io
    Model ID:		https://identifiers.org/morpheus/M2008
    Reference:		L. Edelstein-Keshet: Mathematical Models in Cell Biology
    Comment:		Simulations of four types of cells with different shapes to demonstrate how the combined target volume, surface area, and medium contact interaction work to determine the shape of the cell. Cell properties are as follows:
    Type ), M=contact with medium, V=target volume, L=target length, S=target surface, C = connectivity constraint. 1) M = 3, V = 2100, L = 120, C. 2) M = 2,  V = 1800, S = 250, C. 3) M = 2, V = 1800, S = 100, C. 4) M = 5, V = 2250, S = 400, C.</Details>
        </Description>
        <Global>
            <Variable symbol="boundary" name="Boundary length of CT1 with other cell types" value="0.0"/>
            <Constant symbol="b" value="0.0"/>
            <Constant symbol="b2" value="0.0"/>
        </Global>
        <Space>
            <SpaceSymbol symbol="l"/>
            <Lattice class="square">
                <Size symbol="size" value="500, 500, 0"/>
                <BoundaryConditions>
                    <Condition type="noflux" boundary="x"/>
                    <Condition type="noflux" boundary="y"/>
                </BoundaryConditions>
                <Neighborhood>
                    <Order>2</Order>
                </Neighborhood>
            </Lattice>
        </Space>
        <Time>
            <StartTime value="0"/>
            <StopTime value="500"/>
            <!--    <Disabled>
            <SaveInterval value="5e3"/>
        </Disabled>
    -->
            <!--    <Disabled>
            <RandomSeed value="3362"/>
        </Disabled>
    -->
            <TimeSymbol symbol="time"/>
        </Time>
        <CellTypes>
            <CellType class="biological" name="ct1">
                <VolumeConstraint target="2100" strength="1"/>
                <LengthConstraint target="120" strength="1" mode="length"/>
                <ConnectivityConstraint/>
            </CellType>
            <CellType class="biological" name="ct2">
                <VolumeConstraint target="1800" strength="1"/>
                <SurfaceConstraint target="250" strength="1" mode="surface"/>
                <ConnectivityConstraint/>
            </CellType>
            <CellType class="biological" name="ct3">
                <VolumeConstraint target="1800" strength="1"/>
                <ConnectivityConstraint/>
                <SurfaceConstraint target="100" strength="1" mode="surface"/>
            </CellType>
            <CellType class="biological" name="ct4">
                <VolumeConstraint target="2250" strength="1"/>
                <ConnectivityConstraint/>
                <SurfaceConstraint target="400" strength="1" mode="surface"/>
            </CellType>
            <CellType class="medium" name="medium"/>
        </CellTypes>
        <CPM>
            <Interaction default="0.0">
                <Contact type1="ct1" type2="medium" value="3"/>
                <Contact type1="ct2" type2="medium" value="2"/>
                <Contact type1="ct3" type2="medium" value="2"/>
                <Contact type1="ct4" type2="medium" value="5"/>
                <Contact type1="ct1" type2="ct1" value="30"/>
                <Contact type1="ct2" type2="ct2" value="30"/>
                <Contact type1="ct1" type2="ct2" value="30"/>
                <Contact type1="ct1" type2="ct3" value="30"/>
                <Contact type1="ct2" type2="ct3" value="30"/>
                <Contact type1="ct3" type2="ct3" value="30"/>
                <Contact type1="ct1" type2="ct4" value="30"/>
                <Contact type1="ct2" type2="ct4" value="30"/>
                <Contact type1="ct3" type2="ct4" value="30"/>
                <Contact type1="ct4" type2="ct4" value="30"/>
            </Interaction>
            <MonteCarloSampler stepper="edgelist">
                <MCSDuration value="1"/>
                <Neighborhood>
                    <Order>2</Order>
                </Neighborhood>
                <MetropolisKinetics temperature="2"/>
            </MonteCarloSampler>
            <ShapeSurface scaling="norm">
                <Neighborhood>
                    <Order>6</Order>
                </Neighborhood>
            </ShapeSurface>
        </CPM>
        <CellPopulations>
            <Population type="ct1" size="0">
                <InitCircle number-of-cells="4" mode="random">
                    <Dimensions radius="size.x/3" center="size.x/2, size.y/2, 0"/>
                </InitCircle>
                <!--    <Disabled>
            <InitRectangle number-of-cells="10" mode="random">
                <Dimensions origin="size.x/2,size.y/2,0" size="size.x/2,size.y/2,0"/>
            </InitRectangle>
        </Disabled>
    -->
            </Population>
            <Population type="ct2" size="0">
                <InitCircle number-of-cells="3" mode="random">
                    <Dimensions radius="size.x/3" center="size.x/2, size.y/2, 0"/>
                </InitCircle>
            </Population>
            <Population type="ct3" size="0">
                <!--    <Disabled>
            <InitRectangle number-of-cells="10" mode="random">
                <Dimensions origin="size.x/2, size.y/2, 0" size="size.x/2"/>
            </InitRectangle>
        </Disabled>
    -->
                <InitCircle number-of-cells="4" random_displacement="30.0" mode="random">
                    <Dimensions radius="size.x/3" center="size.x/2, size.y/2,0"/>
                </InitCircle>
            </Population>
            <Population type="ct4" size="1">
                <InitCircle number-of-cells="5" mode="random">
                    <Dimensions radius="size.x/3" center="size.x/2,size.y/2,0"/>
                </InitCircle>
            </Population>
        </CellPopulations>
        <Analysis>
            <Gnuplotter time-step="20" decorate="false">
                <Terminal name="png"/>
                <Plot>
                    <Cells flooding="true" value="cell.type"/>
                </Plot>
            </Gnuplotter>
            <ModelGraph format="svg" reduced="false" include-tags="#untagged"/>
        </Analysis>
    </MorpheusModel>
    
    

    Model Graph
    Model Graph

    Downloads

    Files associated with this model:

    Previous
    Next