Skip to content

Commit 036cb18

Browse files
committed
update readme, changes, and versions
1 parent 6356dd2 commit 036cb18

File tree

97 files changed

+261
-329
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+261
-329
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
VERSION := 1.3.1
1+
VERSION := 1.3.2
22
PROGRAM_NAME := project
33

44
CC := g++

README.txt

Lines changed: 12 additions & 147 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
PhysiCell: an Open Source Physics-Based Cell Simulator for 3-D
22
Multicellular Systems.
33

4-
Version: 1.3.1
5-
Release date: 31 July 2018
4+
Version: 1.3.2
5+
Release date: 24 August 2018
66

77
Overview:
88
PhysiCell is a flexible open source framework for building
@@ -61,168 +61,33 @@ See changes.txt for the full change log.
6161

6262
Release summary:
6363

64-
This release introduces a new cycle model with an active cycling
65-
state and a quiescent state. It also adds new functions to the
66-
Mechanics class to make it easier to modify the cell-cell interaction
67-
distance (while maintaining equilibrium cell-cell spacing), or
68-
to modify the equilibrium cell-cell spacing. The release also
69-
includes major reliability and performance improvements to
70-
how gradients are calculated.
71-
72-
As usual, the release also contains minor bugfixes and
73-
improvements.
64+
This release fixes a small gradient bug that I swear I had fixed before.
7465

7566
NOTE: OSX users must now define PHYSICELL_CPP system variable.
7667
See the documentation.
7768

7869
Major new features and changes:
7970

80-
+ Implemented a new cell cycle model (cycling_quiescent),
81-
where quiescent cells can enter a cycling state. This
82-
model uses identical parameters to the Ki67-basic cycle
83-
model, but decouples the conceptual model from Ki67
84-
immunohistochemistry.
85-
86-
Updated the documentation and coloring functions accordingly.
87-
88-
Updated update_cell_and_death_parameters_O2_based() to
89-
support the new cycling_quiescent cycle model.
90-
91-
+ update_all_cells(t,dt,dt,dt) now checks to see if gradient
92-
calculations are enabled, and if so, computes it once per dt_mechanics.
93-
94-
This improves code performance by 2x to 3x in gradient-enabled codes,
95-
because we no longer need to calculate gradients once per dt_diffusion
96-
time step. (Gradients are only needed for cell velocity calculations,
97-
and occasionally for phenotype decisions.)
98-
99-
All sample projects have been updated to make use of this.
100-
101-
Also, removed the explicit gradient calculations from the template
102-
and sample projects.
103-
104-
+ Added a new function to Mechanics class to simplify changes to cell
105-
interaction distances:
106-
107-
void set_relative_maximum_adhesion_distance( double new_value );
108-
109-
Here, new_value is a multiple of the cell's (mean equivalent) radius.
110-
Our default is 1.25. This function preserves the cell's "repulsion"
111-
strength and adjusts the strength of cell-cell adhesion to maintain
112-
its prior equilibrium cell-cell spacing.
113-
114-
+ Added a new function to Mechanics class to simplify changes to cell
115-
equilibrium distances.
116-
117-
void set_relative_equilibrium_distance( double new_value );
118-
119-
Here, new_value is a multiple of the cell's (mean equivalent) radius.
120-
The default is around 1.9. This function preserves the cell's "repulsion"
121-
and the maximum interaction distance, and it adjusts the strength of
122-
cell-cell adhesion to match the new equilibrium cell-cell spacing.
123-
124-
Note that this function performs a "sanity check" to ensure that you have
125-
not given a value greater than 2.0.
126-
127-
+ Added a new function to Mechanics class to simplify changes to cell
128-
equilibrium distances.
129-
130-
void Mechanics::set_absolute_equilibrium_distance( Phenotype& phenotype,
131-
double new_value )
132-
133-
Here, new_value is the new equilibrium spacing (in units of microns).
134-
The function internally requires the cell's mean equivalent radius,
135-
and so you pass the cell's phenotype (by reference) as an additional
136-
argument.
137-
138-
Note that this function performs a "sanity check" to ensure that you have
139-
not given a value greater than 2.0 * mean_cell_radius.
140-
141-
Also note that PhysiCell internally uses a relative spacing, so the
142-
absolute spacing will change from the value you set, over time.
143-
144-
+ Updated User_Guide to reflect new cell cycle model,
145-
including reference parameters chosen for consistency with
146-
the other cycle models.
71+
+ none
14772

14873
Minor new features and changes:
14974

