<MorpheusModel version="4">
    <Description>
        <Title>M2074 Transition from Cell Turning to Directed Cell Motion</Title>
        <Details>Model ID:	https://identifiers.org/morpheus/M2074
  File type:	Supplementary model
  Software:	Morpheus (open source). Download from: https://morpheus.gitlab.io
Full title:	How Negative Feedback from Filamentous Actin Affects Cell Shapes and Motility
Authors:	J. M. Hughes, J. Algorta, L. Edelstein-Keshet
Submitter:	J. Algorta
Curator:	D. Jahn
Date:	07.06.2026
Reference:	This model is the original used in the publication, up to technical updates:
	J. M. Hughes, J. Algorta, L. Edelstein-Keshet: How negative feedback from filamentous actin affects cell shapes and motility. arXiv 2602.08779, 2026.
	https://doi.org/10.48550/arXiv.2602.08779
Comment:	This model simulates the transition from cell turning back to directed cell motion due to a linearly decreasing negative feedback rate s(t), simulated in Morpheus for Figure 13 of the publication. PDE model for F-actin negative feedback to GTPases, and GTPase promotion of F-actin. The reaction-diffusion PDEs are implemented on the cell edge. u = active GTPase (Rac), v = inactive GTPase, F = F-actin.</Details>
    </Description>
    <Global>
        <Constant symbol="lengthscale" value="L/(2*sqrt(targetVol*pi))"/>
        <Constant symbol="L" value="5"/>
        <Constant symbol="targetVol" value="4800/2"/>
        <Field symbol="prot" value="0.0"/>
        <Variable symbol="time_var" value="0.0"/>
        <System solver="Dormand-Prince [adaptive, O(5)]">
            <Rule symbol-ref="time_var">
                <Expression>time</Expression>
            </Rule>
        </System>
        <Constant symbol="s0" value="0.6"/>
        <Constant symbol="sf" value="0.475"/>
        <Constant symbol="tf" value="500"/>
        <Variable symbol="s" value="0.0"/>
        <!--    <Disabled>
        <Variable symbol="td" value="-ln(rand_uni(0,1))/lambda"/>
    </Disabled>
-->
        <!--    <Disabled>
        <Variable symbol="lambda" value="20"/>
    </Disabled>
-->
        <Constant symbol="delta_size" value="0.005"/>
        <Constant symbol="lambda" value="6*0.0001/(delta_size^2)"/>
    </Global>
    <Space>
        <Lattice class="square">
            <Size symbol="lattice" value="5500,5500, 0"/>
            <!--    <Disabled>
        <Size symbol="lattice" value="800/sqrt(2), 2*400/sqrt(2), 0"/>
    </Disabled>
-->
            <BoundaryConditions>
                <Condition type="noflux" boundary="x"/>
                <Condition type="noflux" boundary="y"/>
            </BoundaryConditions>
            <NodeLength value="1.0"/>
            <Neighborhood>
                <Distance>2.0</Distance>
            </Neighborhood>
        </Lattice>
        <SpaceSymbol symbol="l"/>
        <MembraneLattice>
            <Resolution symbol="memsize" value="500"/>
            <SpaceSymbol symbol="m"/>
        </MembraneLattice>
    </Space>
    <Time>
        <StartTime value="0"/>
        <StopTime value="600"/>
        <SaveInterval value="0"/>
        <!--    <Disabled>
        <RandomSeed value="0"/>
    </Disabled>
-->
        <TimeSymbol symbol="time"/>
    </Time>
    <CellTypes>
        <CellType name="cells" class="biological">
            <VolumeConstraint target="targetVol" strength="1" name=""/>
            <SurfaceConstraint target="1.2" strength="1" mode="aspherity"/>
            <MembraneProperty symbol="Noise" value="0.0">
                <Diffusion well-mixed="false" rate="0.0"/>
            </MembraneProperty>
            <!--    <Disabled>
        <MembraneProperty symbol="u" name="Active form of protein" value="0.75-0.5*cos(m.phi)">
            <Diffusion rate="0.1/lengthscale^2"/>
        </MembraneProperty>
    </Disabled>
