Skip to content

Add Flystem Cells - #220

Merged
Jannetty merged 81 commits into
mainfrom
feature/flystem-mergebranch
Oct 21, 2026
Merged

Jannetty merged 81 commits into
mainfrom
feature/flystem-mergebranch

Conversation

@Jannetty

@Jannetty Jannetty commented Apr 12, 2026 •

Copy link
Copy Markdown
Member

Estimated time to review: Large (sorry)

Summary of changes:
This code adds the fly neuroblast code into the codebase. The changes include:

  • Adding fly stem cell classes to the potts cell container convert method so convert can call the PottsCellFlyStem constructor when the stem cell classes are specified in the constructor.
  • Adding PottsCellFlyStem class (and test class)
  • Adding PottsCellFlyStemProliferation module which includes all plane of division logic, growth rate regulation logic, differentiation logic (and tests)
  • Made getUniqueIDs a public function for all implementations so that the PottsCellFlyStemProliferation module can use it to determine the identities of neighboring cells
  • Adding parameters needed for PottsCellFlyStem and PottsCellFlyStemProliferationModule

How to verify changes:

  • run tests
  • Here is a minimal neuroblast setup file which you can run on this branch:
<set prefix="2025-10-23-01">
    <series name="dd" start="1" end="1"
            ds=".3" margin="0" height="1" length="802" width="802"
            dt=".083" ticks="576" interval="4">
        <potts>
            <potts.term id="volume" />
            <potts.term id="adhesion" />
            <potts.term id="surface" />
        </potts>
        <agents>
            <populations>
                <population id="fly-stem-wt" class="fly-stem-wt" init="1" >
                    <population.link id="fly-gmc" weight="1"/>
                    <population.parameter id="proliferation/SIZE_TARGET" value="1.2" />
                    <population.parameter id="CRITICAL_VOLUME" value="52" units="um^3" conversion="DS^-3" />
                    <population.parameter id="proliferation/CELL_GROWTH_RATE" value="5" units="um^3/hour" conversion="DS^-3DT"/>
                    <population.parameter id="proliferation/BASAL_APOPTOSIS_RATE" value="0"/>
                    <population.parameter id="proliferation/DIV_ROTATION_DISTRIBUTION" value="NORMAL(MU=36,SIGMA=30)" />
                    <population.parameter id="proliferation/DIFFERENTIATION_RULESET" value="location" />
                    <population.parameter id="proliferation/DIFFERENTIATION_RULESET_EQUALITY_RANGE" value="10" />
                    <population.parameter id="proliferation/APICAL_AXIS_RULESET" value="uniform" />
                    <population.parameter id="proliferation/APICAL_AXIS_ROTATION_DISTRIBUTION" value="UNIFORM(MIN=0,MAX=360)" />
                    <population.parameter id= "proliferation/DYNAMIC_GROWTH_RATE_VOLUME" value="0" />
                    <population.parameter id= "proliferation/DYNAMIC_GROWTH_RATE_NB_CONTACT" value="0" />
                    <population.parameter id= "proliferation/VOLUME_BASED_CRITICAL_VOLUME" value="1" />
                </population>
                <population id="fly-gmc" class="fly-gmc" init="0">
                 <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.parameter id="proliferation/CELL_GROWTH_RATE" value="1.22" units="um^2/hour" conversion="DS^-2.DT"/>
                 <population.parameter id= "proliferation/DYNAMIC_GROWTH_RATE_VOLUME" value="0" />
                </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>

resolves #137
resolves #109
resolves #91
resolves #58
resolves #50

@Jannetty
Jannetty requested review from a team, allison-li-1016, cainja, daniellevahdat, jacob-evarts, jessicasyu, kristaphommatha and pohaoc2 and removed request for a team April 12, 2026 22:17
@Jannetty Jannetty self-assigned this Apr 12, 2026

@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.

I have a couple clarification questions -- will take a deeper look into the tests after clarification.

Jannetty and others added 22 commits September 24, 2026 15:51
…s, change NB sweep to look for instanceOf PottsCellFlyStem, and change return to an int
Co-authored-by: Krista Phommatha <82790093+kristaphommatha@users.noreply.github.com>

@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.

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.

Everything LGTM!

@Jannetty
Jannetty merged commit 9441038 into main Oct 21, 2026
7 checks passed
@Jannetty
Jannetty deleted the feature/flystem-mergebranch branch October 21, 2026 18:01
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 priority: medium Non-urgent but important task size: large Estimated size of issue or PR is large type: feature Improvement or additions to the code base

Projects

None yet

3 participants