You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+56-18
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,29 @@
7
7
8
8
In this framework [[1](#references)] for modeling the ECM and cell-ECM interactions, we divide the ECM into volumetric elements that track local ECM density, alignment, and overall anisotropy (local microstructure). Individual cell agents can locally remodel each of these properties, while these properties can in turn influence cell behavior including changes in migration speed, chemotactic response, ECM contact guidance, proliferation, death, secretion, and differentiation. It is implemented as an extension of the open source package PhysiCell [[2]](#references) and can readily be used to incorporate local ECM effects into agent-based models, in particular through PhysiCell rules [[3]](#references).
9
9
10
-
For additional details and background on the components of this framework, see [1](#references)
10
+
For additional details and background on the components of this framework, see [[1](#references)]
11
+
12
+
## Overview of repository structure and key files
13
+
14
+
### ECM and cell-ECM core files
15
+
16
+
All the examples use the same core source code files. These are the core of the framework and its extension to PhysiCell. They are:
- Contains the ECM element and ECM mesh class definitions and other initilization routine
20
+
-`cell_ECM_interactions.h/cell_ECM_matrix.cpp`
21
+
- Contains functions for the bidirectional cell-ECM interactions, generating a default ECM compatible agent, and custom output routines
22
+
23
+
These files are currently located in `custom_modules`.
24
+
25
+
### Model files
26
+
27
+
There are three example models, several variants of the leader-follower model, and simple test models. See the below `Compling and running sample models` below for details on those models.
28
+
29
+
There is one makefile for all compilation. It is located in the `root`.
30
+
31
+
Each base model has a main_XXX.cpp (in `root`), custom source code (in `custom_code`), and one to several additional model specficifcation files in `config` - always including an XML-based model config file and sometimes including PhysiCell rules and initial cell position files (both .csv's). The config directory also contains special XML-bassed model files for testing and making stochastic replicates.
32
+
11
33
12
34
## Using the framework
13
35
@@ -21,6 +43,8 @@ There are 3 main sample models as well as a series of simple tests. Listed below
21
43
22
44
`make` - compiles the AMIGOS-invasion executable
23
45
46
+
The following output directories will need made to run the simulations below: `simple_test0`, `simple_test1`, `simple_test3`, and `simple_test4`. `simple_test2` is already in the repository.
47
+
24
48
Simple tests - demonstrating the main cell-ECM interactions as one way (either ECM remodeling or ECM following) experiments:
25
49
26
50
-`./AMIGOS-invasion config/simple_test0_straight_ECM.xml` - ECM following: random 1-D motion along vertically oriented ECM
@@ -35,16 +59,22 @@ Simple tests - demonstrating the main cell-ECM interactions as one way (either E
35
59
36
60
-`./fibrosis config/fibrosis.xml` - simulated tissue insult is cleared by macrophages, which recruit fibroblasts that increase ECM density in the presence of macrophages, leading to hyperdense ECM that is relatively impenetrable cells surrounding a region of relatively less dense ECM where the tissue insult occurred (Figure 3 from [[1](#references)]).
37
61
62
+
Output will go to `fibrosis_test`
63
+
38
64
#### _Basement membrane degradation and stromal invasion_:
-`./invasive_carcinoma config/invasive_carcinoma.xml` - simulation of basement membrane degradation by tumor recruited fibroblasts, leading to invasion of stroma by previously _in situ_ tumor (Figure 4 from [[1](#references)]).
43
69
70
+
Output will go to `invasive_carcinoma_output`
71
+
44
72
#### _Leader-follower and collective migration model_:
45
73
46
74
`make` - compiles the AMIGOS-invasion executable
47
75
76
+
The following output directories will need made to run the simulations below: `adh_0_repulsion_0_speed_10_no_reading`, `adh_0_repulsion_0_speed_10_no_writing`, `adh_0_repulsion_0_speed_10`, `adh_10_replusion_25_speed_080`, `adh_10_replusion_25_speed_050`, `adh_10_replusion_25_speed_010`, and `leader_follower_decreased_remodeling`. `leader_follower` is already in the repository.
77
+
48
78
-`./AMIGOS-invasion writing_only.xml`- No contact guidance in the follower cell population - notably lacks outward migration of fiber following cells ("followers") (Figure 5a from [[1](#references)])
49
79
-`./AMIGOS-invasion reading_only.xml` - No production of directional cues in ECM for followers to follow - notably lacks outward migration of fiber following cells (Figure 5b from [[1](#references)])
50
80
-`./AMIGOS-invasion writing_and_reading.xml` - Enables the two cell populations (leader and follower), with leaders producing paths in the ECM that followers follow (stigmergy) (Figure 5c from [[1](#references)])
@@ -56,15 +86,15 @@ Simple tests - demonstrating the main cell-ECM interactions as one way (either E
56
86
57
87
### Running through the Studio
58
88
59
-
All the above models (and in general any PhysiCell model) can be run via the PhysiCell Studio ([User Guide](https://github.com/PhysiCell-Tools/Studio-Guide/blob/main/README.md) and reference [[x]](#references)).
89
+
All the above models (and in general any PhysiCell model) can be run via the PhysiCell Studio ([User Guide](https://github.com/PhysiCell-Tools/Studio-Guide/blob/main/README.md) and reference [[4]](#references)).
60
90
61
91
Briefly, to run an ECM-based model AND enable visualization of the ECM variables (anisotropy, density, and orientation), use the following pattern to start the Studio:
This assumes you are invoking python in the same directory as the executable and that your config file is in `config`. Note that in the command above, we use `studio_ecm.py` NOT `studio.py`. Using `studio_ecm.py` will add builtin ECM field visualization to the Studio. However, this is not an officially supported feature of the Studio, so it may at some point be deprecated without notice. We will attempt to maintain compatiability.
95
+
This assumes you are invoking python in the same directory as the executable and that your config file is in `config`. Note that in the command above, we use `studio_ecm.py` NOT `studio.py`. Using `studio_ecm.py` will add built-in ECM field visualization to the Studio. However, this is not an officially supported feature of the Studio, so it may at some point be deprecated without notice. We will attempt to maintain compatiability.
66
96
67
-
Note that the ECM-based models are modifiable in the regular version of the studio, but the ECM visualization is not. Please see the PhysiCell Studio Guide and preprint for general information and details on the Studio.
97
+
Note that the ECM-based models are modifiable in the regular version of the studio, but the ECM visualization is not. Please see the PhysiCell Studio Guide and preprint for general information and details on the Studio.
68
98
69
99
### nanoHUB
70
100
@@ -75,21 +105,17 @@ A cloud-based, executable version of the leader-follower model is available at [
75
105
76
106
In addition to the standard PhysiCell outputs, our model outputs an ECM specific MATLAB file at each save time. The file is saved to the `output` folder with the form `outputxxxxxxxx_ECM.mat` where `xxxxxxxx` is the _i_ th simulation output. The MATLAB file contains one array named `ECM_Data` with each column representing a voxel (indexed using voxel id) and rows representing the x, y, and z voxel coordinates, ECM anisotropy, ECM density, and fiber orientation x, y, and z components.
77
107
108
+
ECM anisotropy and density can also be output to non-diffusing fields through the function `copy_ECM_data_to_BioFVM` in `cell_ECM_interactions.cpp`. Currently, this is enabled by uncommenting the line `// copy_ECM_data_to_BioFVM();` in each models main file. Note that to use this feature, the model needs to have the fields `ECM_anisotropy` and `ECM_density` in the model config file (xml file) and the ECM element size has to match the diffusion voxel size. These fields can be added to any model config file through the Studio - make a new field, change the field name to match the above exactly and accept the defaults (0 for everything). Do this twice.
109
+
78
110
## ECM visualization
79
111
80
112
This data can be visualized using the README and scripts in [python_imaging](python_imaging/). We provide general image production through a general template script [image_processing_script.py](python_imaging/image_processing_script.py) which accesses the *PhysiCellPlotter* class in the module *Image processing for PhysiCell* in [image_processing_for_physicell.py](python_imaging/image_processing_for_physicell.py). For image production settings optimzied for the default parameter settings, see [partial_history_multilevel_contour_still.py](python_imaging/partial_history_multilevel_contour_still.py) and [partial_history_multilevel_contour_movie.py](python_imaging/partial_history_multilevel_contour_movie.py). This script will make an overlaying composite plot of cells (leaders are blue and followers are yellow), a contour plot showing oxygen (in red) and a quiver plots showing cell movement history. Note that we do our best to ensure that all code and scripts in `python_imaging` work without alteration and as expected - and please consider it to be a preliminary release that is not guanteed to work and that may change in the future.
81
113
82
-
## Future work
83
-
84
-
- Remove deprecated user_parameters from all model files and code base.
85
-
- Add "Exploration of leader-follower collective migration model" into README (using previous, but currently out of date material).
86
-
- Could include several model walk throughs by video
87
-
- Could include more in depth context for the leader-follower collective migration
88
-
- Could include more on the ECM model details (again out of date material is available for updating)
114
+
For rapid visualization, the Studio can be used - in either regular or ECM mode. Note that if ECM anisotropy and density are output to the standard microenvironment outputs, they can visualized with regular version of the Studio.
89
115
90
116
## Running PhysiCell simulations across a team
91
117
92
-
PhysiCell can be run in a distributed fashion across a team using DAPT: Distributed Automated Parameter Testing [5]. See the coder[here](https://github.com/BenSDuggan/DAPT) including a [detailed PhysiCell example](https://github.com/PhysiCell-Tools/DAPT-example).
118
+
PhysiCell can be run in a distributed fashion across a team using DAPT: Distributed Automated Parameter Testing [5]. See the code[here](https://github.com/BenSDuggan/DAPT) including a [detailed PhysiCell example](https://github.com/PhysiCell-Tools/DAPT-example).
93
119
94
120
## Some key makefile rules
95
121
@@ -107,23 +133,35 @@ make zip-source : compresses all files required to reproduce simulation
107
133
108
134
See makefile for additional rules.
109
135
136
+
## Future work
137
+
138
+
- Remove deprecated user_parameters from all model files and code base.
139
+
- Add "Exploration of leader-follower collective migration model" into README (using previous, but currently out of date material).
140
+
- Could include several model walk throughs by video
141
+
- Could include more in depth context for the leader-follower collective migration
142
+
- Could include more on the ECM model details (again out of date material is available for updating)
143
+
- Review optimal way to include `copy_ECM_data_to_BioFVM`
144
+
- Will possibly add an XML parameter for this
145
+
- Will review possibly calling at mechanics or phenotype time step (currently being called at diffusion time step)
146
+
- Additonal future work is included in [[1](#references)]
110
147
111
148
## Acknowledgements
112
149
113
150
This work was funded in part by a joint (AMIGOS) JKTGF and BCRF grant. We thank Margherita Botticelli for many productive conversations on the cell-ECM interaction code.
114
151
115
152
## References
116
153
117
-
[1] Metzcar, J, Duggan, BS, Fischer, B, Murphy, M, Heiland, R., Macklin, P. A simple framework for agent-based
118
-
modeling with extracellular matrix. bioRxiv 2022.11.21.514608; doi: [https://doi.org/10.1101/2022.11.21.514608](https://doi.org/10.1101/2022.11.21.514608)
154
+
[1] Metzcar, J., Duggan, B.S., Fischer, B., Murphy, M., Heiland, R., Macklin, P, 2024. A simple framework for agent-based modeling with extracellular matrix. bioRxiv 2022.11.21.514608; https://doi.org/10.1101/2022.11.21.514608
155
+
156
+
[2] Ghaffarizadeh, A., Heiland, R., Friedman, S.H., Mumenthaler, S.M., and Macklin, P. PhysiCell: an Open Source Physics-Based Cell Simulator for Multicellular Systems, PLoS Comput. Biol. 14(2): e1005991, 2018. https://dx.doi.org/10.1371/journal.pcbi.1005991
157
+
158
+
[3] Johnson, J.A.I., Stein-O’Brien, G.L., Booth, M., Heiland, R., Kurtoglu, F., Bergman, D.R., Bucher, E., Deshpande, A., Forjaz, A., Getz, M., Godet, I., Lyman, M., Metzcar, J., Mitchell, J., Raddatz, A., Rocha, H., Solorzano, J., Sundus, A., Wang, Y., Gilkes, D., Kagohara, L.T., Kiemen, A.L., Thompson, E.D., Wirtz, D., Wu, P.-H., Zaidi, N., Zheng, L., Zimmerman, J.W., Jaffee, E.M., Chang, Y.H., Coussens, L.M., Gray, J.W., Heiser, L.M., Fertig, E.J., Macklin, P.. Digitize your Biology! Modeling multicellular systems through interpretable cell behavior. bioRxiv, 2023. https://doi.org/10.1101/2023.09.17.557982
119
159
120
-
[2] Ghaffarizadeh, A, Heiland, R, Friedman, SH, Mumenthaler, SM, and Macklin, P. PhysiCell: an Open Source Physics-Based Cell Simulator for Multicellular Systems, PLoS Comput. Biol. 14(2): e1005991, 2018. DOI: [10.1371/journal.pcbi.1005991](https://dx.doi.org/10.1371/journal.pcbi.1005991)
121
160
122
-
[3] Cheung KJ, Gabrielson E, Werb Z, Ewald AJ. Collective invasion in breast cancer requires a conserved basal epithelial program. Cell 2013; 155(7):1639-51. [10.1016/j.cell.2013.11.029](10.1016/j.cell.2013.11.029)
161
+
[4] Heiland, R., Bergman, D., Lyons, B., Cass, J., Rocha, H.L., Ruscone, M., Noël, V., Macklin, P.. PhysiCell Studio: a graphical tool to make agent-based modeling more accessible. bioRxiv, 2023 https://doi.org/10.1101/2023.10.24.563727
123
162
124
-
[4] Nguyen-Ngoc KV\*, Cheung KJ*, Brenot A, Shamir ER, Gray RS, Hines WC, Yaswen P, Werb Z, Ewald AJ. The ECM microenvironment regulates collective migration and local dissemination in normal and malignant mammary epithelium. Proceedings of the National Academy of Science 2012; [10.1073/pnas.1212834109](10.1073/pnas.1212834109)*Co-First Authors. PMCID: PMC3465416
163
+
[5] Duggan, B.S., Metzcar, J., and Macklin, P. DAPT: A package enabling distributed automated parameter testing. Gigabyte 2021, 1–10, 2021. https://doi.org/10.46471/gigabyte.22
125
164
126
-
[5] Duggan, BS, Metzcar, J, and Macklin, P (2021). DAPT: A package enabling distributed automated parameter testing. Gigabyte 2021, 1–10. [10.46471/gigabyte.22](10.46471/gigabyte.22).
127
165
128
166
129
167
**Latest PhysiCell info:** follow [@PhysiCell](https://twitter.com/PhysiCell) on Twitter (http://twitter.com/PhysiCell)
0 commit comments