-->
            <!--    <Disabled>
        <MembraneProperty symbol="v" name="Inactive form of protein" value="1.25+0.1*cos(m.phi)">
            <Diffusion rate="1/lengthscale^2"/>
        </MembraneProperty>
    </Disabled>
-->
            <!--    <Disabled>
        <MembraneProperty symbol="F" name="F-actin" value="3.5-2*cos(m.phi)">
            <Diffusion rate="0.001/lengthscale^2"/>
        </MembraneProperty>
    </Disabled>
-->
            <MembraneProperty symbol="u" name="Active form of protein" value="0.07+2/cosh(3*(m.phi-L/2))">
                <Diffusion rate="0.1/lengthscale^2"/>
            </MembraneProperty>
            <MembraneProperty symbol="v" name="Inactive form of protein" value="2-(0.07+2/cosh(3*(m.phi-L/2)))">
                <Diffusion rate="1/lengthscale^2"/>
            </MembraneProperty>
            <MembraneProperty symbol="F" name="F-actin" value="1.15+5/cosh(3*(m.phi-L/3))">
                <Diffusion rate="0.001/lengthscale^2"/>
            </MembraneProperty>
            <Property symbol="s" value="s0"/>
            <System time-scaling="1" time-step="0.05" name="WavePinning with Inhibitor" solver="Runge-Kutta [fixed, O(4)]">
                <Constant symbol="b" value="0.067"/>
                <Constant symbol="gamma" value="3.557"/>
                <!--    <Disabled>
        <Constant symbol="s" value="s0*(time &lt; 1/4*tf)+ (s0-(s0-sf)*(time-1/4*tf)/(3/4*tf))*(time > 1/4*tf)*(time &lt; tf)+sf*(time >tf)"/>
    </Disabled>
-->
                <Constant symbol="eps" value="0.6"/>
                <Constant symbol="p0" value="0.8"/>
                <Constant symbol="p1" value="3.8"/>
                <Intermediate symbol="A" value="(b+gamma*u^2)*v-(1+s*F+u^2)*u"/>
                <DiffEqn symbol-ref="u">
                    <Expression>A</Expression>
                </DiffEqn>
                <DiffEqn symbol-ref="v">
                    <Expression>-A</Expression>
                </DiffEqn>
                <DiffEqn symbol-ref="F">
                    <Expression>eps*(p0+p1*u-F)</Expression>
                </DiffEqn>
                <Rule symbol-ref="Noise">
                    <Expression>4*(time_var>150)*(time_var&lt;200)*rand_norm(0,1)</Expression>
                </Rule>
                <!--    <Disabled>
        <Rule symbol-ref="s">
            <Expression>s0*(time &lt; 1/4*tf)+ (s0-(s0-sf)*(time-1/4*tf)/(3/4*tf))*(time > 1/4*tf)*(time &lt; tf)+sf*(time >tf)</Expression>
        </Rule>
    </Disabled>
-->
            </System>
            <System solver="Dormand-Prince [adaptive, O(5)]">
                <Rule symbol-ref="s">
                    <Expression>s0*(time &lt; 0.25*tf) + (s0-(s0-sf)*(time-0.25*tf)/(0.5*tf))*(time > 0.25*tf)*(time &lt; 0.75*tf) + sf*(time > 0.75*tf)</Expression>
                </Rule>
            </System>
            <StarConvex membrane="F" strength="1" retraction="false" protrusion="true"/>
            <Protrusion strength="1" field="prot" maximum="150"/>
            <!--    <Disabled>
        <Event>
            <Condition>(time > 1/4*tf)*(time &lt; tf)</Condition>
            <Rule symbol-ref="s">
                <Expression>s0-(s0-sf)*(time-1/4*tf)/(3/4*tf)</Expression>
            </Rule>
        </Event>
    </Disabled>
-->
            <!--    <Disabled>
        <Event>
            <Condition>time > tf</Condition>
            <Rule symbol-ref="s">
                <Expression>sf</Expression>
            </Rule>
        </Event>
    </Disabled>
