Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CARCADE refactor into v3 #101

Draft
wants to merge 102 commits into
base: main
Choose a base branch
from
Draft

Conversation

allison-li-1016
Copy link
Contributor

@allison-li-1016 allison-li-1016 commented Nov 15, 2024

Closes #40

Estimated Time: Ungodly, I am so sorry

Breakdown of changes

Parameters (#146)

parameter.patch.xml

  • T cell agent parameter values
  • CART metabolism rates
  • Inflammation module default values
  • Treat action default values

CART Agents and associated classes (#145)

Implemented T cell agents as the original CARCADE model. PatchCellCART is the abstract class, and PatchCellCARTCD4 and PatchCellCARTCD8 contains the cell rules.

PatchCellCART

  • Has bindTarget() method that determines if the cell can bind to a target depending on target cell surface antigens, and number of receptors on T cell

PatchCellCARTCD4

  • Steps through CART metabolism and inflammation modules. Cell can become stimulatory

PatchCellCARTCD8

  • Steps through CART metabolism and inflammation modules. Cell can become cytotoxic and kill target cells

PatchCellCARTCD4Test, PatchCellCARTCD8Test

  • added unit tests for aforementioned agents

File Change Descriptions:

PatchCellContainer

  • Added cd4 and cd8 option in convert() method to include new cell agents

PatchModuleProliferation

  • While splitting added update to inflammation module for new T cells

PatchGrid

  • changed confluency limit from 6 to 54 to match T cell proliferation rates

PatchEnums

  • Added T cell states to state enums
  • Added inflammation to domain enums
  • Added new AntigenFlag enum to record cell binding status

Reset Action (#144)

PatchActionReset class:

  • As implemented in original CARCADE model. The purpose of this action is to reset T cells after they are stimulated or cytotoxic. The action returns the cell state to quiescent, and for cytotoxic T cells, unbinds the T cell from the target cell.

PatchActionReset class:

  • Add unit tests to verify basic functionality of the action.

Kill Action (#143)

PatchActionKill class:

  • Implemented as original CARCADE model action
  • Action that is called when CD8 CART cells are cytotoxic, and binds to and kills a target cell.
  • If the cd8 cell has enough granzyme, the target cell is set to an apoptotic state, and the granzyme is depleted

PatchActionKillTest class:

  • Added unit tests to verify functionality of the class

Inflammation Modules (#142)

All inflammation modules are implemented as they were in the original CARCADE model. Certain functions are swapped out for the V3 equivalent.

PatchProcessInflammation class:

  • Implementation of inflammation ODEs in which IL-2 is taken up by T cells, and T cell can undertake cytotoxic or stimulatory functions

PatchProcessInflammationCD4 class:

  • CD4 version of inflammation that determines IL-2 produced for stimulatory functions

PatchProcessInflammationCD8 class:

  • CD8 version of inflammation that determines granzyme amount produced by the cytotoxic state, as determined by IL-2 bound and activation status

PatchProcessInflammationTest, PatchProcessInflammationCD4Test, PatchProcessInflammationTestCD8 classes:

  • added unit tests for each class to verify functionality

Metabolism Modules (#141)

PatchProcess Metabolism class:

  • added CART option in make() method to allow for new metabolism type

PatchProcessMetabolismCART class:

  • As implemented in original CARCADE model
  • There is an up-regulated glucose uptake rate and metabolic preference depending on the activation status of the cell. The activation status of the cell is determined by the inflammation process.

PatchProcessMetabolismCARTTest class:

  • added unit tests to verify functionality of the CART metabolism class

Treat Action (#140)

PatchActionTreat class:

  • adds CAR T-cell agents of specified dose (number of T cells) and ratio (fraction of cd8 to cd4 T cells) next to source points or vasculature
  • follows implementation in original CARCADE model

PatchSimulationHex class:

  • add option to make Treat action

PatchSimulationRect class:

  • add option to make Treat action

PatchActionTreatTest class:

  • unit tests to verify functionality of treat action

Patch Cell Classes (#139)

PatchCell class:

  • moved step() method down a level to subclasses. The purpose of this is to allow for non-tissue agents to have unique rules that does not necessarily follow existing rule set.
  • some fields are now protected instead of private to allow subclass visibility since step() function is now in subclasses.
  • addition of inflammation module option when assigning processes
  • addition of isStopped() method that returns whether or not this cell has stopped stepping. This is important because when T cells are binding to a target, it should not bind to a cell that has stopped stepping in the simulation.

PatchCellTissue class:

  • Addition of CAR antigens field that represents the number of CAR antigens on the cell.
  • Addition of PDL1 antigens field that represents the number of PDL1 antigens on the cell.
  • Binding field that stores the binding status of this cell (ex. bound, unbound, etc.)
  • step() method has moved from PatchCell class to this class. Everything inside the step() method remains the same as before.

PatchCellCancer class:

  • Addition of CAR antigens field that represents the number of CAR antigens on the cell.

PatchCellTest class:

  • Changed PatchCellMock to now extend PatchCellTissue instead of PatchCell because of moving of step() function down to subclass

allison-li-1016 and others added 30 commits October 23, 2023 14:13
…factor

include newest patch updates into refactor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Integrate CARCADE into v3
1 participant