Larvae Growth

Persistent Identifier

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

Autoactivation and autoinhibition can close a feedback loop of body size control. Here, an error in the published parameter values is found and corrected.

Introduction

Insect larvae grow until an appropriate body size is reached for molting or metamorphosis. During body growth, all body parts like imaginal disks grow in proportion. Hormones including insulin and ecdysone act as activator and inhibitor of growth, respectively. These hormones contribute to a feedback control loop that spans many spatial scales from the body to the cells. The following simple model explores the time course and robustness of such growth control.

Figure 1: Drosophila melanogaster 2nd instar larva with mouth parts (black, marked by arrow) growing in proportion to the body. Author: J. Albert Vallunen, [*CC BY-SA 2.5*](https://creativecommons.org/licenses/by-sa/2.5), via [Wikimedia Commons](https://commons.wikimedia.org/wiki/File:Drosophila_2nd_instar_larva.jpg)
Figure 1: Drosophila melanogaster 2nd instar larva with mouth parts (black, marked by arrow) growing in proportion to the body. Author: J. Albert Vallunen, CC BY-SA 2.5, via Wikimedia Commons

Description

The growth control model was developed by H. F. Nijhout in 2003 and presented in Box 1 of the publication. However, simulating these differential equations with the published parameter values from Box 1 of the publication yields diverging dynamics, shown as magenta curves in Fig.2. Importantly, the activator time course shows the opposite monotonicity than published and as such is not physiologically meaningful. Hence, the published results initially could not be reproduced. Just for reference, the model with the published parameter set can be downloaded below as Body_Size_Control_Published_Parameters.xml.

We have digitized the published results from Fig.1 in the publication, using PlotDigitizer 3.1.6, 2025. Numerically differentiating the digitized curves and then inserting values for derivatives as well as variables into both sides of the equations revealed that the time unit was rescaled by a factor 20 throughout and that parameter values of $k_2$ and $k_3$ had been swapped during the paper’s editing/production process. That latter swapping resulted in a much higher activator production rate and hence the initially diverging dynamics. Reverting this swapping error from the paper, the correct parameter set thus is: $k_1 = 1.0, k_2 = 0.0001, k_3 = 0.9, k_4 = 0.5, k_5 = 800$. This correct model (named Body_Size_Control_Corrected_Parameters_main.xml) is the main one of three model files that are available for download below. The initial conditions were published correctly.

Results

The originally published results are shown as red, purple, green curves in Fig.2 below. Superimposed are white-dashed curves that were obtained with the corrected parameter set and these finally reproduce the published results.

Figure 2: Concentration time courses for the activator (*A*), inhibitor (*B*) and cell number on linear scale (*C*) and log10 scale (*D*). Magenta curves result from published parameter values and differ from the other colored curves which were published in [Fig.1 of the original paper](#reference). After correcting the parameter values, the white-dashed curves were obtained and these finally reproduce the published results.
Figure 2: Concentration time courses for the activator (A), inhibitor (B) and cell number on linear scale (C) and log10 scale (D). Magenta curves result from published parameter values and differ from the other colored curves which were published in Fig.1 of the original paper. After correcting the parameter values, the white-dashed curves were obtained and these finally reproduce the published results.

As demonstrated in Fig.3 of the original paper, the cell number may be perturbed during growth and, yet, a subsequent regeneration behavior restores a similar size as in the unperturbed case in the figure above. This regeneration scenario and corresponding plots are provided in a separate model file, named Body_Size_Control_Corrected_Parameters_regeneration.xml. The results obtained by this regeneration model are shown below and also reproduce the published results from Fig.3 of the original paper.

Figure 3: Model simulation as in previous figure but with perturbation at Time=1.4 that resets cell number to 300 but keeps activator and inhibitor unchanged (see unperturbed purple curve). The cell number (green curve) regenerates to a similar size as in the unperturbed scenario in the previous figure. Also these regeneration results reproduce the published results from [Fig.3 of the original paper](#reference).
Figure 3: Model simulation as in previous figure but with perturbation at Time=1.4 that resets cell number to 300 but keeps activator and inhibitor unchanged (see unperturbed purple curve). The cell number (green curve) regenerates to a similar size as in the unperturbed scenario in the previous figure. Also these regeneration results reproduce the published results from Fig.3 of the original paper.

Reference

This model reproduces a published result, originally obtained with a different simulator:

H. F. Nijhout: The control of body size in insects. Dev. Biol. 261 (1): 1-9, 2003.

Model

Get this model via:

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

    <?xml version='1.0' encoding='UTF-8'?>
    <MorpheusModel version="4">
        <Description>
            <Title>Body size control</Title>
            <Details>Model ID:	https://identifiers.org/morpheus/M6767
      File type:	Main model
      Software:	Morpheus (open source). Download from: https://morpheus.gitlab.io
    Full title:	Larvae Growth 
    Authors:	H. F. Nijhout
    Submitter:	J. D. Halbauer, A. L. Marienfeld
    Curator:	L. Brusch, D. Jahn
    Date:	04.12.2025
    Reference:	H. F. Nijhout: The control of body size in insects. Dev. Biol. 261 (1): 1-9, 2003. https://doi.org/10.1016/S0012-1606(03)00276-8
    	This model reproduces a published result, originally obtained with a different simulator.</Details>
        </Description>
        <Global>
            <Variable symbol="N" name="Cell number" value="10.0"/>
            <Variable symbol="A" name="[activator]" value="100.0"/>
            <Variable symbol="I" name="[inhibitor]" value="1.0"/>
            <System time-step="1e-3" solver="Dormand-Prince [adaptive, O(5)]">
                <Constant symbol="k1" value="1.0"/>
                <Constant symbol="k2" value="0.0001"/>
                <Constant symbol="k3" value="0.9"/>
                <Constant symbol="k4" value="0.5"/>
                <Constant symbol="k5" value="800.0"/>
                <DiffEqn symbol-ref="N">
                    <Expression>k1*A*N</Expression>
                </DiffEqn>
                <DiffEqn symbol-ref="A">
                    <Expression>k2*N-k3*I*A</Expression>
                </DiffEqn>
                <DiffEqn symbol-ref="I">
                    <Expression>k4*N-k5*I</Expression>
                </DiffEqn>
            </System>
        </Global>
        <Space>
            <Lattice class="square">
                <Size symbol="size" value="1,1,0"/>
                <Neighborhood>
                    <Order>1</Order>
                </Neighborhood>
            </Lattice>
            <SpaceSymbol symbol="space"/>
        </Space>
        <Time>
            <StartTime value="0"/>
            <StopTime value="3.2/20"/>
            <TimeSymbol symbol="time"/>
        </Time>
        <Analysis>
            <Logger time-step="1e-3">
                <Input>
                    <Symbol symbol-ref="A"/>
                    <Symbol symbol-ref="I"/>
                    <Symbol symbol-ref="N"/>
                </Input>
                <Output>
                    <TextOutput file-format="csv"/>
                </Output>
                <Plots>
                    <Plot time-step="-1">
                        <Style style="lines" line-width="4.0"/>
                        <Terminal terminal="png"/>
                        <X-axis minimum="0.0" maximum="3.2">
                            <Symbol symbol-ref="time_scaled_as_published"/>
                        </X-axis>
                        <Y-axis minimum="0.0" maximum="110.0">
                            <Symbol symbol-ref="A"/>
                        </Y-axis>
                    </Plot>
                    <Plot time-step="-1">
                        <Style style="lines" line-width="4.0"/>
                        <Terminal terminal="png"/>
                        <X-axis minimum="0.0" maximum="3.2">
                            <Symbol symbol-ref="time_scaled_as_published"/>
                        </X-axis>
                        <Y-axis minimum="0.0" maximum="130.0">
                            <Symbol symbol-ref="I"/>
                        </Y-axis>
                    </Plot>
                    <Plot time-step="-1">
                        <Style style="lines" line-width="4.0"/>
                        <Terminal terminal="png"/>
                        <X-axis minimum="0.0" maximum="3.2">
                            <Symbol symbol-ref="time_scaled_as_published"/>
                        </X-axis>
                        <Y-axis>
                            <Symbol symbol-ref="N"/>
                        </Y-axis>
                    </Plot>
                    <Plot time-step="-1">
                        <Style style="lines" line-width="4.0"/>
                        <Terminal terminal="gif"/>
                        <X-axis minimum="0.0" maximum="3.2">
                            <Symbol symbol-ref="time_scaled_as_published"/>
                        </X-axis>
                        <Y-axis logarithmic="true">
                            <Symbol symbol-ref="N"/>
                        </Y-axis>
                    </Plot>
                </Plots>
            </Logger>
            <ModelGraph include-tags="#untagged" format="svg" reduced="false"/>
            <Function symbol="time_scaled_as_published" name="Time">
                <Expression>time*20</Expression>
            </Function>
        </Analysis>
    </MorpheusModel>
    
    

    Model Graph
    Model Graph

    Downloads

    Files associated with this model:

    Next