-->
        </CellType>
    </CellTypes>
    <CPM>
        <Interaction default="0.0"/>
        <MonteCarloSampler stepper="edgelist">
            <MCSDuration value="0.01"/>
            <Neighborhood>
                <Order>2</Order>
            </Neighborhood>
            <MetropolisKinetics yield="0.05" temperature="1"/>
        </MonteCarloSampler>
        <ShapeSurface scaling="norm">
            <Neighborhood>
                <Order>6</Order>
            </Neighborhood>
        </ShapeSurface>
    </CPM>
    <CellPopulations>
        <Population type="cells" size="0">
            <InitCellObjects mode="distance">
                <Arrangement repetitions="1, 1, 0" displacements="1, 1, 0">
                    <!--    <Disabled>
        <Sphere center="2766 282 0" radius="24*2"/>
    </Disabled>
-->
                    <Sphere center="2000 2000 0" radius="24*2"/>
                </Arrangement>
            </InitCellObjects>
        </Population>
    </CellPopulations>
    <Analysis>
        <Logger time-step="1">
            <Input>
                <Symbol symbol-ref="m.phi"/>
                <Symbol symbol-ref="u"/>
                <Symbol symbol-ref="F"/>
            </Input>
            <Output>
                <TextOutput/>
            </Output>
            <Plots>
                <Plot time-step="5">
                    <Style style="points"/>
                    <Terminal terminal="png"/>
                    <X-axis maximum="6.28">
                        <Symbol symbol-ref="m.phi"/>
                    </X-axis>
                    <Y-axis maximum="10">
                        <Symbol symbol-ref="u"/>
                        <Symbol symbol-ref="v"/>
                        <Symbol symbol-ref="F"/>
                        <!--    <Disabled>
        <Symbol symbol-ref="Noise"/>
    </Disabled>
-->
                    </Y-axis>
                    <Range>
                        <Time mode="current"/>
                    </Range>
                </Plot>
                <!--    <Disabled>
        <SurfacePlot time-step="10">
            <Color-bar>
                <Symbol symbol-ref="u"/>
            </Color-bar>
            <Terminal terminal="png"/>
        </SurfacePlot>
    </Disabled>
-->
                <Plot time-step="-1">
                    <Style style="points" point-size="1"/>
                    <Terminal terminal="png"/>
                    <X-axis>
                        <Symbol symbol-ref="time"/>
                    </X-axis>
                    <Y-axis minimum="0.0" maximum="6.3">
                        <Symbol symbol-ref="m.phi"/>
                    </Y-axis>
                    <Color-bar>
                        <Symbol symbol-ref="u"/>
                    </Color-bar>
                </Plot>
                <Plot time-step="5">
                    <Style style="points"/>
                    <Terminal terminal="png"/>
                    <X-axis>
                        <Symbol symbol-ref="time"/>
                    </X-axis>
                    <Y-axis>
                        <Symbol symbol-ref="s"/>
                    </Y-axis>
                </Plot>
                <!--    <Disabled>
        <Plot time-step="-1">
            <Style style="points"/>
            <Terminal terminal="png"/>
            <X-axis>
                <Symbol symbol-ref="time"/>
            </X-axis>
            <Y-axis>
                <Symbol symbol-ref="s"/>
            </Y-axis>
        </Plot>
    </Disabled>
-->
            </Plots>
        </Logger>
        <ModelGraph include-tags="#untagged" format="dot" reduced="false"/>
        <Gnuplotter time-step="5" decorate="false" log-commands="true">
            <Plot>
                <Cells value="F"/>
                <!--    <Disabled>
        <Field symbol-ref="prot"/>
    </Disabled>
-->
            </Plot>
            <Terminal name="png" size="1200,1200,0"/>
        </Gnuplotter>
        <!--    <Disabled>
        <Logger time-step="-1">
            <Input>
                <Symbol symbol-ref="cell.center.x"/>
                <Symbol symbol-ref="cell.center.y"/>
            </Input>
            <Output>
                <TextOutput/>
            </Output>
            <Plots internal:disabled="true">
                <Plot time-step="-1">
                    <Style style="points" point-size="0.5"/>
                    <Terminal terminal="png"/>
                    <X-axis>
                        <Symbol symbol-ref="cell.center.x"/>
                    </X-axis>
                    <Y-axis>
                        <Symbol symbol-ref="cell.center.y"/>
                    </Y-axis>
                    <Color-bar>
                        <Symbol symbol-ref="time"/>
                    </Color-bar>
                </Plot>
            </Plots>
        </Logger>
    </Disabled>
