<?xml version='1.0' encoding='UTF-8'?>
<MorpheusModel version="4">
    <Description>
        <Details>Full title:		Self-Organization of Leaf Polarity
Authors:		E. Scacchi, G. Paszkiewicz, K. T. Nguyen, S. Meda, A. Burian, W. de Back, M. C. P. Timmermans
Contributors:	E. Scacchi
Date:		26.02.2024
Software:       	Morpheus (open-source). Download from https://morpheus.gitlab.io
Model ID:		https://identifiers.org/morpheus/M4283
File type:		Supplementary model
Reference:		This model is the original used in the publication, up to technical updates:
		E. Scacchi, G. Paszkiewicz, K. T. Nguyen, S. Meda, A. Burian, W. de Back, M. C. P. Timmermans: A diffusible small-RNA-based Turing system dynamically coordinates organ polarity. Nat. Plants, 2024.
		https://doi.org/10.1038/s41477-024-01634-x
Comment:		Given our finding that adaxial-abaxial polarity following primordium emergence is maintained in an organ-autonomous manner, we implemented a lattice of 6 x 30 hexagonal continuous static cells as a template to mimic the primordium shortly after emergence from the meristem environment. To simulate inter- and intra-cellular chemical reactions at the organ level, we adopted a cellular agent-based model (ABM), where each cell independently elaborates the Leaf Polarity Model (LPM, a Turing-like system) and diffusion and perception of mobile determinants occurs between contiguous cells relative to the cell-to-cell contact surface. As such, we can assess whether the LPM can coordinate the collective behavior of cells to generate a spatial pattern at the tissue level that resembles the polarization of the leaf. The simulation generates a spatially stable pattern with HDZIPIII (u) and AStasiARF (z) out of phase from miRKANARF (v), but the pattern is variegated rather than bipolarly striped as in the leaf.

Several biological and physical conditions can convert a variegated Turing pattern into a striped pattern. As we are modeling the full scale of the leaf, the introduction of no-flux boundary conditions to the top and bottom edges of the “leaf” template is both pertinent and essential. With this addition, the LPM resolves into a pattern containing fragmented horizontal stripes. Thus, even with a proper wavelength of the system and the addition of no-flux boundary conditions, the LPM fails to polarize a flat lamina.</Details>
        <Title>M4283 Leaf Polarity Model – Grid of Static Cells (Variegated Pattern)</Title>
    </Description>
    <Space>
        <Lattice class="hexagonal">
            <Neighborhood>
                <Order>3</Order>
            </Neighborhood>
            <Size symbol="size" value="30, 6, 0"/>
            <BoundaryConditions>
                <Condition type="periodic" boundary="x"/>
                <Condition type="noflux" boundary="y"/>
            </BoundaryConditions>
        </Lattice>
        <SpaceSymbol symbol="space"/>
    </Space>
    <Time>
        <StartTime value="0"/>
        <StopTime value="300"/>
        <TimeSymbol symbol="time"/>
    </Time>
    <CellTypes>
        <CellType class="biological" name="cells">
            <Property symbol="u" value="0"/>
            <Property symbol="v" value="rand_uni(0.1, 0)&#xa;"/>
            <Property symbol="z" value="0.0"/>
            <Property symbol="v_n" value="0"/>
            <Property symbol="z_n" value="0"/>
            <Variable symbol="Dv" value="7.5"/>
            <Variable symbol="Dz" value="75"/>
            <System time-step="0.01" solver="Runge-Kutta [fixed, O(4)]">
                <DiffEqn symbol-ref="u">
                    <Expression>k1*u+k2*v+k3*z - u^3</Expression>
                </DiffEqn>
                <DiffEqn symbol-ref="v">
                    <Expression>k4*u+k5*v+k6*z 
+ Dv*(0.5*v_n - 0.5*v)</Expression>
                </DiffEqn>
                <DiffEqn symbol-ref="z">
                    <Expression>k7*u+k8*v+k9*z 
+ Dz*(0.5*z_n - 0.5*z)
</Expression>
                </DiffEqn>
                <Constant symbol="k1" value="0.0"/>
                <Constant symbol="k2" value="-0.5"/>
                <Constant symbol="k3" value="-1"/>
                <Constant symbol="k4" value="-0.5"/>
                <Constant symbol="k5" value="-1&#xa;&#xa;"/>
                <Constant symbol="k6" value="-1"/>
                <Constant symbol="k7" value="1"/>
                <Constant symbol="k8" value="0"/>
                <Constant symbol="k9" value="0"/>
            </System>
            <NeighborhoodReporter>
                <Input scaling="cell" value="v"/>
                <Output symbol-ref="v_n" mapping="average"/>
            </NeighborhoodReporter>
            <NeighborhoodReporter>
                <Input scaling="cell" value="z"/>
                <Output symbol-ref="z_n" mapping="average"/>
            </NeighborhoodReporter>
        </CellType>
    </CellTypes>
    <CellPopulations>
        <Population type="cells" size="0">
            <InitCellLattice/>
        </Population>
    </CellPopulations>
    <Analysis>
        <Gnuplotter time-step="10" decorate="true">
            <Terminal name="png"/>
            <Plot title="HD-ZIPIII">
                <Cells per-frame-range="true" value="u">
                    <ColorMap>
                        <Color value="1" color="red"/>
                        <Color value="0" color="black"/>
                    </ColorMap>
                </Cells>
            </Plot>
            <Plot title="AStasiARF">
                <Cells per-frame-range="true" value="z">
                    <ColorMap>
                        <Color value="1" color="green"/>
                        <Color value="0" color="black"/>
                    </ColorMap>
                </Cells>
            </Plot>
            <Plot title="miRKANARF">
                <Cells per-frame-range="true" value="v">
                    <ColorMap>
                        <Color value="1" color="blue"/>
                        <Color value="0" color="black"/>
                    </ColorMap>
                </Cells>
            </Plot>
        </Gnuplotter>
        <ModelGraph format="svg" reduced="false" include-tags="#untagged"/>
    </Analysis>
    <Global>
        <Constant symbol="u" value="0.0"/>
        <Constant symbol="v" value="0.0"/>
        <Constant symbol="z" value="0.0"/>
    </Global>
</MorpheusModel>
