Releases: MathCancer/PhysiCell
Version 1.5.1
PhysiCell: an Open Source Physics-Based Cell Simulator for 3-D Multicellular Systems.
Version: 1.5.1
Release date: 7 June 2019
Overview:
PhysiCell is a flexible open source framework for building agent-based multicellular models in 3-D tissue environments.
Reference: A Ghaffarizadeh, R Heiland, SH Friedman, SM Mumenthaler, and P Macklin, PhysiCell: an Open Source Physics-Based Cell Simulator for Multicellular Systems, PLoS Comput. Biol. 14(2): e1005991, 2018. DOI: 10.1371/journal.pcbi.1005991
Visit http://MathCancer.org/blog for the latest tutorials and help.
Notable recognition:
Key makefile rules:
make : compiles the current project. If no
project has been defined, it first
populates the cancer heterogeneity 2D
sample project and compiles it
make : populates the indicated sample project.
Use "make" to compile it.
<project_name> choices:
template2D
template3D
biorobots-sample
cancer-biorobots-sample
heterogeneity-sample
cancer-immune-sample
virus-macrophage-sample
make clean : removes all .o files and the executable, so that the next "make" recompiles the entire project
make data-cleanup : clears out all simulation data
make reset : de-populates the sample project and returns to the original PhysiCell state. Use this when switching to a new PhysiCell sample project.
Homepage: http://PhysiCell.MathCancer.org
Downloads: http://PhysiCell.sf.net
Support: https://sourceforge.net/p/physicell/tickets/
Quick Start: Look at QuickStart.pdf in the documentation folder.
User Guide: Look at UserGuide.pdf in the documentation folder.
Tutorials: http://www.mathcancer.org/blog/physicell-tutorials/
Latest info: follow @MathCancer on Twitter (http://twitter.com/MathCancer)
See changes.md for the full change log.
Release summary:
This minor release fixes bugs in the new virus-macrophage sample project. Users should also consult the reslease notes for 1.5.0.
NOTE: OSX users must now define PHYSICELL_CPP system variable. See the documentation.
Major new features and changes:
- None
Minor new features and changes:
- None
Beta features (not fully supported):
- None
Bugfixes:
-
In the virus-macrophage sample project, switch cell death (in epithelial_function) from apoptosis to cell_lysis to demonstrate the new function.
-
In the virus-macrophage sample project, enable internalized substrate tracking in the setup_microenvironment() function.
-
In the virus-macrophage sample project, use a slower viral replication rate. (Should take 240 minutes to reach the lysis threshold.)
-
In the virus-macrophage sample project, switched to a maximum simulation time of 24 hours (1440 minutes).
Notices for intended changes that may affect backwards compatibility:
-
We intend to merge Custom_Variable and Custom_Vector_Variable in the very near future.
-
We may change the role of operator() and operator[] in Custom_Variable to more closely mirror the functionality in Parameters.
-
We will introduce improvements to placement of daughter cells after division.
-
Some search functions (e.g., to find a substrate or a custom variable) will start to return -1 if no matches are found, rather than 0.
Planned future improvements:
-
Further XML-based simulation setup.
-
read saved simulation states (as MultiCellDS digital snapshots)
-
"mainline" prototype cell attach/detach mechanics as standard models (currently in the biorobots and immune examples)
-
integrate SBML-encoded systems of ODEs as custom data and functions for molecular-scale modeling
-
integrate Boolean network support from PhysiBoSS into the mainline code (See http://dx.doi.org/10.1093/bioinformatics/bty766. )
-
Develop contact-based cell-cell interactions.
-
Add cell differentiation functionality to Phenotype, to be executed during cell division events.
-
Add a new standard phenotype function that uses mechanobiology, where high pressure can arrest cycle progression. (See https://twitter.com/MathCancer/status/1022555441518338048.)
-
Add module for standardized pharmacodynamics, as prototyped in the nanobio project. (See https://nanohub.org/resources/pc4nanobio.)
-
create an angiogenesis sample project
-
create a small library of angiogenesis and vascularization codes as an optional standard module in ./modules (but not as a core component)
-
improved plotting options in SVG
Version 1.5.0
PhysiCell: an Open Source Physics-Based Cell Simulator for 3-D Multicellular Systems.
Version: 1.5.0
Release date: 7 June 2019
Overview:
PhysiCell is a flexible open source framework for building agent-based multicellular models in 3-D tissue environments.
Reference: A Ghaffarizadeh, R Heiland, SH Friedman, SM Mumenthaler, and P Macklin, PhysiCell: an Open Source Physics-Based Cell Simulator for Multicellular Systems, PLoS Comput. Biol. 14(2): e1005991, 2018. DOI: 10.1371/journal.pcbi.1005991
Visit http://MathCancer.org/blog for the latest tutorials and help.
Notable recognition:
Key makefile rules:
make : compiles the current project. If no
project has been defined, it first
populates the cancer heterogeneity 2D
sample project and compiles it
make : populates the indicated sample project.
Use "make" to compile it.
<project_name> choices:
template2D
template3D
biorobots-sample
cancer-biorobots-sample
heterogeneity-sample
cancer-immune-sample
virus-macrophage-sample
make clean : removes all .o files and the executable, so that the next "make" recompiles the entire project
make data-cleanup : clears out all simulation data
make reset : de-populates the sample project and returns to the original PhysiCell state. Use this when switching to a new PhysiCell sample project.
Homepage: http://PhysiCell.MathCancer.org
Downloads: http://PhysiCell.sf.net
Support: https://sourceforge.net/p/physicell/tickets/
Quick Start: Look at QuickStart.pdf in the documentation folder.
User Guide: Look at UserGuide.pdf in the documentation folder.
Tutorials: http://www.mathcancer.org/blog/physicell-tutorials/
Latest info: follow @MathCancer on Twitter (http://twitter.com/MathCancer)
See changes.md for the full change log.
Release summary:
This release introduces the ability to track the net internalization of diffusible substrates from the microenvironment, conserving mass with the diffusion-reaction partial differentiatial equations in BioFVM. This is part of longer-term plans to support molecular-scale models (e.g., as encoded by SBML). It also introduces the ability for cells to ingest other cells (and acquire their internalized substrates and volume), the ability for cells to release their internalized substrates back to the microenvironment after death, and a new cell death model (lysis).
To illustrate these new capabilities, this release introduces a new sample project called virus-macrophage-sample. In this project, virus particles diffuse through the microenvironment, are uptaken by cells, replicate within cells, and trigger lytic death after reaching a threshold. Lysed cells release their virus particles to further diffuse through the environment. Macrophages move by random migration, test for contact with cells, and ingest / phagocytose cells based upon their viral load. Macrophages degrade their internalized viral particles.
This release also added clearer methods to specify the microenvironment initial conditions, and improved documentation.
NOTE: OSX users must now define PHYSICELL_CPP system variable. See the documentation.
Major new features and changes:
- Added functionality in BioFVM to (optionally) track the total amount of substrates in each cell, based upon tracking uptake and secretion. Note that without additional, user-defined functions to internally create or consume substrate (e.g., synthesizing proteins, or using oxygen in metabolism), this can result in negative internal values (if cells only secrete but no internal creation functions have been set) or unbounded positive values (if cells uptake a substrate but do not consume it). In particular, Basic_Agents (and hence Cells) now have:
++ std::vector* internalized_substrates (tracks internalized substrates)
++ std::vector* fraction_released_at_death (sets the fraction of each substrate that is released at cell death)
++ std::vector* fraction_transferred_when_ingested (sets the fraction of each substrate that is transferred to a predatory cell if the cell is eaten).
Users should access these via the cell's (new) molecular portion of the phenotype. See below.
In BioFVM::Microenvironment_Options class, we added:
++ bool track_internalized_substrates_in_each_agent. Set this to true to enable the tracking.
- In BioFVM::Microenvironment_Options, we added the ability to set the (uniform) microenvironment initial conditions, via:
++ std::vector initial_condition_vector.
If this has size zero, then BioFVM will use the std::vector Dirichlet_condition_vector as a reasonable guess at initial conditions as in prior versions.
- We added a new function to Basic_Agent (and hence Cell) to facilitate registering with the microenvironment:
++ void Basic_Agent::register_microenvironment( Microenvironment* microenvironment_in )
This function will ensure that the secretion, uptake, and internalization tracking data structures of the individual cell agent are properly matched to the microenvironment.
-
Added new "Molecular" block to Phenotype, for storing internalized substrates and for eventual inclusion of molecular-scale models (via SBML). The major elements are:
++ std::vector internalized_substrates (tracks internalized substrates)
++ std::vector fraction_released_at_death (sets the fraction of each substrate that is released at cell death)
++ std::vector fraction_transferred_when_ingested (sets the fraction of each substrate that is transferred to a predatory cell if the cell is eaten). -
Added lyse_cell() to Cell, to allow a cell to immediately be lysed and potentially release its internalized substrates. Lysed cells are removed from the simulation.
-
Added ingest_cell(Cell*) to Cell, to allow a cell to ingest (e.g., phagocytose) another cell, acquire its volume, and also (optionally) acquire its internalized substrates. This should be useful for immunology.
Minor new features and changes:
-
Added void Microenvironment::update_dirichlet_node( int voxel_index , int substrate_index , double new_value ) based on pc4nanobio changes, which allows you to update a single substrate's dirichlet condition at specific voxel, rather than all of them.
-
Added void sync_to_microenvironment( Microenvironment* pMicroenvironment ) to Phenotype to facilitate syncing the cell's phenotype to the microenvironment (and subsequently calls the functions in phenotype.secretion and phenotype.molecular). This isn't used yet, but perhaps it should be.
Beta features (not fully supported):
- None
Bugfixes:
-
Updated BioFVM's operator<< on std::vector so that it doesn't output x="value", y="value", z = "value" for 3-D vectors.
-
Fixed the search for cycle phase indices in the 2D and 3D template projects, to make sure it searches teh flow_cytometry_separated_cycle_model model and not the Ki67_advanced model, as part of the create_cell_types() function in the custom.cpp files.
-
In PhysiCell_standard_models, standard_volume_update_function is now fixed to update phenotype.volume.fluid. (This was not used in any mechanics or other calculations, so it does not affect prior modeling results.)
-
Removed repeated parameters (attached_worker_migration_bias, unattached_worker_migration_bias) in the cancer biorobots sample project.
-
trigger_death() now works.
Notices for intended changes that may affect backwards compatibility:
-
We intend to merge Custom_Variable and Custom_Vector_Variable in the very near future.
-
We may change the role of operator() and operator[] in Custom_Variable to more closely mirror the functionality in Parameters.
-
We will introduce improvements to placement of daughter cells after division.
-
Some search functions (e.g., to find a substrate or a custom variable) will start to return -1 if no matches are found, rather than 0.
Planned future improvements:
-
Further XML-based simulation setup.
-
read saved simulation states (as MultiCellDS digital snapshots)
-
"mainline" prototype cell attach/detach mechanics as standard models (currently in the biorobots and immune examples)
-
integrate SBML-encoded systems of ODEs as custom data and functions for molecular-scale modeling
-
integrate Boolean network support from PhysiBoSS into the mainline code (See http://dx.doi.org/10.1093/bioinformatics/bty766. )
-
Develop contact-based cell-cell interactions.
-
Add cell differentiation functionality to Phenotype, to be executed during cell division events.
-
Add a new standard phenotype function that uses mechanobiology, where high pressure can arrest cycle progression. (See https://twitter.com/MathCancer/status/1022555441518338048.)
-
Add module for standardized pharmacodynamics, as prototyped in the nanobio project. (See https://nanohub.org/resources/pc4nanobio.)
-
create an angiogenesis sample project
-
create a small library of angiogenesis and vascularization codes as an optional standard module in ./modules (but not as a core component)
Version 1.4.1
PhysiCell: an Open Source Physics-Based Cell Simulator for 3-D Multicellular Systems.
Version: 1.4.1
Release date: 2 October 2018
Overview:
PhysiCell is a flexible open source framework for building agent-based multicellular models in 3-D tissue environments.
Reference: A Ghaffarizadeh, R Heiland, SH Friedman, SM Mumenthaler, and P Macklin, PhysiCell: an Open Source Physics-Based Cell Simulator for Multicellular Systems, PLoS Comput. Biol. 14(2): e1005991, 2018. DOI: 10.1371/journal.pcbi.1005991
Visit http://MathCancer.org/blog for the latest tutorials and help.
Key makefile rules:
make : compiles the current project. If no
project has been defined, it first
populates the cancer heterogeneity 2D
sample project and compiles it
make : populates the indicated sample project.
Use "make" to compile it.
<project_name> choices:
template2D
template3D
biorobots-sample
cancer-biorobots-sample
heterogeneity-sample
cancer-immune-sample
make clean : removes all .o files and the executable, so that the next "make" recompiles the entire project
make data-cleanup : clears out all simulation data
make reset : de-populates the sample project and returns to the original PhysiCell state. Use this when switching to a new PhysiCell sample project.
Homepage: http://PhysiCell.MathCancer.org
Downloads: http://PhysiCell.sf.net
Support: https://sourceforge.net/p/physicell/tickets/
Quick Start: Look at QuickStart.pdf in the documentation folder.
User Guide: Look at UserGuide.pdf in the documentation folder.
Tutorials: http://www.mathcancer.org/blog/physicell-tutorials/
Latest info: follow @MathCancer on Twitter (http://twitter.com/MathCancer)
See changes.md for the full change log.
Release summary:
This release improves includes minor bug fixes for compiling in older versions of MinGW, and simplified XML MultiCellDS outputs that no longer record the relative pathing to .mat files. (This allows users to read data from their actual locations, rather than from a parent directory.) This release includes minor code cleanups in BioFVM for cleaner compiling in Ubuntu. Lastly, we have make small refinements to the sample projects and makefiles to default data saving to the ./output directory, and to prevent future releases from excluding the output directory from the zip releases.
NOTE: OSX users must now define PHYSICELL_CPP system variable. See the documentation.
Major new features and changes:
- None
Minor new features and changes:
-
Changed the MultiCellDS outputs to only store the filename, and not the full relative path, in the tags. This makes it simpler to load MultiCellDS outputs from matlab and other platforms. (No longer need to read from a directory higher up to make the relative pathing correct.)
-
Did major cleanup on BioFVM so that it compiles cleanly on Ubuntu.
-
All sample projects output to the ./output directory
Beta features (not fully supported):
- None
Bugfixes:
-
Updated the Parameter constructor functions to create a specialized version for std::string, to fix odd compiling bugs on older versions of MinGW. (Worked in 7.1.0, but not in 5.3.0.) Now, Parameter for T = bool, int, or double get initialized to value = (T) 0. And Parameter for T = std::string gets initialized to "none". I had hoped to do a unified version, but value = (T) 0 for std::string acts like a NULL pointer.
-
All Makefiles ensure that the reset and data-cleanup rules leave at least empty.txt in ./output, so that future releases are never missing the output directory.
Notices for intended changes that may affect backwards compatibility:
-
We intend to merge Custom_Variable and Custom_Vector_Variable in the very near future.
-
We may change the role of operator() and operator[] in Custom_Variable to more closely mirror the functionality in Parameters.
Planned future improvements:
-
Further XML-based simulation setup.
-
read saved simulation states (as MultiCellDS digital snapshots)
-
"mainline" prototype cell attach/detach mechanics as standard models (currently in the biorobots and immune examples)
-
integrate SBML-encoded systems of ODEs as custom data and functions for molecular-scale modeling
-
integrate Boolean network support from PhysiBoSS into the mainline code (See http://dx.doi.org/10.1093/bioinformatics/bty766. )
-
Develop contact-based cell-cell interactions. (Likely in next release.)
-
Add cell differentiation functionality to Phenotype, to be executed during cell division events.
-
Add a new standard phenotype function that uses mechanobiology, where high pressure can arrest cycle progression. (See https://twitter.com/MathCancer/status/1022555441518338048.)
-
Add module for standardized pharmacodynamics, as prototyped in the nanobio project. (See https://nanohub.org/resources/pc4nanobio.)
-
create an angiogenesis sample project
-
create a small library of angiogenesis and vascularization codes as an optional standard module in ./modules (but not as a core component)
-
(optionally) track internalized substrate, coupled with BioFVM
Version 1.4.0
PhysiCell: an Open Source Physics-Based Cell Simulator for 3-D Multicellular Systems.
Version: 1.4.0
Release date: 26 September 2018
Overview:
PhysiCell is a flexible open source framework for building agent-based multicellular models in 3-D tissue environments.
Reference: A Ghaffarizadeh, R Heiland, SH Friedman, SM Mumenthaler, and P Macklin, PhysiCell: an Open Source Physics-Based Cell Simulator for Multicellular Systems, PLoS Comput. Biol. 14(2): e1005991, 2018. DOI: 10.1371/journal.pcbi.1005991
Visit http://MathCancer.org/blog for the latest tutorials and help.
Key makefile rules:
make : compiles the current project. If no
project has been defined, it first
populates the cancer heterogeneity 2D
sample project and compiles it
make : populates the indicated sample project.
Use "make" to compile it.
<project_name> choices:
template2D
template3D
biorobots-sample
cancer-biorobots-sample
heterogeneity-sample
cancer-immune-sample
make clean : removes all .o files and the executable, so that the next "make" recompiles the entire project
make data-cleanup : clears out all simulation data
make reset : de-populates the sample project and returns to the original PhysiCell state. Use this when switching to a new PhysiCell sample project.
Homepage: http://PhysiCell.MathCancer.org
Downloads: http://PhysiCell.sf.net
Support: https://sourceforge.net/p/physicell/tickets/
Quick Start: Look at QuickStart.pdf in the documentation folder.
User Guide: Look at UserGuide.pdf in the documentation folder.
Tutorials: http://www.mathcancer.org/blog/physicell-tutorials/
Latest info: follow @MathCancer on Twitter (http://twitter.com/MathCancer)
See changes.txt for the full change log.
Release summary:
This release improves the use of XML parsing in configuring simulations, notably (1) reading the domain parameters instead of hard-coded values, and (2) parsing a <user_parameters> block in the XML config files to populate a global parameters data structure of Boolean, integer, double, and std::string variables. Users can efficiently query these from within any function anywhere in a PhysiCell project.
NOTE: OSX users must now define PHYSICELL_CPP system variable. See the documentation.
Major new features and changes:
-
User Parameters!
-
Parsing XML to set domain size for all sample projects.
Minor new features and changes:
-
Updated all the sample projects to use the improved XML parsing;
-
New functions in PhysiCell_pugixml:
-
std::string xml_get_my_name( pugi::xml_node node );
This helps to easily extract the name of an XML node. (e.g., returns bob.)
-
bool xml_get_my_bool_value( pugi::xml_node node );
This gets the Boolean value of an XML node. (e.g., true returns true.)
-
int xml_get_my_int_value( pugi::xml_node node );
This gets the integer value of an XML node. (e.g., 42 returns 42.)
-
double xml_get_my_double_value( pugi::xml_node node );
This gets the double value of an XML node. (e.g., 42.03 returns 42.03.)
-
std::string xml_get_my_string_value( pugi::xml_node node );
-
-
Updated all Makefiles to copy main.cpp, the Makefile, and ./config/PhysiCell_settings.xml to backup copies prior to populating any sample project.
-
Updated the heterogeneity sample project:
-
Use the domain settings from the XML config file
-
Use the XML config file options to set the initial tumor size and oncoprotein distribution.
-
Get the random seed from the XML config file.
-
Rewrote the custom coloring function to scale from min oncoprotein value (blue) to max oncoprotein value (yellow).
-
-
Updated template2D sample project:
-
Use the domain settings from the XML config file
-
Use the XML config file to set the motile cell parameters
-
Get the random seed from the XML config file.
-
Updated to use the my_coloring_function coloring function. Made sure the my_coloring_function used false_cell_coloring_cytometry as its starting point.
-
-
Updated template3D sample project:
-
Use the domain settings from the XML config file
-
Use the XML config file to set the motile cell parameters
-
Get the random seed from the XML config file.
-
Updated to use the my_coloring_function coloring function. Made sure the my_coloring_function used false_cell_coloring_cytometry as its starting point.
-
-
Updated biorobots sample project:
-
Use the domain settings from the XML config file
-
Use the XML config file to set parameters and colors throughout the biorobots.cpp file
-
Get the random seed from the XML config file
-
-
Updated cancer immune sample project:
-
Use the domain settings from the XML config file
-
Use the XML config file to set parameters throughout the cancer_immune_3D.cpp file
-
Get the random seed from the XML config file
-
-
New function in ./core/PhysiCell_utilities:
int choose_event( std::vector );
If probabilities is a vector of n probabilities (for n events), and the sum of the probabilities is 1, then this chooses one of those n events according to these probabilities and returns the index of the selected event.
-
Moved from README.txt to README.md to support markdown and improve releases on both SourceForge and GitHub.
-
Moved from changes.txt to changes.md to support markdown and improve releases on both SourceForge and GitHub.
Beta features (not fully supported):
- None
Bugfixes:
-
Updated the "reset" rules so that the default config file is restored (in all the sample makefiles).
-
Removed a cout from Mechanics::set_relative_equilibrium_distance() from ./core/PhysiCell_phenotype.*
Notices for intended changes that may affect backwards compatibility:
- We intend to merge Custom_Variable and Custom_Vector_Variable in the very near future.
Planned future improvements:
-
Further XML-based simulation setup.
-
read saved simulation states (as MultiCellDS digital snapshots)
-
"mainline" prototype cell attach/detach mechanics as standard models (currently in the biorobots and immune examples)
-
integrate SBML-encoded systems of ODEs as custom data and functions for molecular-scale modeling
-
integrate Boolean network support from PhysiBoSS into the mainline code (See http://dx.doi.org/10.1093/bioinformatics/bty766. )
-
Develop contact-based cell-cell interactions. (Likely in next release.)
-
Add cell differentiation functionality to Phenotype, to be executed during cell division events.
-
Add a new standard phenotype function that uses mechanobiology, where high pressure can arrest cycle progression. (See https://twitter.com/MathCancer/status/1022555441518338048.)
-
Add module for standardized pharmacodynamics, as prototyped in the nanobio project. (See https://nanohub.org/resources/pc4nanobio.)
-
create an angiogenesis sample project
-
create a small library of angiogenesis and vascularization codes as an optional standard module in ./modules (but not as a core component)
Version 1.3.3
PhysiCell: an Open Source Physics-Based Cell Simulator for 3-D
Multicellular Systems.
Version: 1.3.3
Release date: 16 September 2018
Overview:
PhysiCell is a flexible open source framework for building
agent-based multicellular models in 3-D tissue environments.
Reference: A Ghaffarizadeh, R Heiland, SH Friedman,
SM Mumenthaler, and P Macklin, PhysiCell: an Open Source
Physics-Based Cell Simulator for Multicellular Systems,
PLoS Comput. Biol. 14(2): e1005991, 2018.
DOI: 10.1371/journal.pcbi.1005991
Visit http://MathCancer.org/blog for the latest tutorials and help.
Key makefile rules:
make : compiles the current project. If no
project has been defined, it first
populates the cancer heterogeneity 2D
sample project and compiles it
make : populates the indicated sample project.
Use "make" to compile it.
<project_name> choices:
template2D
template3D
biorobots-sample
cancer-biorobots-sample
heterogeneity-sample
cancer-immune-sample
make clean : removes all .o files and the executable, so that
the next "make" recompiles the entire project
make data-cleanup : clears out all simulation data
make reset : de-populates the sample project and returns to
the original PhysiCell state. Use this when
switching to a new PhysiCell sample project.
Homepage: http://PhysiCell.MathCancer.org
Downloads: http://PhysiCell.sf.net
Support: https://sourceforge.net/p/physicell/tickets/
Quick Start: Look at QuickStart.pdf in the documentation folder.
User Guide: Look at UserGuide.pdf in the documentation folder.
Tutorials: http://www.mathcancer.org/blog/physicell-tutorials/
Latest info: follow @MathCancer on Twitter (http://twitter.com/MathCancer)
See changes.txt for the full change log.
-=-=-=-=-
Release summary:
This release introduces simplifications in versioning to facilitate
faster release cycles. It also introduces functions to register and
list citations for third-part add-ons. The goal is to encourage end-
users to properly cite PhysiCell and add-on products used in their
projects.
NOTE: OSX users must now define PHYSICELL_CPP system variable.
See the documentation.
Major new features and changes:
- none
Minor new features and changes:
-
Moved all version information to VERSION.txt to facilitate
faster release cycles. -
Updated all the Makefiles to set VERSION via
VERSION := $(shell grep . VERSION.txt | cut -f1 -d:)
-
Moved detailed citation information to CITATION.txt to
facilitate faster release cycles. -
Changed std::string PhysiCell_version to
std::string PhysiCell_Version for more consistency with
prior BioFVM work. -
Added new static string to PhysiCell.h:
static std::string PhysiCell_DOI -
Added new functions to PhysiCell_utilities to query
PhysiCell versioning:std::string get_PhysiCell_version( void );
void get_PhysiCell_version( std::string& pString );
-
Added the following function to PhysiCell_utilities to
display a list of all software versions and citations
used in the code:void display_citations( std::ostream& os );
void display_citations( void );For example, use display_citations( std::cout ), or use
an output file stream. Note that display_citations(void)
calls display_citation(std::cout); -
Updated all the sample projects to use display_citations();
Beta features (not fully supported):
-
Added ./protocols/ directory to include release and other
instructions, to help train new developer contributors.
Perhaps this should be called "checklists" ? -
Added the following functions to PhysiCell_utilities to
register third-party software citations in a global list,
ready for query and display:void add_software_citation( std::string name ,
std::string version, std::string DOI, std::string URL );
Bugfixes:
- None
Notices for intended changes that may affect backwards compatibility:
-
We will probably move from README.txt to README.md to support
markdown and improve releases on both SourceForge and GitHub. -
We will probably move from changes.txt to changes.md to support
markdown in the long-term change logs. -
We intend to merge Custom_Variable and Custom_Vector_Variable in the
very near future.
Planned future improvements:
-
Further XML-based simulation setup.
-
read saved simulation states (as MultiCellDS digital snapshots)
-
"mainline" prototype cell attach/detach mechanics as standard models
(currently in the biorobots and immune examples) -
integrate SBML-encoded systems of ODEs as custom data and functions
for molecular-scale modeling -
integrate Boolean network support from PhysiBoSS into the mainline code
(See http://dx.doi.org/10.1093/bioinformatics/bty766. ) -
Develop contact-based cell-cell interactions. (Likely in next release.)
-
Add a new standard phenotype function that uses mechanobiology,
where high pressure can arrest cycle progression.
(See https://twitter.com/MathCancer/status/1022555441518338048.)
(Likely in next release.) -
Add module for standardized pharmacodynamics, as prototyped in the
nanobio project. (See https://nanohub.org/resources/pc4nanobio.) -
create an angiogenesis sample project
-
create a small library of angiogenesis and vascularization codes as
an optional standard module in ./modules (but not as a core component)
Version 1.3.2
PhysiCell: an Open Source Physics-Based Cell Simulator for 3-D Multicellular Systems.
Version: 1.3.2
Release date: 24 August 2018
Overview:
PhysiCell is a flexible open source framework for building agent-based multicellular models in 3-D tissue environments.
Reference: A Ghaffarizadeh, R Heiland, SH Friedman, SM Mumenthaler, and P Macklin, PhysiCell: an Open Source Physics-Based Cell Simulator for Multicellular Systems, PLoS Comput. Biol. 14(2): e1005991, 2018.
DOI: 10.1371/journal.pcbi.1005991
URL: http://dx.doi.org/10.1371/journal.pcbi.1005991
Visit http://MathCancer.org/blog for the latest tutorials and help.
Key makefile rules:
make : compiles the current project. If no
project has been defined, it first
populates the cancer heterogeneity 2D
sample project and compiles it
make : populates the indicated sample project.
Use "make" to compile it.
<project_name> choices:
template2D
template3D
biorobots-sample
cancer-biorobots-sample
heterogeneity-sample
cancer-immune-sample
make clean : removes all .o files and the executable, so that
the next "make" recompiles the entire project
make data-cleanup : clears out all simulation data
make reset : de-populates the sample project and returns to
the original PhysiCell state. Use this when
switching to a new PhysiCell sample project.
Homepage: http://PhysiCell.MathCancer.org
Downloads: http://PhysiCell.sf.net
Support: https://sourceforge.net/p/physicell/tickets/
Quick Start: Look at QuickStart.pdf in the documentation folder.
User Guide: Look at UserGuide.pdf in the documentation folder.
Tutorials: http://www.mathcancer.org/blog/physicell-tutorials/
Latest info: follow @MathCancer on Twitter (http://twitter.com/MathCancer)
See changes.txt for the full change log.
-=-=-=-=-
Release summary:
This release fixes a small gradient bug that I swear I had fixed before.
NOTE: OSX users must now define PHYSICELL_CPP system variable.
See the documentation.
Major new features and changes:
- none
Minor new features and changes:
- none
Beta features (not fully supported):
- none
Bugfixes:
-
In BioFVM, Microenvironment::compute_gradient_vector(int), removed "static"
from "static std::vector indices(3,0)" to prevent rare segfaults. -
In BioFVM, Microenvironment::compute_gradient_vector(int), replaced "static"
for "bool gradient_constants_defined = false". Yep, I removed static from
the wrong line in 1.3.1 -
Correct some errors in both the README.txt and changes.txt files.
Notices for intended changes that may affect backwards compatibility:
- None.
Planned future improvements:
-
Further XML-based simulation setup.
-
read saved simulation states (as MultiCellDS digital snapshots)
-
"mainline" prototype cell attach/detach mechanics as standard models
(currently in the biorobots and immune examples) -
integrate SBML-encoded systems of ODEs as custom data and functions
for molecular-scale modeling -
integrate Boolean network support from PhysiBoSS into the mainline code
(See https://doi.org/10.1101/267070.) -
Develop contact-based cell-cell interactions. (Likely in next release.)
-
Add a new standard phenotype function that uses mechanobiology,
where high pressure can arrest cycle progression.
(See https://twitter.com/MathCancer/status/1022555441518338048.)
(Likely in next release.) -
Add module for standardized pharmacodynamics, as prototyped in the
nanobio project. (See https://nanohub.org/resources/pc4nanobio.) -
create an angiogenesis sample project
-
create a small library of angiogenesis and vascularization codes as
an optional standard module in ./modules (but not as a core component)
Version 1.3.1
PhysiCell: an Open Source Physics-Based Cell Simulator for 3-D Multicellular Systems.
Version: 1.3.1
Release date: 31 July 2018
Overview:
PhysiCell is a flexible open source framework for building agent-based multicellular models in 3-D tissue environments.
Reference: A Ghaffarizadeh, R Heiland, SH Friedman, SM Mumenthaler, and P Macklin, PhysiCell: an Open Source Physics-Based Cell Simulator for Multicellular Systems, PLoS Comput. Biol. 14(2): e1005991, 2018.
DOI: 10.1371/journal.pcbi.1005991
URL: http://dx.doi.org/10.1371/journal.pcbi.1005991
Visit http://MathCancer.org/blog for the latest tutorials and help.
Key makefile rules:
make : compiles the current project. If no
project has been defined, it first
populates the cancer heterogeneity 2D
sample project and compiles it
make : populates the indicated sample project.
Use "make" to compile it.
<project_name> choices:
template2D
template3D
biorobots-sample
cancer-biorobots-sample
heterogeneity-sample
cancer-immune-sample
make clean : removes all .o files and the executable, so that
the next "make" recompiles the entire project
make data-cleanup : clears out all simulation data
make reset : de-populates the sample project and returns to
the original PhysiCell state. Use this when
switching to a new PhysiCell sample project.
Homepage: http://PhysiCell.MathCancer.org
Downloads: http://PhysiCell.sf.net
Support: https://sourceforge.net/p/physicell/tickets/
Quick Start: Look at QuickStart.pdf in the documentation folder.
User Guide: Look at UserGuide.pdf in the documentation folder.
Tutorials: http://www.mathcancer.org/blog/physicell-tutorials/
Latest info: follow @MathCancer on Twitter (http://twitter.com/MathCancer)
See changes.txt for the full change log.
-=-=-=-=-
Release summary:
This release introduces a new cycle model with an active cycling state and a quiescent state. It also adds new functions to the Mechanics class to make it easier to modify the cell-cell interaction distance (while maintaining equilibrium cell-cell spacing), or to modify the equilibrium cell-cell spacing. The release also includes major reliability and performance improvements to how gradients are calculated.
As usual, the release also contains minor bugfixes and improvements.
NOTE: OSX users must now define PHYSICELL_CPP system variable.
See the documentation.
Major new features and changes:
-
Implemented a new cell cycle model (cycling_quiescent),
where quiescent cells can enter a cycling state. This
model uses identical parameters to the Ki67-basic cycle
model, but decouples the conceptual model from Ki67
immunohistochemistry.Updated the documentation and coloring functions accordingly.
Updated update_cell_and_death_parameters_O2_based() to
support the new cycling_quiescent cycle model. -
update_all_cells(t,dt,dt,dt) now checks to see if gradient
calculations are enabled, and if so, computes it once per dt_mechanics.This improves code performance by 2x to 3x in gradient-enabled codes,
because we no longer need to calculate gradients once per dt_diffusion
time step. (Gradients are only needed for cell velocity calculations,
and occasionally for phenotype decisions.)All sample projects have been updated to make use of this.
Also, removed the explicit gradient calculations from the template
and sample projects. -
Added a new function to Mechanics class to simplify changes to cell
interaction distances:void set_relative_maximum_adhesion_distance( double new_value );
Here, new_value is a multiple of the cell's (mean equivalent) radius.
Our default is 1.25. This function preserves the cell's "repulsion"
strength and adjusts the strength of cell-cell adhesion to maintain
its prior equilibrium cell-cell spacing. -
Added a new function to Mechanics class to simplify changes to cell
equilibrium distances.void set_relative_equilibrium_distance( double new_value );
Here, new_value is a multiple of the cell's (mean equivalent) radius.
The default is around 1.9. This function preserves the cell's "repulsion"
and the maximum interaction distance, and it adjusts the strength of
cell-cell adhesion to match the new equilibrium cell-cell spacing.Note that this function performs a "sanity check" to ensure that you have
not given a value greater than 2.0. -
Added a new function to Mechanics class to simplify changes to cell
equilibrium distances.void Mechanics::set_absolute_equilibrium_distance( Phenotype& phenotype,
double new_value )Here, new_value is the new equilibrium spacing (in units of microns).
The function internally requires the cell's mean equivalent radius,
and so you pass the cell's phenotype (by reference) as an additional
argument.Note that this function performs a "sanity check" to ensure that you have
not given a value greater than 2.0 * mean_cell_radius.Also note that PhysiCell internally uses a relative spacing, so the
absolute spacing will change from the value you set, over time. -
Updated User_Guide to reflect new cell cycle model,
including reference parameters chosen for consistency with
the other cycle models.
Minor new features and changes:
-
Added the following constants to support the new cycle model
static const int cycling = 17;
static const int quiescent = 18;
static const int cycling_quiescent_model = 7; -
Removed the (never-used) Mechanics.maximum_adhesion_distance.
-
Removed the legacy template_projects folder.
Beta features (not fully supported):
-
Added a function pointer to the Cell_Functions class for intended
contact-based cell-cell interaction, like delta-Notch signaling.void (contact_function)(Cell pMyself, Phenotype& my_phenotype,
Cell* pOther, Phenotype& other_phenotype, double dt );It would be up to the user to define these functions and decide
if the functions modify pMyself, pOther, or both. For now,
the code will initialize the pointer to NULL and won't use it. -
Open to comments on handling cell-cell contact functions. Here's what
I have in mind:notation: cell i interacts with cell j with function f(i,j).
Each cell agent can hold one contact-based interaction function f,
to be stored as a pointer in the cell's instance of the Cell_Functions
class.We use the containers (and their interaction testing structures) to
identify all interactions (i,j,f), and add it to a vector of interactions.
The interaction (i,j,f) is added to the list so long as (j,i,f) is not
already in the list, to avoid double-counting the interaction.The code will seek through the "container" interaction testing
data structure, probably at the cell mechanics time scale, and update /
recreate the vector of contact-based interactions (i,j,f).The code would likely go through the vector of interactions and
execute the codes once per dt_diffusion time step, since I would
imagine molecular biology (with faster time scales) is intended here.Since f(i,j) can potentially modify both cell i and cell j, it's probably
not thread-safe. So we'll probably need that in a non-parallel loop.We will probably add a new time scale for interactions, dt_interactions,
and update the interaction list on that time scale.For faster checking if (i,j,f) or (j,i,f) is already in the vector,
we'll probably want some sort of hash map in addition to the vector
of interactions.We'll probably implement this all in something like
PhysiCell_contact_interctions.*, and add a global enable/disable option.
I'd imagine we'd add code to the "update_all_cells" to keep this
as simple to the users as possible.We should probably update each cell's "neighbors" data structure at
when we're doing all this testing.In a longer-term update, we could leverage that for simpler interaction
testing during velocity updates.
Bugfixes:
-
Added missing "omp_set_num_threads(PhysiCell_settings.omp_num_threads)"
in the main-heterogeneity.cpp file for the heterogeneity sample project. -
In BioFVM, Microenvironment::compute_gradient_vector(int), removed "static"
from "static std::vector indices(3,0)" to prevent rare segfaults. -
Changed root above the comment lines in output files for
better Python parsing compatibility. Thanks, rheiland!
Notices for intended changes that may affect backwards compatibility:
- None.
Planned future improvements:
-
Further XML-based simulation setup.
-
read saved simulation states (as MultiCellDS digital snapshots)
-
"mainline" prototype cell attach/detach mechanics as standard models
(currently in the biorobots and immune examples) -
integrate SBML-encoded systems of ODEs as custom data and functions
for molecular-scale modeling -
integrate Boolean network support from PhysiBoSS into the mainline code
(See https://doi.org/10.1101/267070.) -
Develop contact-based cell-cell interactions. (Likely in next release.)
-
Add a new standard phenotype function that uses mechanobiology,
where high pressure can arrest cycle progression.
(See https://twitter.com/MathCancer/status/1022555441518338048.)
(Likely in next release....
Version 1.3.0
PhysiCell: an Open Source Physics-Based Cell Simulator for 3-D
Multicellular Systems.
Version: 1.3.0
Release date: 23 February 2018
Overview:
PhysiCell is a flexible open source framework for building
agent-based multicellular models in 3-D tissue environments.
Reference: A Ghaffarizadeh, R Heiland, SH Friedman,
SM Mumenthaler, and P Macklin, PhysiCell: an Open Source
Physics-Based Cell Simulator for Multicellular Systems,
PLoS Comput. Biol. 14(2): e1005991, 2018.
DOI: 10.1371/journal.pcbi.1005991
Visit http://MathCancer.org/blog for the latest tutorials and help.
Summary:
This release introduces two new cell cycle models (G0/G1 ->
S -> G2/M) and (G0/G1 -> S -> G2 -> M), introduces XML-based
configuration files, and allows new user control on how
often and where data are stored.
As usual, the release also contains minor bugfixes and
improvements.
NOTE: OSX users must now define PHYSICELL_CPP system variable.
See the documentation.
Major new features and changes:
-
implemented new cell cycle models:
flow_cytometry_cycle_model: G0/G1 -> S -> G2/M
flow_cytometry_separated_cycle_model: G0/G1 -> S -> G2 -> Malong with documentation and updated coloring functions
-
The oxygen-based phenotype models now support the new cycle
model. -
Added XML file parsing for use in settings files.
-
XML configuration file (in ./config/PhysiCell_settings.xml)
sets data destination (as a subfolder) and save
frequency. Legacy saves are now off by default. -
Users can select a different XML file at command line
./project_name settings_file.xml
(Assuming you preserved the structure of the template
projects.) -
Updated User_Guide to reflect new XML parsing capabilities.
-
Updated User_Guide to reflect new cell cycle models,
including reference parameters chosen for consistency with
the other cycle models.
Minor new features and changes:
-
Added PhysiCell_pugixml.* for easier extraction of parameter
arguments from XML files -
Added PhysiCell_settings.* to include parsing of XML parameter
files, and parameter values stored in a unified data structure. -
Added parsing of settings file to separately set frequency of
saving full output (MultiCellDS), SVG outputs, and "legacy"
outputs from USC era. -
Added options to specify the folder of saved data.
-
Added option to read the number of OMP threads from a setting file.
-
Added "beta" directory where we will put new features that are still
undergoing testing -
Minor updates to the Quickstart guide.
-
Added new function: to display the simulation status:
void display_simulation_status( std::ostream& os );
e.g., display_simulation_status( std::cout );
-
writePov() uses a user-specified output folder.
-
log_output() uses a user-specified output folder.
-
added "beta-testing" sample project. Populate it by the rule:
make beta-testing -
added flow_cytometry_separated_cycle_model to the PhysiCell constants.
-
added G1pm_phase and G1ps_phase to the PhysiCell constants.
-
Added new coloring function: false_cell_coloring_cytometry
-
added support for the new cytometry cycle models to the oxygen-based
phenotype model (update_cell_and_death_parameters_O2_based) -
updated user manual to reflect new cytometry models
-
updated template2D and template3D projects to use to use the
new cytometry models and coloring schemes. Also reduced to
1 mm x 1 mm (2D) and 1 mm^3 (3D) for faster demos. -
removed archives directory
Beta features (not fully supported):
- XML functions moved from beta to production.
Bugfixes:
-
Changed instances of uniform_random() (from BioFVM) to
UniformRandom() (from PhysiCell) so that all calls to the PRNG
used the same random seed and same PRNG. Thanks, olliemcdonald! -
Fixed typo in "Dirichlet" in user documentation. Thanks, luissv7!
-
Removed .git directory that was accidentally included in releases
-
Updated PhysiCell_MultiCellDS.cpp
(add_PhysiCell_cells_to_open_xml_pugi) so that we exit(-1) with a
meaningful error message if we cannot open a matlab subfile
for writing. -
Updated PhysiCell_pathology.cpp (SVG_plot) so that we exit(-1)
with a meaningful error message if we cannot open an SVG file
for writing.
Notices for intended changes that may affect backwards compatibility:
- template_projects folder will be removed
Planned future improvements:
-
Further XML-based simulation setup.
-
read saved simulation states (as MultiCellDS digital snapshots)
-
"mainline" prototype cell attach/detach mechanics as standard models
(currently in the biorobots and immune examples) -
integrate SBML-encoded systems of ODEs as custom data and functions
for molecular-scale modeling -
create an angiogenesis sample project
-
create a small library of angiogenesis and vascularization codes as
an optional standard module in ./modules (but not as a core component)
Version 1.2.2
PhysiCell: an Open Source Physics-Based Cell Simulator for 3-D Multicellular Systems.
Version: 1.2.2
Release date: 4 November 2017
Overview:
PhysiCell is a flexible open source framework for building agent-based multicellular models in 3-D tissue environments.
Reference: Ghaffarizadeh et al., PLoS Comput Biol (2017)
preprint URL: https://doi.org/10.1101/088773
Visit http://MathCancer.org/blog for the latest tutorials and help.
Key makefile rules:
make : compiles the current project. If no project has been defined, it first populates the cancer heterogeneity 2D sample project and compiles it
make [project-name] : populates the indicated sample project. Use "make" to compile it.
[project_name] choices:
template2D
template3D
biorobots-sample
cancer-biorobots-sample
heterogeneity-sample
cancer-immune-sample
make clean : removes all .o files and the executable, so that the next "make" recompiles the entire project
make data-cleanup : clears out all simulation data
make reset : de-populates the sample project and returns to the original PhysiCell state. Use this when switching to a new PhysiCell sample project.
Homepage: http://PhysiCell.MathCancer.org
Downloads: http://PhysiCell.sf.net
Support: https://sourceforge.net/p/physicell/tickets/
Quick Start: Look at QuickStart.pdf in the documentation folder.
User Guide: Look at UserGuide.pdf in the documentation folder.
Tutorials: http://www.mathcancer.org/blog/physicell-tutorials/
Latest info: follow @MathCancer on Twitter (http://twitter.com/MathCancer)
See changes.txt for the full change log.
Summary:
This release reduces the complexity of Makefiles (especially for OSX users), restructures the 2D and 3D project templates as sample projects, fixes a minor bug in SVG pathology outputs, improves copying of Cell_Definitions, and fixes minor bugs in BioFVM (primarily related to Dirichlet conditions).
NOTE: OSX users must now define PHYSICELL_CPP system variable. See the documentation.
PhysiCell is currently under scientific peer review.
Major new features and changes:
- none
Minor new features and changes:
-
Restructured the 2D template project to have the same structure as a
typical project, with setup functions related functions in
./custom_modules/*, etc. Moved it to ./sample_projects/template2D/
./template_projects/ will be deprecated.To populate this project, use:
make template2D
To compile:
make
To de-populate the sample project and return to the "clean"PhysiCell state:
make reset
make clean (to remove object files) -
Restructured the 3D template project to have the same structure as a
typical project, with setup functions related functions in
./custom_modules/*, etc. Moved it to ./sample_projects/template3D/
./template_projects/ will be deprecated.To populate this project, use:
make template3D
To compile:
make
To de-populate the sample project and return to the "clean"PhysiCell state:
make reset
make clean (to remove object files) -
Simplified Makefiles: populating a sample project and compiling it
make <sample_project>
To compile:
make
To reset to original state:
make reset
Current <sample_project> values:
template2D
template3D
biorobots-sample
cancer-biorobots-sample
heterogeneity-sample
cancer-immune-sample -
Simplified Makefiles: Makefiles check for system variable
PHYSICELL_CPP to set the compiler (CC). OSX users must set
this environment variables. See the online tutorials and the
user guide. -
Simplified Makefiles: "make data-cleanup" removes .svg, .mat, .xml, and
data inside ./data -
Updated documentation on how to add new substrates.
-
Updated documentation on applying Dirichlet conditions to only
specific substrates. -
Added new function to copy the properties of a Cell Definition to
the cell.void Cell::convert_to_cell_definition( Cell_Definition& cd )
Bugfixes:
-
Fixed a small error in SVG plots, where tissues were flipped with
y was vertically flipped. -
Used register_microenvironment(Microenvironment*) to improve
compatibiltiy with other operating systems and compilers. -
Added copy constructor and copy assignnment functions to the
Cell_Definition is. -
Removed the unnecessary "wha???" from BioFVM_microenvironment.cpp.
-
Updated Dirichlet_condition_vector = ones (instead of zeros) in
Microenvironment_Options::Microenvironment_Options() default
constructor. -
Microenvironment::resize_densities( int new_size ) no longer
overwrites previous dirichlet values when extending the size. -
No longer overwrites existing Dirichlet_condition_vector elements
or set default_microenvironment_options.use_oxygen_as_first_field
to false. -
Microenvironment::set_density(int,std::string,std::string) and
Microenvironment::set_density(int,std::string,std::string,double,double)
were modified to be compatibility. -
Only set default_microenvironment_options.use_oxygen_as_first_field = false
if index = 0, when samplign the oxygen. -
Updated save_PhysiCell_to_MultiCellDS_xml_pugi() to save much more
phenotype information and all custom variables for each cell. -
Updated read_MultiCellDS_XML.m (in ./matlab) to read these
newly expanded data files. -
Includes a sneak preview of BioFVM 1.1.7, which includes bugfixes
mentioned above.
Notices for intended changes that may affect backwards compatibility:
- None at this time
Planned future improvements:
-
parse XML configuration files
-
read saved simulation states (as MultiCellDS digital snapshots)
-
"mainline" prototype cell attach/detach mechanics as standard models
(currently in the biorobots and immune examples) -
integrate SBML-encoded systems of ODEs as custom data and functions
for molecular-scale modeling -
create an angiogenesis sample project
-
create a small library of angiogenesis and vascularization codes as
an optional standard module in ./modules (but not as a core component)
Version 1.2.1
PhysiCell: PhysiCell: an Open Source Physics-Based Cell Simulator for 3-D
Multicellular Systems.
Version: 1.2.1
Release date: 1 September 2017
Homepage: http://PhysiCell.MathCancer.org
Downloads: http://PhysiCell.sf.net
Summary:
This release introduces a improved MultiCellDS outputs, new matlab
functions to read the MultiCellDS outputs, experimental functions
for povray routines (for 3-D raytracing), some bugfixes, and
new sample projects in cancer heterogeneity, synthetic multicellular
bioengineering, and cancer immunology.
PhysiCell is currently under scientific peer review.
Major new features and changes:
-
Updated save_PhysiCell_to_MultiCellDS_xml_pugi() to save much more
phenotype information and all custom variables for each cell. -
Updated read_MultiCellDS_XML.m (in ./matlab) to read these
newly expanded data files. -
Included new matlab functions for fast 3-D data exploration:
simple_plot.m -- quickly plots (as a surface) all the cells
simple_cutaway_plot.m -- same as above, but with a cutaway view
composite_cutaway_plot.m -- plots cutaway view of live and dead
cells, colored separately. -
Wrote new POV-ray functions for future raytracing utilities. See
./modules/PhysiCell_POV.* -
Add the following new sample projects:
biorobots: simulates a system of director, worker, and cargo
cells that coordinate to deliver cellular cargo to the
directors. Uses motility, custom mechanics, and other functions.build via: make biorobots-sample && make project
cancer biorobots: modifies the above project so that worker
cells take cargo to hypoxic tumor regions. cargo cells
release a drug once they are detached from worker cells.
tumor cells have a damage and apoptosis model.build via: make cancer-biorobots-sample && make project
heterogeneity: simulates proliferation of a heterogeneous
tumor. Note the loss of symmetry and selection/evolution.build via: make heterogeneity-sample && make project
cancer immunology: simulates an immune system attack on a
tumor with heterogeneous proliferation and immunogenicity
characteristics. In 3D!build via: make cancer-immune-sample && make project
Minor new features and changes:
-
Added double NormalRandom( double mean, double standard_deviation )
to PhysiCell_utilities.* This will generate normally-distributed
random numbers. -
Includes a sneak preview of BioFVM 1.1.7, which includes bugfixes on
how boundary conditions were initialized.
bugfixes:
-
Removed annoying "cout" lines in:
void standard_live_phase_entry_function(Cell*,Phenotype&,double).
They were leftover from debugging. Sorry!
-
In the templates, we updated to:
while( t < t_max + 0.1*diffusion_dt ) {
so that the simulations run all the way to the final time,
instead of exiting too early by dt time. -
Fixed a bug in Motility::Motility() where the migration bias was
initialized to (1,0,0). -
Made adhesion and repulsion symmetric across cells (in add_potentials)
-
got rid of debug_temp_a in (in add_potentials)
-
if default_microenvironment_options.simulate_2D == true, we now
set velocity[2] = 0.0 in the velocity functions.