-->
        <!--    <Disabled>
        <Gnuplotter time-step="20" decorate="false" log-commands="true">
            <Plot>
                <Cells value="cell.id"/>
            </Plot>
            <Terminal name="png"/>
        </Gnuplotter>
    </Disabled>
-->
        <CellTracker time-step="1.0" format="ISBI 2012 (XML)"/>
        <Logger time-step="0.1">
            <Input>
                <Symbol symbol-ref="s"/>
                <!--    <Disabled>
        <Symbol symbol-ref="cell.center.y"/>
    </Disabled>
-->
            </Input>
            <Output>
                <TextOutput/>
            </Output>
            <Plots>
                <!--    <Disabled>
        <Plot time-step="-1">
            <Style style="points" point-size="0.5"/>
            <Terminal terminal="png"/>
            <X-axis>
                <Symbol symbol-ref="cell.center.x"/>
            </X-axis>
            <Y-axis>
                <Symbol symbol-ref="cell.center.y"/>
            </Y-axis>
            <Color-bar>
                <Symbol symbol-ref="time"/>
            </Color-bar>
        </Plot>
    </Disabled>
-->
                <Plot time-step="-1">
                    <Style style="points"/>
                    <Terminal terminal="png"/>
                    <X-axis>
                        <Symbol symbol-ref="time"/>
                    </X-axis>
                    <Y-axis>
                        <Symbol symbol-ref="s"/>
                    </Y-axis>
                </Plot>
            </Plots>
        </Logger>
        <Logger time-step="1">
            <Input>
                <Symbol symbol-ref="m.phi"/>
                <!--    <Disabled>
        <Symbol symbol-ref="u"/>
    </Disabled>
-->
                <Symbol symbol-ref="F"/>
            </Input>
            <Output>
                <TextOutput/>
            </Output>
            <!--    <Disabled>
        <Plots>
            <Plot time-step="5" internal:disabled="true">
                <Style style="points"/>
                <Terminal terminal="png"/>
                <X-axis maximum="6.28">
                    <Symbol symbol-ref="m.phi"/>
                </X-axis>
                <Y-axis maximum="10">
                    <Symbol symbol-ref="u"/>
                    <Symbol symbol-ref="v"/>
                    <Symbol symbol-ref="F"/>
                    <Symbol symbol-ref="Noise" internal:disabled="true"/>
                </Y-axis>
                <Range>
                    <Time mode="current"/>
                </Range>
            </Plot>
            <SurfacePlot time-step="10" internal:disabled="true">
                <Color-bar>
                    <Symbol symbol-ref="u"/>
                </Color-bar>
                <Terminal terminal="png"/>
            </SurfacePlot>
            <Plot time-step="-1" internal:disabled="true">
                <Style style="points" point-size="1"/>
                <Terminal terminal="png"/>
                <X-axis>
                    <Symbol symbol-ref="time"/>
                </X-axis>
                <Y-axis minimum="0.0" maximum="6.3">
                    <Symbol symbol-ref="m.phi"/>
                </Y-axis>
                <Color-bar>
                    <Symbol symbol-ref="u"/>
                </Color-bar>
            </Plot>
            <Plot time-step="5" internal:disabled="true">
                <Style style="points"/>
                <Terminal terminal="png"/>
                <X-axis>
                    <Symbol symbol-ref="time"/>
                </X-axis>
                <Y-axis>
                    <Symbol symbol-ref="s"/>
                </Y-axis>
            </Plot>
            <Plot time-step="-1" internal:disabled="true">
                <Style style="points"/>
                <Terminal terminal="png"/>
                <X-axis>
                    <Symbol symbol-ref="time"/>
                </X-axis>
                <Y-axis>
                    <Symbol symbol-ref="s"/>
                </Y-axis>
            </Plot>
        </Plots>
    </Disabled>
-->
        </Logger>
    </Analysis>
</MorpheusModel>
