-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
e623b33
commit c9c8716
Showing
1 changed file
with
18 additions
and
75 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,91 +1,34 @@ | ||
# Angiogenesis | ||
|
||
## Project description | ||
This is the code base for the publication: | ||
**Bridging scales: A hybrid model to simulate vascular tumor growthand treatment response** | ||
by Duswald, Lima, Oden, and Wohlmuth (2023) available [here](https://doi.org/10.1016/j.cma.2023.116566). | ||
|
||
* Goal: simulate cancer and the related phenomenon angiogenesis with a hybrid | ||
(ABM+PDE) model. | ||
* Stages: | ||
1) Scenario: few hypoxic cancer cells surrounding a vessel. Cells secrete VEGF | ||
to trigger sprouting and apical growth. The vessel then grows towards the | ||
cells and if the nutrient concentration at the hypoxic cells is beyond a | ||
threshold (or they are simply close to a vessel), then the cell become | ||
quiescent. Vessels are supposed to follow the gradient. | ||
2) Possible extensions: | ||
* Include growth of primary tumor | ||
* Possibly include complicated initial vessel configurations from image | ||
data | ||
* Use more complicated continuum models | ||
* Data: yet to be defined | ||
* Metrics: yet to be defined | ||
|
||
## Software stack | ||
## Software Stack and Depndencies | ||
|
||
* BioDynaMo. To install, consult the | ||
[BDM dev-guide](https://biodynamo.org/docs/devguide/build/). Install the | ||
latest master as described in the link. Following the dev-guide allows us to | ||
easily upgrade and extend BioDynaMo if necessary. | ||
|
||
## Running the simulation | ||
## Running the simulations | ||
|
||
BioDynaMo needs to be installed and sourced, e.g. | ||
```bash | ||
source <path_to_biodynamo>/biodynamo/build/bin/thisbdm.sh | ||
``` | ||
The simulation can then be executed by simply running | ||
```bash | ||
bdm run | ||
Building on the BioDynaMo platform, the commands to running the simulations | ||
assume a functional installation of BioDynaMo and are | ||
``` | ||
in your project directory. You can verify component of the model by running a | ||
very similar command | ||
```bash | ||
bdm test | ||
``` | ||
We outsourced all parameters steering the simulation to `src/sim_param.h` and | ||
one can modify the parameters in `bdm.json` without the need to recompile the | ||
simulation. Further ways to feed parameters to the simulation are the following: | ||
|
||
1. ```cpp | ||
// Define parameters | ||
auto set_param = [&](Param* param) { | ||
auto* sparam = param->Get<SimParam>(); | ||
param->statistics = true; | ||
param->calculate_gradients = false; | ||
sparam->some_value = some_value | ||
}; | ||
|
||
// Initialize the simulation | ||
Simulation simulation(argc, argv, set_param); | ||
``` | ||
2. We can use BioDynaMo's CLI, e.g. | ||
``` | ||
./build/angiogenesis --inline-config '{ "bdm::SimParam": { "x": 6.28 } }' | ||
``` | ||
|
||
The output of the simulation is, by default, available in | ||
`output/angiogenesis`. | ||
|
||
## Visualization | ||
|
||
Assuming that one has successfully sourced and executed the simulation, the user | ||
simply follows up with the paraview command" | ||
```bash | ||
source <path>/thisbdm.sh | ||
bdm build | ||
bdm run | ||
paraview | ||
``` | ||
The place where we call `paraview` is indeed important. This opens a ParaView | ||
window. Follow with | ||
bdm view | ||
``` | ||
File >> Load State... >> "output/angiogenesis/angiogenesis.pvsm" >> \ | ||
Use File Name from States | ||
``` | ||
and the simulation output is ready to view. Simply click play. | ||
|
||
## Results backup | ||
## Reproducing the results of the publication | ||
|
||
In case we accidentally delete the project, the results are backed up in the | ||
Cernbox cloud. The backup is automated, e.g. run | ||
``` | ||
./backup_results.sh | ||
``` | ||
to compress the results folder and copy it to the Cernbox. | ||
Reproducing the results of the different experiments of the publication | ||
requires setting the correct parameters but also minimal changes to code, i.e., | ||
possibly adding a few lines of code to adequately set the initial conditions. | ||
This process it automated in a second repository that can be found at | ||
`TobiasDuswald/bdm-angiogenesis-reproducer`. Please consult the | ||
[README.md](https://github.com/TobiasDuswald/bdm-angiogenesis-reproducer/blob/main/README.md) | ||
of that [repository](https://github.com/TobiasDuswald/bdm-angiogenesis-reproducer) | ||
for further instructions. |