150-
+ Added the following constants to support the new cycle model
151-
152-
static const int cycling = 17;
153-
static const int quiescent = 18;
154-
static const int cycling_quiescent_model = 7;
155-
156-
+ Removed the (never-used) Mechanics.maximum_adhesion_distance.
157-
158-
+ Removed the legacy template_projects folder.
159-
160-
161-
Beta features (not fully supported):
162-
163-
+ Added a function pointer to the Cell_Functions class for intended
164-
contact-based cell-cell interaction, like delta-Notch signaling.
75+
+ none
16576

166-
void (*contact_function)(Cell* pMyself, Phenotype& my_phenotype,
167-
Cell* pOther, Phenotype& other_phenotype, double dt );
168-
169-
It would be up to the user to define these functions and decide
170-
if the functions modify pMyself, pOther, or both. For now,
171-
the code will initialize the pointer to NULL and won't use it.
77+
Beta features (not fully supported):
17278

173-
+ Open to comments on handling cell-cell contact functions. Here's what
174-
I have in mind:
175-
176-
notation: cell i interacts with cell j with function f(i,j).
177-
178-
Each cell agent can hold one contact-based interaction function f,
179-
to be stored as a pointer in the cell's instance of the Cell_Functions
180-
class.
181-
182-
We use the containers (and their interaction testing structures) to
183-
identify all interactions (i,j,f), and add it to a vector of interactions.
184-
The interaction (i,j,f) is added to the list so long as (j,i,f) is not
185-
already in the list, to avoid double-counting the interaction.
186-
187-
The code will seek through the "container" interaction testing
188-
data structure, probably at the cell mechanics time scale, and update /
189-
recreate the vector of contact-based interactions (i,j,f).
190-
191-
The code would likely go through the vector of interactions and
192-
execute the codes once per dt_diffusion time step, since I would
193-
imagine molecular biology (with faster time scales) is intended here.
194-
195-
Since f(i,j) can potentially modify both cell i and cell j, it's probably
196-
not thread-safe. So we'll probably need that in a non-parallel loop.
197-
198-
We will probably add a new time scale for interactions, dt_interactions,
199-
and update the interaction list on that time scale.
200-
201-
For faster checking if (i,j,f) or (j,i,f) is already in the vector,
202-
we'll probably want some sort of hash map in addition to the vector
203-
of interactions.
204-
205-
We'll probably implement this all in something like
206-
PhysiCell_contact_interctions.*, and add a global enable/disable option.
207-
I'd imagine we'd add code to the "update_all_cells" to keep this
208-
as simple to the users as possible.
209-
210-
We should probably update each cell's "neighbors" data structure at
211-
when we're doing all this testing.
212-
213-
In a longer-term update, we could leverage that for simpler interaction
214-
testing during velocity updates.
79+
+ none
21580

21681
Bugfixes:
21782

218-
+ Added missing "omp_set_num_threads(PhysiCell_settings.omp_num_threads)"
219-
in the main-heterogeneity.cpp file for the heterogeneity sample project.
220-
22183
+ In BioFVM, Microenvironment::compute_gradient_vector(int), removed "static"
22284
from "static std::vector<int> indices(3,0)" to prevent rare segfaults.
22385

224-
+ Changed <xml> root above the comment lines in output files for
225-
better Python parsing compatibility. Thanks, rheiland!
86+
+ In BioFVM, Microenvironment::compute_gradient_vector(int), replaced "static"
87+
for "bool gradient_constants_defined = false". Yep, I removed static from
88+
the wrong line in 1.3.1
89+
90+
+ Correct some errors in both the README.txt and changes.txt files.
22691

22792
Notices for intended changes that may affect backwards compatibility:
22893

changes.txt

Lines changed: 74 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,74 @@
1-
changes in next version
1+
=======================================================================
22

3+
PhysiCell: an Open Source Physics-Based Cell Simulator for 3-D
4+
Multicellular Systems.
5+
6+
Version: 1.3.2
7+
Release date: 24 August 2018
38

4-
bugfixes:
9+
Release summary:
10+
11+
This release fixes a small gradient bug that I swear I had fixed before.
12+
13+
NOTE: OSX users must now define PHYSICELL_CPP system variable.
14+
See the documentation.
15+
16+
Major new features and changes:
17+
18+
+ none
19+
20+
Minor new features and changes:
21+
22+
+ none
23+
24+
Beta features (not fully supported):
25+
26+
+ none
27+
28+
Bugfixes:
529

