Skip to content

Commit

Permalink
tidying up example
Browse files Browse the repository at this point in the history
  • Loading branch information
MathCancer committed Jul 18, 2024
1 parent 786912a commit 111db08
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 52 deletions.
66 changes: 33 additions & 33 deletions config/PhysiCell_settings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
</domain>

<overall>
<max_time units="min">360</max_time>
<max_time units="min">720</max_time>
<time_units>min</time_units>
<space_units>micron</space_units>
<dt_diffusion units="min">0.01</dt_diffusion>
Expand Down Expand Up @@ -48,20 +48,20 @@
</options>

<microenvironment_setup>
<variable name="oxygen" units="dimensionless" ID="0">
<variable name="doxorubicin" units="dimensionless" ID="0">
<physical_parameter_set>
<diffusion_coefficient units="micron^2/min">100000.0</diffusion_coefficient>
<decay_rate units="1/min">0.1</decay_rate>
<diffusion_coefficient units="micron^2/min">1000</diffusion_coefficient>
<decay_rate units="1/min">0</decay_rate>
</physical_parameter_set>
<initial_condition units="mmHg">38</initial_condition>
<Dirichlet_boundary_condition units="mmHg" enabled="True">38</Dirichlet_boundary_condition>
<initial_condition units="none">1</initial_condition>
<Dirichlet_boundary_condition units="none" enabled="True">1</Dirichlet_boundary_condition>
<Dirichlet_options>
<boundary_value ID="xmin" enabled="True">20</boundary_value>
<boundary_value ID="xmax" enabled="True">20</boundary_value>
<boundary_value ID="ymin" enabled="True">20</boundary_value>
<boundary_value ID="ymax" enabled="True">20</boundary_value>
<boundary_value ID="zmin" enabled="False">38</boundary_value>
<boundary_value ID="zmax" enabled="False">38</boundary_value>
<boundary_value ID="xmin" enabled="True">1</boundary_value>
<boundary_value ID="xmax" enabled="True">1</boundary_value>
<boundary_value ID="ymin" enabled="True">1</boundary_value>
<boundary_value ID="ymax" enabled="True">1</boundary_value>
<boundary_value ID="zmin" enabled="False">0</boundary_value>
<boundary_value ID="zmax" enabled="False">0</boundary_value>
</Dirichlet_options>
</variable>
<variable name="apoptotic debris" units="dimensionless" ID="1">
Expand Down Expand Up @@ -217,22 +217,22 @@
<maximum_number_of_attachments units="none">6</maximum_number_of_attachments>
</mechanics>
<motility>
<speed units="micron/min">0.1</speed>
<speed units="micron/min">0</speed>
<persistence_time units="min">1</persistence_time>
<migration_bias units="dimensionless">.5</migration_bias>
<options>
<enabled>true</enabled>
<enabled>false</enabled>
<use_2D>true</use_2D>
<chemotaxis>
<enabled>false</enabled>
<substrate>oxygen</substrate>
<substrate>doxorubicin</substrate>
<direction>1</direction>
</chemotaxis>
<advanced_chemotaxis>
<enabled>true</enabled>
<normalize_each_gradient>false</normalize_each_gradient>
<chemotactic_sensitivities>
<chemotactic_sensitivity substrate="oxygen">1</chemotactic_sensitivity>
<chemotactic_sensitivity substrate="doxorubicin">0</chemotactic_sensitivity>
<chemotactic_sensitivity substrate="apoptotic debris">0.0</chemotactic_sensitivity>
<chemotactic_sensitivity substrate="necrotic debris">0.0</chemotactic_sensitivity>
<chemotactic_sensitivity substrate="pro-inflammatory factor">0.0</chemotactic_sensitivity>
Expand All @@ -242,7 +242,7 @@
</options>
</motility>
<secretion>
<substrate name="oxygen">
<substrate name="doxorubicin">
<secretion_rate units="1/min">0</secretion_rate>
<secretion_target units="substrate density">1</secretion_target>
<uptake_rate units="1/min">10</uptake_rate>
Expand Down Expand Up @@ -318,7 +318,7 @@
</cell_transformations>
<cell_integrity>
<damage_rate units="1/min">0.0</damage_rate>
<damage_repair_rate units="1/min">0.0</damage_repair_rate>
<damage_repair_rate units="1/min">0.1</damage_repair_rate>
</cell_integrity>
</phenotype>
<custom_data>
Expand Down Expand Up @@ -406,14 +406,14 @@
<use_2D>true</use_2D>
<chemotaxis>
<enabled>false</enabled>
<substrate>oxygen</substrate>
<substrate>doxorubicin</substrate>
<direction>1</direction>
</chemotaxis>
<advanced_chemotaxis>
<enabled>true</enabled>
<normalize_each_gradient>false</normalize_each_gradient>
<chemotactic_sensitivities>
<chemotactic_sensitivity substrate="oxygen">0.0</chemotactic_sensitivity>
<chemotactic_sensitivity substrate="doxorubicin">0.0</chemotactic_sensitivity>
<chemotactic_sensitivity substrate="apoptotic debris">1</chemotactic_sensitivity>
<chemotactic_sensitivity substrate="necrotic debris">1</chemotactic_sensitivity>
<chemotactic_sensitivity substrate="pro-inflammatory factor">0.0</chemotactic_sensitivity>
Expand All @@ -423,7 +423,7 @@
</options>
</motility>
<secretion>
<substrate name="oxygen">
<substrate name="doxorubicin">
<secretion_rate units="1/min">0.0</secretion_rate>
<secretion_target units="substrate density">1.0</secretion_target>
<uptake_rate units="1/min">10</uptake_rate>
Expand Down Expand Up @@ -585,14 +585,14 @@
<use_2D>true</use_2D>
<chemotaxis>
<enabled>false</enabled>
<substrate>oxygen</substrate>
<substrate>doxorubicin</substrate>
<direction>1</direction>
</chemotaxis>
<advanced_chemotaxis>
<enabled>true</enabled>
<normalize_each_gradient>false</normalize_each_gradient>
<chemotactic_sensitivities>
<chemotactic_sensitivity substrate="oxygen">0.0</chemotactic_sensitivity>
<chemotactic_sensitivity substrate="doxorubicin">0.0</chemotactic_sensitivity>
<chemotactic_sensitivity substrate="apoptotic debris">1</chemotactic_sensitivity>
<chemotactic_sensitivity substrate="necrotic debris">1</chemotactic_sensitivity>
<chemotactic_sensitivity substrate="pro-inflammatory factor">0.0</chemotactic_sensitivity>
Expand All @@ -602,7 +602,7 @@
</options>
</motility>
<secretion>
<substrate name="oxygen">
<substrate name="doxorubicin">
<secretion_rate units="1/min">0.0</secretion_rate>
<secretion_target units="substrate density">1.0</secretion_target>
<uptake_rate units="1/min">10</uptake_rate>
Expand Down Expand Up @@ -765,14 +765,14 @@
<use_2D>true</use_2D>
<chemotaxis>
<enabled>false</enabled>
<substrate>oxygen</substrate>
<substrate>doxorubicin</substrate>
<direction>1</direction>
</chemotaxis>
<advanced_chemotaxis>
<enabled>true</enabled>
<normalize_each_gradient>false</normalize_each_gradient>
<chemotactic_sensitivities>
<chemotactic_sensitivity substrate="oxygen">0.0</chemotactic_sensitivity>
<chemotactic_sensitivity substrate="doxorubicin">0.0</chemotactic_sensitivity>
<chemotactic_sensitivity substrate="apoptotic debris">1</chemotactic_sensitivity>
<chemotactic_sensitivity substrate="necrotic debris">1</chemotactic_sensitivity>
<chemotactic_sensitivity substrate="pro-inflammatory factor">0.0</chemotactic_sensitivity>
Expand All @@ -782,7 +782,7 @@
</options>
</motility>
<secretion>
<substrate name="oxygen">
<substrate name="doxorubicin">
<secretion_rate units="1/min">0.0</secretion_rate>
<secretion_target units="substrate density">1.0</secretion_target>
<uptake_rate units="1/min">10</uptake_rate>
Expand Down Expand Up @@ -945,14 +945,14 @@
<use_2D>true</use_2D>
<chemotaxis>
<enabled>false</enabled>
<substrate>oxygen</substrate>
<substrate>doxorubicin</substrate>
<direction>1</direction>
</chemotaxis>
<advanced_chemotaxis>
<enabled>true</enabled>
<normalize_each_gradient>false</normalize_each_gradient>
<chemotactic_sensitivities>
<chemotactic_sensitivity substrate="oxygen">0.0</chemotactic_sensitivity>
<chemotactic_sensitivity substrate="doxorubicin">0.0</chemotactic_sensitivity>
<chemotactic_sensitivity substrate="apoptotic debris">0</chemotactic_sensitivity>
<chemotactic_sensitivity substrate="necrotic debris">0</chemotactic_sensitivity>
<chemotactic_sensitivity substrate="pro-inflammatory factor">1</chemotactic_sensitivity>
Expand All @@ -962,7 +962,7 @@
</options>
</motility>
<secretion>
<substrate name="oxygen">
<substrate name="doxorubicin">
<secretion_rate units="1/min">0.0</secretion_rate>
<secretion_target units="substrate density">1.0</secretion_target>
<uptake_rate units="1/min">10</uptake_rate>
Expand Down Expand Up @@ -1125,14 +1125,14 @@
<use_2D>true</use_2D>
<chemotaxis>
<enabled>false</enabled>
<substrate>oxygen</substrate>
<substrate>doxorubicin</substrate>
<direction>1</direction>
</chemotaxis>
<advanced_chemotaxis>
<enabled>true</enabled>
<normalize_each_gradient>false</normalize_each_gradient>
<chemotactic_sensitivities>
<chemotactic_sensitivity substrate="oxygen">0.0</chemotactic_sensitivity>
<chemotactic_sensitivity substrate="doxorubicin">0.0</chemotactic_sensitivity>
<chemotactic_sensitivity substrate="apoptotic debris">0</chemotactic_sensitivity>
<chemotactic_sensitivity substrate="necrotic debris">0</chemotactic_sensitivity>
<chemotactic_sensitivity substrate="pro-inflammatory factor">0.0</chemotactic_sensitivity>
Expand All @@ -1142,7 +1142,7 @@
</options>
</motility>
<secretion>
<substrate name="oxygen">
<substrate name="doxorubicin">
<secretion_rate units="1/min">0.0</secretion_rate>
<secretion_target units="substrate density">1.0</secretion_target>
<uptake_rate units="1/min">10</uptake_rate>
Expand Down
6 changes: 5 additions & 1 deletion config/cell_rules.csv
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,8 @@
//
// 0 1 2 3 4 5 6 7
// Cell type, signal, direction, behavior, max response value, half-max, Hill power, applies to dead?
tumor cell,damage,increases,apoptosis,9e9,30,100,0
tumor cell,damage,increases,apoptosis,9e9,30,100,0
tumor cell,apoptotic,increases,apoptotic debris secretion,1,0.5,10,1
tumor cell,necrotic,increases,necrotic debris secretion,1,0.5,10,1
// tumor cell,doxorubicin,increases,damage rate,1,0.5,4,0
tumor cell,time,decreases,damage repair rate,0,100,10,0
38 changes: 20 additions & 18 deletions config/cells.csv
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
x,y,z,type,apoptosis,necrosis,migration speed,phagocytose apoptotic cell,phagocytose necrotic cell,attack tumor cell,attack duration,attack damage rate
0,0,0,tumor cell,9e9,0,0,0,0,skip,skip,skip
15,0,0,macrophage,skip,skip,0,0.05,0.000000,skip,skip,skip
100,0,0,tumor cell,0,9e9,0,0,0,skip,skip,skip
115,0,0,macrophage,skip,skip,0,0.0000000,0.05,skip,skip,skip
100,100,0,fast T cell,skip,skip,0,0.00000,0.00,0.025,5,1
115,100,0,tumor cell,0,0,0,0,0,skip,skip,skip
107.5,113,0,tumor cell,0,0,0,0,0,skip,skip,skip
107.5,87,0,tumor cell,0,0,0,0,0,skip,skip,skip
100,115,0,tumor cell,0,0,0,0,0,skip,skip,skip
100,85,0,tumor cell,0,0,0,0,0,skip,skip,skip
92.5,113,0,tumor cell,0,0,0,0,0,skip,skip,skip
92.5,87,0,tumor cell,0,0,0,0,0,skip,skip,skip
85,100,0,tumor cell,0,0,0,0,0,skip,skip,skip
-100,100,0,tumor cell,0,0,0,0,0,skip,skip,skip
-100,85,0,fast T cell,skip,skip,0,0.00000,0.00,0.025,5,1
-100,115,0,fast T cell,skip,skip,0,0.00000,0.00,0.025,5,1
-115,115,0,fast T cell,skip,skip,0,0.00000,0.00,0.025,5,1
x,y,z,type,apoptosis,necrosis,migration speed,phagocytose apoptotic cell,phagocytose necrotic cell,attack tumor cell,attack duration,attack damage rate,damage rate,damage repair rate
0,0,0,tumor cell,9e9,0,0,0,0,skip,skip,skip,1,0
15,0,0,macrophage,skip,skip,0,0.05,0.000000,skip,skip,skip,skip,skip
100,0,0,tumor cell,0,9e9,0,0,0,skip,skip,skip,skip,skip
115,0,0,macrophage,skip,skip,0,0.0000000,0.05,skip,skip,skip,skip,skip
100,100,0,fast T cell,skip,skip,0,0.00000,0.00,0.025,5,1,skip,skip
115,100,0,tumor cell,0,0,0,0,0,skip,skip,skip,skip,skip
107.5,113,0,tumor cell,0,0,0,0,0,skip,skip,skip,skip,skip
107.5,87,0,tumor cell,0,0,0,0,0,skip,skip,skip,skip,skip
100,115,0,tumor cell,0,0,0,0,0,skip,skip,skip,skip,skip
100,85,0,tumor cell,0,0,0,0,0,skip,skip,skip,skip,skip
92.5,113,0,tumor cell,0,0,0,0,0,skip,skip,skip,skip,skip
92.5,87,0,tumor cell,0,0,0,0,0,skip,skip,skip,skip,skip
85,100,0,tumor cell,0,0,0,0,0,skip,skip,skip,skip,skip
-100,100,0,tumor cell,0,0,0,0,0,skip,skip,skip,skip,skip
-100,85,0,fast T cell,skip,skip,0,0.00000,0.00,0.025,5,1,skip,skip
-100,115,0,fast T cell,skip,skip,0,0.00000,0.00,0.025,5,1,skip,skip
-115,100,0,fast T cell,skip,skip,0,0.00000,0.00,0.025,5,1,skip,skip
-85,100,0,fast T cell,skip,skip,0,0.00000,0.00,0.025,5,1,skip,skip
0,-100,0,tumor cell,9e9,0,0,0,0,skip,skip,skip,1,0.05
7 changes: 7 additions & 0 deletions custom_modules/custom.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -207,13 +207,20 @@ std::vector<std::string> my_coloring_function( Cell* pCell )
double damage = get_single_signal( pCell , "damage");
double max_damage = 30;
int color = (int) round( 255.0 * damage / max_damage );
if( color > 255 )
{ color = 255; }

if( get_single_signal(pCell,"dead") < 0.5 )
{
std::string blah = "rgb(" + std::to_string(color) + "," + std::to_string(color) + "," + std::to_string(255-color) + ")";
out[0] = blah;
out[2] = blah;
out[3] = blah;

if( damage > 30 )
{
std::cout << "\t" << damage << " " << get_single_behavior( pCell , "apoptosis" ) << std::endl;
}
}
return out;
}
Expand Down

0 comments on commit 111db08

Please sign in to comment.