Skip to content
New issue

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

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

Already on GitHub? # to your account

CARCADE refactor into v3 #101

Draft
wants to merge 197 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
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Integrate CARCADE into v3
1 participant