Skip to content

Update GMC Proliferation Module - #219

Merged
Jannetty merged 19 commits into
mainfrom
feature/proliferation-refactor
Aug 20, 2026
Merged

Update GMC Proliferation Module#219
Jannetty merged 19 commits into
mainfrom
feature/proliferation-refactor

Conversation

@Jannetty

@Jannetty Jannetty commented Apr 12, 2026

Copy link
Copy Markdown
Member

Estimated time to review: Medium

Summary of changes:
In general this PR adds volume-sensitive growth for the fly GMC cells (which the Neuroblasts will also use)

  • Add default sigmoid volume-based growth for PottsModuleProliferationVolumeBasedDivision if growth rate is set to be volume sensitive
  • Add framework for simulating PDE-like growth where cell growth rate is regulated by average cell volume I REMOVED THIS THIS IS NO LONGER IN THIS PR
  • Added growth rate updating function for GMCs
  • Added necessary parameters for volume-sensitive growth rate and PDE-like growth

How to verify changes:

  • run tests (PottsModuleProliferationVolumeBasedDivisionTest and PottsModuleFlyGMCDifferentiationTest)
    Here is a minimal GMC setup file:
<set prefix="2024-10-25-04">
    <series name="dd" start="1" end="1"
            ds=".3" margin="0" height="1" length="302" width="302"
            dt=".083" ticks="576" interval="4">
        <potts>
            <potts.term id="volume" />
            <potts.term id="adhesion" />
            <potts.term id="surface" />
            <!-- <potts.term id="persistence" /> -->
            <!-- <potts.parameter term="adhesion" id="ADHESION" value="80" target="fly-neuron:*"/>
            <potts.parameter term="adhesion" id="ADHESION" value="80" target="fly-gmc:*"/> -->
        </potts>
        <agents>
            <populations>
                <population id="fly-gmc" class="fly-gmc" init="1">
                 <population.link id="fly-neuron" weight="1"/>
                 <population.parameter id="proliferation/BASAL_APOPTOSIS_RATE" value="0"/>
                 <population.parameter id="CRITICAL_VOLUME" value="11" units="um^3" conversion="DS^-3" />
                </population>
                <population id="fly-neuron" class="fly-neuron" init="0">
                <population.parameter id="proliferation/CELL_GROWTH_RATE" value="0"/>
                <population.parameter id="proliferation/BASAL_APOPTOSIS_RATE" value="0"/>
                <population.parameter id="CRITICAL_VOLUME" value="11" units="um^3" conversion="DS^-3" />
                </population>
            </populations>
        </agents>
    </series>
</set>

You can add/adjust the following parameters and run simulations:

<population.parameter id="proliferation/DYNAMIC_GROWTH_RATE_VOLUME" value="1"/>
<population.parameter id="proliferation/GROWTH_RATE_VOLUME_SENSITIVITY" value="4.0"/>

Dynamic growth rate volume is a boolean you can turn on and off. When on (1) small cells grow slower than big cells.
Growth rate volume sensitivity is the exponent that determines the slope of the sigmoid (essentially the hill coefficient) dictating how sensitive the growth rate is to the cell's volume.
PDELIKE is a boolean that, when on, makes the cell growth rate a function of the average GMC volume across all GMCs in the simulation.

@Jannetty Jannetty changed the title Add updateGrowthRate framework and make getUniqueIDs public Update GMC Proliferation Module Apr 12, 2026
@Jannetty
Jannetty requested review from a team, afu5, allison-li-1016, cainja, jacob-evarts, jessicasyu, kristaphommatha and pohaoc2 and removed request for a team April 12, 2026 05:49
@Jannetty Jannetty self-assigned this Apr 12, 2026
@Jannetty Jannetty added type: feature Improvement or additions to the code base package: potts Related to the potts implementation category: agent Related to the agent subpackages size: medium Estimated size of issue or PR is medium labels Apr 12, 2026
@Jannetty
Jannetty marked this pull request as ready for review April 12, 2026 05:50
This was referenced Apr 12, 2026
Comment thread src/arcade/potts/agent/module/PottsModuleFlyGMCDifferentiation.java Outdated
Comment thread src/arcade/potts/agent/module/PottsModuleFlyGMCDifferentiation.java
Comment thread src/arcade/potts/parameter.potts.xml Outdated
Comment thread src/arcade/potts/agent/module/PottsModuleFlyGMCDifferentiation.java Outdated
Comment thread src/arcade/potts/parameter.potts.xml Outdated
Comment thread test/arcade/potts/agent/module/PottsModuleFlyGMCDifferentiationTest.java Outdated
Comment thread src/arcade/potts/parameter.potts.xml Outdated
Comment thread test/arcade/potts/agent/module/PottsModuleFlyGMCDifferentiationTest.java Outdated
Comment thread test/arcade/potts/agent/module/PottsModuleFlyGMCDifferentiationTest.java Outdated
@allison-li-1016

Copy link
Copy Markdown
Contributor

Finished my first pass of reviews - overall looks good but I have a couple of discussion points/questions to be resolved before approving

Comment thread src/arcade/potts/agent/cell/PottsCellFlyGMC.java Outdated
Comment thread src/arcade/potts/agent/module/PottsModuleFlyGMCDifferentiation.java Outdated
Comment thread src/arcade/potts/agent/module/PottsModuleFlyGMCDifferentiation.java Outdated

@kristaphommatha kristaphommatha left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Just one quick question about one of the changes 😺

Comment thread src/arcade/potts/agent/module/PottsModuleFlyGMCDifferentiation.java

@allison-li-1016 allison-li-1016 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unit tests passed on my end and I ran the model and verified that the sensitivity param is ignored when the boolean is 0. My comments are pretty minor across the board so this looks good to me

@kristaphommatha kristaphommatha left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! Thanks for answering my questions!

@Jannetty
Jannetty merged commit 8100e63 into main Aug 20, 2026
7 checks passed
@Jannetty
Jannetty deleted the feature/proliferation-refactor branch August 20, 2026 20:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category: agent Related to the agent subpackages package: potts Related to the potts implementation size: medium Estimated size of issue or PR is medium type: feature Improvement or additions to the code base

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants