<MorpheusModel version="4">
    <Description>
        <Title>M2074 Edge-ruffling Cell with 3 Traveling Waves (s = 0.413)</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 reproduces the edge-ruffling traveling-wave cell behavior with 3 competing protrusions at s = 0.413, simulated in Morpheus for Figure 8 (first panel) 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="3*3.0933318138"/>
        <Constant symbol="targetVol" value="4800"/>
        <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>
    </Global>
    <Space>
        <Lattice class="square">
            <Size symbol="lattice" value="2000, 600, 0"/>
            <BoundaryConditions>
                <Condition type="noflux" boundary="x"/>
                <Condition type="periodic" boundary="y"/>
            </BoundaryConditions>
            <NodeLength value="1.0"/>
            <Neighborhood>
                <Distance>2.0</Distance>
            </Neighborhood>
        </Lattice>
        <SpaceSymbol symbol="l"/>
        <MembraneLattice>
            <Resolution symbol="memsize" value="1500"/>
            <SpaceSymbol symbol="m"/>
        </MembraneLattice>
    </Space>
    <Time>
        <StartTime value="0"/>
        <StopTime value="220"/>
        <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>
            <MembraneProperty symbol="u" name="Active form of protein" value="1-0.5*cos(3*m.phi)-0.32*sin(3*m.phi)">
                <Diffusion rate="0.1/lengthscale^2"/>
            </MembraneProperty>
            <MembraneProperty symbol="v" name="Inactive form of protein" value="1+0.028*cos(3*m.phi)+0.08*sin(3*m.phi)">
                <Diffusion rate="1/lengthscale^2"/>
            </MembraneProperty>
            <MembraneProperty symbol="F" name="F-actin" value="4.6-2*cos(3*m.phi)">
                <Diffusion rate="0.001/lengthscale^2"/>
            </MembraneProperty>
            <System time-scaling="0.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"/>
                <Constant symbol="s" value="0.413"/>
                <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>
            </System>
            <StarConvex membrane="F" strength="1" retraction="false" protrusion="true"/>
            <Protrusion strength="1" field="prot" maximum="150"/>
        </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">
                    <Sphere center="1900 300 0" radius="24*2"/>
                </Arrangement>
            </InitCellObjects>
        </Population>
    </CellPopulations>
    <Analysis>
        <Logger time-step="10">
            <Input>
                <Symbol symbol-ref="m.phi"/>
                <Symbol symbol-ref="u"/>
                <Symbol symbol-ref="F"/>
            </Input>
            <Output>
                <TextOutput/>
            </Output>
            <Plots>
                <Plot time-step="25">
                    <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>
            </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>
        <Logger time-step="-1">
            <Input>
                <Symbol symbol-ref="cell.center.x"/>
                <Symbol symbol-ref="cell.center.y"/>
            </Input>
            <Output>
                <TextOutput/>
            </Output>
            <Plots>
                <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>
        <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)"/>
    </Analysis>
</MorpheusModel>