6-
MultiCellDS outputs used size 3 for all custom vector variables, instead
7-
of actual size. Fixed to read the size from the vector.
30+
+ In BioFVM, Microenvironment::compute_gradient_vector(int), removed "static"
31+
from "static std::vector<int> indices(3,0)" to prevent rare segfaults.
32+
33+
+ In BioFVM, Microenvironment::compute_gradient_vector(int), replaced "static"
34+
for "bool gradient_constants_defined = false". Yep, I removed static from
35+
the wrong line in 1.3.1
836

9-
Fixed the ostream operator for Vector_Variable to correctly output all
10-
the vector.value elements, rather than the original hard-coded output
11-
of 3 elements regardless of size.
37+
+ Correct some errors in both the README.txt and changes.txt files.
38+
39+
Notices for intended changes that may affect backwards compatibility:
40+
41+
+ None.
42+
43+
Planned future improvements:
44+
45+
+ Further XML-based simulation setup.
46+
47+
+ read saved simulation states (as MultiCellDS digital snapshots)
48+
49+
+ "mainline" prototype cell attach/detach mechanics as standard models
50+
(currently in the biorobots and immune examples)
51+
52+
+ integrate SBML-encoded systems of ODEs as custom data and functions
53+
for molecular-scale modeling
54+
55+
+ integrate Boolean network support from PhysiBoSS into the mainline code
56+
(See https://doi.org/10.1101/267070.)
57+
58+
+ Develop contact-based cell-cell interactions. (Likely in next release.)
59+
60+
+ Add a new standard phenotype function that uses mechanobiology,
61+
where high pressure can arrest cycle progression.
62+
(See https://twitter.com/MathCancer/status/1022555441518338048.)
63+
(Likely in next release.)
64+
65+
+ Add module for standardized pharmacodynamics, as prototyped in the
66+
nanobio project. (See https://nanohub.org/resources/pc4nanobio.)
67+
68+
+ create an angiogenesis sample project
69+
70+
+ create a small library of angiogenesis and vascularization codes as
71+
an optional standard module in ./modules (but not as a core component)
1272

1373
=======================================================================
1474

@@ -183,6 +243,13 @@ Bugfixes:
183243

184244
+ Changed <xml> root above the comment lines in output files for
185245
better Python parsing compatibility. Thanks, rheiland!
246+
247+
+ MultiCellDS outputs used size 3 for all custom vector variables, instead
248+
of actual size. Fixed to read the size from the vector.
249+
250+
+ Fixed the ostream operator for Vector_Variable to correctly output all
251+
the vector.value elements, rather than the original hard-coded output
252+
of 3 elements regardless of size.
186253

187254
Notices for intended changes that may affect backwards compatibility:
188255

config/PhysiCell_settings.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# If you use PhysiCell in your project, please cite PhysiCell and the version #
66
# number, such as below: #
77
# #
8-
# We implemented and solved the model using PhysiCell (Version 1.3.1) [1]. #
8+
# We implemented and solved the model using PhysiCell (Version 1.3.2) [1]. #
99
# #
1010
# [1] A Ghaffarizadeh, R Heiland, SH Friedman, SM Mumenthaler, and P Macklin, #
1111
# PhysiCell: an Open Source Physics-Based Cell Simulator for Multicellu- #
@@ -15,7 +15,7 @@
1515
# Because PhysiCell extensively uses BioFVM, we suggest you also cite BioFVM #
1616
# as below: #
1717
# #
18-
# We implemented and solved the model using PhysiCell (Version 1.3.1) [1], #
18+
# We implemented and solved the model using PhysiCell (Version 1.3.2) [1], #
1919
# with BioFVM [2] to solve the transport equations. #
2020
# #
2121
# [1] A Ghaffarizadeh, R Heiland, SH Friedman, SM Mumenthaler, and P Macklin, #

core/PhysiCell.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# If you use PhysiCell in your project, please cite PhysiCell and the version #
44
# number, such as below: #
55
# #
6-
# We implemented and solved the model using PhysiCell (Version 1.3.1) [1]. #
6+
# We implemented and solved the model using PhysiCell (Version 1.3.2) [1]. #
77
# #
88
# [1] A Ghaffarizadeh, R Heiland, SH Friedman, SM Mumenthaler, and P Macklin, #
99
# PhysiCell: an Open Source Physics-Based Cell Simulator for Multicellu- #
@@ -13,7 +13,7 @@
1313
# Because PhysiCell extensively uses BioFVM, we suggest you also cite BioFVM #
1414
# as below: #
1515
# #
16-
# We implemented and solved the model using PhysiCell (Version 1.3.1) [1], #
16+
# We implemented and solved the model using PhysiCell (Version 1.3.2) [1], #
1717
# with BioFVM [2] to solve the transport equations. #
1818
# #
1919
# [1] A Ghaffarizadeh, R Heiland, SH Friedman, SM Mumenthaler, and P Macklin, #

core/PhysiCell_cell.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# If you use PhysiCell in your project, please cite PhysiCell and the version #
44
# number, such as below: #
55
# #
6-
# We implemented and solved the model using PhysiCell (Version 1.3.1) [1]. #
6+
# We implemented and solved the model using PhysiCell (Version 1.3.2) [1]. #
77
# #
88
# [1] A Ghaffarizadeh, R Heiland, SH Friedman, SM Mumenthaler, and P Macklin, #
99
# PhysiCell: an Open Source Physics-Based Cell Simulator for Multicellu- #
@@ -13,7 +13,7 @@
1313
# Because PhysiCell extensively uses BioFVM, we suggest you also cite BioFVM #
1414
# as below: #
1515
# #
16-
# We implemented and solved the model using PhysiCell (Version 1.3.1) [1], #
16+
# We implemented and solved the model using PhysiCell (Version 1.3.2) [1], #
1717
# with BioFVM [2] to solve the transport equations. #
1818
# #
1919
# [1] A Ghaffarizadeh, R Heiland, SH Friedman, SM Mumenthaler, and P Macklin, #

core/PhysiCell_cell.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# If you use PhysiCell in your project, please cite PhysiCell and the version #
44
# number, such as below: #
55
# #
6-
# We implemented and solved the model using PhysiCell (Version 1.3.1) [1]. #
6+
# We implemented and solved the model using PhysiCell (Version 1.3.2) [1]. #
77
# #
88
# [1] A Ghaffarizadeh, R Heiland, SH Friedman, SM Mumenthaler, and P Macklin, #
99
# PhysiCell: an Open Source Physics-Based Cell Simulator for Multicellu- #
@@ -13,7 +13,7 @@
1313
# Because PhysiCell extensively uses BioFVM, we suggest you also cite BioFVM #
1414
# as below: #
1515
# #
16-
# We implemented and solved the model using PhysiCell (Version 1.3.1) [1], #
16+
# We implemented and solved the model using PhysiCell (Version 1.3.2) [1], #
1717
# with BioFVM [2] to solve the transport equations. #
1818
# #
1919
# [1] A Ghaffarizadeh, R Heiland, SH Friedman, SM Mumenthaler, and P Macklin, #

core/PhysiCell_cell_container.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# If you use PhysiCell in your project, please cite PhysiCell and the version #
44
# number, such as below: #
55
# #
6-
# We implemented and solved the model using PhysiCell (Version 1.3.1) [1]. #
6+
# We implemented and solved the model using PhysiCell (Version 1.3.2) [1]. #
77
# #
88
# [1] A Ghaffarizadeh, R Heiland, SH Friedman, SM Mumenthaler, and P Macklin, #
99
# PhysiCell: an Open Source Physics-Based Cell Simulator for Multicellu- #
@@ -13,7 +13,7 @@
1313
# Because PhysiCell extensively uses BioFVM, we suggest you also cite BioFVM #
1414
# as below: #
1515
# #
16-
# We implemented and solved the model using PhysiCell (Version 1.3.1) [1], #
16+
# We implemented and solved the model using PhysiCell (Version 1.3.2) [1], #
1717
# with BioFVM [2] to solve the transport equations. #
1818
# #
1919
# [1] A Ghaffarizadeh, R Heiland, SH Friedman, SM Mumenthaler, and P Macklin, #

core/PhysiCell_cell_container.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# If you use PhysiCell in your project, please cite PhysiCell and the version #
44
# number, such as below: #
55
# #
6-
# We implemented and solved the model using PhysiCell (Version 1.3.1) [1]. #
6+
# We implemented and solved the model using PhysiCell (Version 1.3.2) [1]. #
77
# #
88
# [1] A Ghaffarizadeh, R Heiland, SH Friedman, SM Mumenthaler, and P Macklin, #
99
# PhysiCell: an Open Source Physics-Based Cell Simulator for Multicellu- #
@@ -13,7 +13,7 @@
1313
# Because PhysiCell extensively uses BioFVM, we suggest you also cite BioFVM #
1414
# as below: #
1515
# #
16-
# We implemented and solved the model using PhysiCell (Version 1.3.1) [1], #
16+
# We implemented and solved the model using PhysiCell (Version 1.3.2) [1], #
1717
# with BioFVM [2] to solve the transport equations. #
1818
# #
1919
# [1] A Ghaffarizadeh, R Heiland, SH Friedman, SM Mumenthaler, and P Macklin, #

0 commit comments

Comments
 (0)