Skip to content

Commit 5bbd35d

Browse files
authored
Merge pull request #116 from MathCancer/development
1.10.3 release
2 parents bedcb3a + 319414f commit 5bbd35d

40 files changed

+2786
-308
lines changed

BioFVM/BioFVM_microenvironment.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ void Microenvironment::apply_dirichlet_conditions( void )
269269
{ density_vector( dirichlet_indices[i] ) = dirichlet_value_vectors[i]; }
270270
*/
271271

272-
#pragma omp parallel for
272+
// #pragma omp parallel for
273273
for( unsigned int i=0 ; i < mesh.voxels.size() ;i++ )
274274
{
275275
/*

CITATION.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
If you use PhysiCell in your project, please cite PhysiCell and the version
22
number, such as below:
33

4-
We implemented and solved the model using PhysiCell (Version 1.10.2) [1].
4+
We implemented and solved the model using PhysiCell (Version 1.10.3) [1].
55

66
[1] A Ghaffarizadeh, R Heiland, SH Friedman, SM Mumenthaler, and P Macklin,
77
PhysiCell: an Open Source Physics-Based Cell Simulator for Multicellu-
@@ -11,7 +11,7 @@ We implemented and solved the model using PhysiCell (Version 1.10.2) [1].
1111
Because PhysiCell extensively uses BioFVM, we suggest you also cite BioFVM
1212
as below:
1313

14-
We implemented and solved the model using PhysiCell (Version 1.10.2) [1],
14+
We implemented and solved the model using PhysiCell (Version 1.10.3) [1],
1515
with BioFVM [2] to solve the transport equations.
1616

1717
[1] A Ghaffarizadeh, R Heiland, SH Friedman, SM Mumenthaler, and P Macklin,

README.md

Lines changed: 51 additions & 17 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 Multicellular Systems
22

3-
**Version:** 1.10.2
3+
**Version:** 1.10.3
44

5-
**Release date:** 24 May 2022
5+
**Release date:** 25 June 2022
66

77
## Overview:
88
PhysiCell is a flexible open source framework for building agent-based multicellular models in 3-D tissue environments.
@@ -16,15 +16,15 @@ Visit http://MathCancer.org/blog for the latest tutorials and help.
1616

1717
### Key makefile rules:
1818

19-
**make** : compiles the current project. If no
19+
**`make`** : compiles the current project. If no
2020
project has been defined, it first
2121
populates the cancer heterogeneity 2D
2222
sample project and compiles it
2323

24-
**make \[project-name\]**: populates the indicated sample project.
24+
**`make project-name`**: populates the indicated sample project.
2525
Use "make" to compile it.
2626

27-
* **\[project-name\]** choices:
27+
* **`project-name`** choices:
2828
* template
2929
* biorobots-sample
3030
* cancer-biorobots-sample
@@ -39,21 +39,22 @@ Visit http://MathCancer.org/blog for the latest tutorials and help.
3939
* cancer-metabolism-sample
4040
* interaction-sample
4141

42-
**make list-projects** : list all available sample projects
42+
**`make list-projects`** : list all available sample projects
4343

44-
**make clean** : removes all .o files and the executable, so that the next "make" recompiles the entire project
44+
**`make clean`** : removes all .o files and the executable, so that the next "make" recompiles the entire project
4545

46-
**make data-cleanup** : clears out all simulation data
46+
**`make data-cleanup`** : clears out all simulation data
4747

48-
**make reset** : de-populates the sample project and returns to the original PhysiCell state. Use this when switching to a new PhysiCell sample project.
48+
**`make reset`** : de-populates the sample project and returns to the original PhysiCell state. Use this when switching to a new PhysiCell sample project.
4949

50-
**make jpeg** : uses ImageMagick to convert the SVG files in the output directory to JPG (with appropriate sizing to make movies). Supply `OUTPUT=foldername` to select a different folder.
50+
**`make jpeg`** : uses ImageMagick to convert the SVG files in the output directory to JPG (with appropriate sizing to make movies). Supply `OUTPUT=foldername` to select a different folder.
5151

52-
**make movie** : uses ffmpeg to convert the JPG files in the output directory an mp4 movie. Supply `OUTPUT=foldername` to select a different folder, or `FRAMERATE=framerate` to override the frame rate.
52+
**`make movie`** : uses ffmpeg to convert the JPG files in the output directory an mp4 movie. Supply `OUTPUT=foldername` to select a different folder, or `FRAMERATE=framerate` to override the frame rate.
5353

54-
**make upgrade** : fetch the latest release of PhysiCell and overwrite the core library and sample projects.
54+
**`make upgrade`** : fetch the latest release of PhysiCell and overwrite the core library and sample projects.
5555

56-
**Homepage:** http://PhysiCell.MathCancer.org
56+
### Key Links
57+
**Homepage:** http://PhysiCell.MathCancer.org
5758

5859
**Downloads:** http://PhysiCell.sf.net
5960

@@ -62,16 +63,18 @@ Visit http://MathCancer.org/blog for the latest tutorials and help.
6263
**Quick Start:** Look at QuickStart.md in the documentation folder.
6364

6465
**User Guide:** Look at UserGuide.pdf in the documentation folder.
66+
67+
**Setup and Training:** See last year's workshop and hackathon at https://github.com/PhysiCell-Training/ws2021
6568

66-
**Tutorials:** http://www.mathcancer.org/blog/physicell-tutorials/
69+
**Old Tutorials:** http://www.mathcancer.org/blog/physicell-tutorials/
6770

6871
**Latest info:** follow [@PhysiCell](https://twitter.com/PhysiCell) on Twitter (http://twitter.com/PhysiCell)
6972

7073
See changes.md for the full change log.
7174

7275
* * *
7376
## Release summary:
74-
Version 1.10.2 introduces bugfixes to the behavior "dictionary" functiouns, data saves, and updating neighbor lists for nearby non-adhesive cells. It also introduces a number of ease-of-access functions to the phenotype for death rates, secretion, and internalized substrates.
77+
Version 1.10.3 primarily fixes bugs and further refines the signal and behavior dictionaries, particularly with access to custom variables. It also allows users to designate custom variables as _conserved quantities_ that are divided evenly among daughter cells as division (e.g., melanosomes). Lastly, this release continues updates to PhysiBoSS and libRoadrunner to leverage newer core features and improve compatibiltiy, while also improving support for newer Mac (M1 and M2) architectures.
7578

7679
The 1.10.0 release introduced major new phenotype functionality, including standardized support for cell-cell interactions (phagocytosis, cell attack that increases a tracked damage variable, and cell fusion), cell transformations, advanced chemotaxis, and cell adhesion affinities for preferential adhesion. This release also includes new, auto-generated "dictionaries" of signals and behaviors to facilitate writing cell behavioral models and intracellular models, as well as standardized Hill and linear response functions for use in intracellular models. Lastly, this release includes a number of bugfixes, most notably pseudorandom number generators with improved thread safety.
7780

@@ -84,6 +87,8 @@ A blog post and tutorial on the new signal and behavior dictionaries can be foun
8487
**NOTE 2:** Windows users need to follow an updated (from v1.8) MinGW64 installation procedure. This will install an updated version of g++, plus libraries that are needed for some of the intracellular models. See the [Quickstart](documentation/Quickstart.md) for details.
8588

8689
### Major new features and changes in the 1.10.z versions
90+
#### 1.10.3
91+
+ None in this version. See 1.10.0
8792
#### 1.10.2
8893
+ None in this version. See 1.10.0
8994
#### 1.10.1
@@ -193,6 +198,17 @@ A blog post and tutorial on the new signal and behavior dictionaries can be foun
193198
+ With default parameters, bacteria kill off cells ot form abscesses, until death attracts macrophages to activate immune response to kill the invaders, after which the tissue can regrow.
194199

195200
### Minor new features and changes:
201+
#### 1.10.3
202+
+ Added `attachment_rate` and `detachment_rate` to `phenotype.mechanics` for use in a future standard attachment and detachment model.
203+
+ Modernized output format:
204+
+ More complete cell data saved for each cell agent.
205+
+ Merged the previously separate cell matlab files for each time save
206+
+ Added more metadata to outputs
207+
+ `Variables` and `Vector_Variables` in `Custom_Cell_Data` now have a new Boolean attribute `conserved_quantity` (defaulted to false). If this value is set to true, then the custom variable is divided evenly between daughter cells at division.
208+
+ Custom cell data can now be designated as conserved by settings an attribute `conserved="true"` in the XMO configuration file.
209+
+ Improved support for Apple M1 and M2 chips.
210+
+ Refinements to PhysiBoSS.
211+
196212
#### 1.10.2
197213
+ Added `operator<<` for vectors of ints and vectors of strings. So that `std::cout << v << std::endl;` will work if `v` is `std::vector<int>` of `std::vector<std::string>`. It was truly annoying that these were missing, so sorry!
198214
+ Added `dead` to the signals dictionaries, which returns 0.0 or 1.0 based on `phenotype.death.dead`.
@@ -212,7 +228,6 @@ A blog post and tutorial on the new signal and behavior dictionaries can be foun
212228
+ Added new ease of access function for internalized substrates:
213229
+ `double& Molecular::internalized_total_substrate( std::string name )` allows you to easily read/write the total amount of internalized substrate by name. For example:
214230
```pCell->phenotype.molecular.internalized_total_substrate( "oxygen" ) = 0.01``
215-
216231
#### 1.10.1
217232
+ None in this version. See 1.10.0.
218233
#### 1.10.0
@@ -225,6 +240,19 @@ A blog post and tutorial on the new signal and behavior dictionaries can be foun
225240
+ `create_cell( Cell_Definition )` now uses "`is_movable`" from the cell definition.
226241

227242
### Beta features (not fully supported):
243+
#### 1.10.3
244+
+ Each time outputs two cell interaction graphs (as text files):
245+
+ neighbor graph records which cells are within interaction distance for each cell agent, with format;
246+
ID: ID1, ID2, ID3, ... (Cell ID: and the IDs of interacting cells)
247+
+ attached cell graph records which cells are attached for each cell agent, with format;
248+
ID: ID1, ID2, ID3, ... (Cell ID: and the IDs of attached cells)
249+
+ We might split these into 3 files:
250+
+ an ID list that has the ID of each cell in order of appearence.
251+
+ neighbor list omits the preceding "ID:" since now each row corresponds to the index in the ID list
252+
+ attached cell list omits the preceding "ID:" since now each row corresponds to the index in the ID list
253+
+ Began experimenting with a planned `integrity` subclass to `phenotype` that will record multiple types of cell damage and associated damage and repair rates. It is not yet clear if we wil provide built-in support for damaged-driven apoptotic death and cycle arrest, as these are generally better left to modeler-driven hypotheses.
254+
255+
None in this version. See 1.10.0.
228256
#### 1.10.2
229257
+ None in this version. See 1.10.0.
230258
#### 1.10.1
@@ -241,6 +269,11 @@ A blog post and tutorial on the new signal and behavior dictionaries can be foun
241269
+ Added simple contour plotting of a substrate (anim_substrate2D.py in /beta; copy to /output)
242270

243271
### Bugfixes:
272+
#### 1.10.3
273+
+ Fixed bug in `get_single_behavior` and `get_single_base_behavior` where querying any cycle exit rate or cycle entry mistakenly returned -1.
274+
+ Corrected declaration of `standard_add_basement_membrane_interactions` in `PhysiCell_standard_models.h` to properly use phenotype by reference. Thank you Inês Gonçalves!
275+
+ Removed the OpenMP pragma in `void Microenvironment::apply_dirichlet_conditions( void )` (around line 272) that tends to perform more poorly than serial code.
276+
244277
#### 1.10.2
245278
+ Fixed error in `double get_single_behavior()` where the `cell-cell adhesion elastic constant` behavior was not found.
246279

@@ -267,7 +300,8 @@ A blog post and tutorial on the new signal and behavior dictionaries can be foun
267300
+ In response to PR 91 (https://github.com/MathCancer/PhysiCell/pull/91): Previoulsy, if the make jpeg rule fails, the `__*.txt` temporary files are left in place, so a subsequent "make jpeg" fails until these files are manually removed. Replacing `>>` (append) with `>` (overwrite) fixes the problem. Thanks [saikiRA1011](https://github.com/saikiRA1011)!
268301

269302
### Notices for intended changes that may affect backwards compatibility:
270-
303+
+ We intend to deprecate the unused phenotype variables `relative_maximum_attachment_distance`, `relative_detachment_distance`, and `maximum_attachment_rate` from `phenotype.mechanics.`
304+
271305
+ We intend to merge `Custom_Variable` and `Custom_Vector_Variable` in the very near future.
272306

273307
+ We may change the role of `operator()` and `operator[]` in `Custom_Variable` to more closely mirror the functionality in `Parameters<T>`.

VERSION.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.10.2
1+
1.10.3

0 commit comments

Comments
 (0)