Multiscale simulation of multi-cellular system
Overview:
PhysiBoSS (PhysiCell-MaBoSS) is C++ software for multiscale simulation of heterogeneous multi-cellular system. It integrates together cell's internal signalling pathway model (boolean formalism), physical representation of cell (agent-based) and extra-cellular matrix diffusing or fixed entities. It is adapted from PhysiCell sources, with the boolean network computation inside each cell from MaBoSS software.
PhysiBoSS should run and be easily installed on Linux and MacOS system.
It requires moderatly recent version of C++ (at least c++11) and OpenMP support. Compilation of MaBoSS library requires flex
and bison
library, usually already present (and can be easily installed on e.g. Linux ubuntu with sudo apt-get install bison flex
). We also provide a Docker image of PhysiBoSS that can be used if it cannot be installed in your machine. It can also be used without any installation via a Web interface for specific simulations on nanohub.
To install it on Linux system, from a Terminal:
Clone the repository on your local machine, and go inside the main directory. Type make install
, which will install and compile MaBoSS then PhysiBoSS. The executables will be created in the 'bin' directory if all goes well.
It can be compiled in 'Debug', 'Release' or 'Proliling' modes, to set in the 'Makefile' file. Default is 'Release' mode (fastest).
You might also have to change your c++ compiler in the Makefile according to your operating system.
Commands list:
git clone https://github.com/gletort/PhysiBoSS.git
cd PhysiBoSS
make install
If errors happened during the compilation, please refer to the installation page.
To run a simulation, you need (at least) a XML parameter file indicating the conditions of the simulation, and the networks file (you can find some on MaBoSS website and on our logical modelling pipeline repository). Other options are possible, cf the code-documentation or this repository wiki for more informations.
Example of a parameter file (with only few parameters shown):
<?xml version="1.0" encoding="UTF-8" ?>
<simulation>
<time_step> 0.2 </time_step>
<mechanics_time_step> 0.1 </mechanics_time_step>
....
</simulation>
<cell_properties>
<mode_motility> 1 </mode_motility>
<polarity_coefficient> 0.5 </polarity_coefficient>
...
</cell_properties>
<network>
<network_update_step> 10 </network_update_step>
...
</network>
<initial_configuration>
<load_cells_from_file> init.txt </load_cells_from_file>
...
</initial_configuration>
To visualize graphically the result of a simulation, with use the software Paraview (or you can also generate a .svg
snapshot of the simulation). Analysis of the result files were done with python scripts proposed in this directory. For documentation on how to use Paraview to set-up the rendering of PhysiBoSS outputs, see here, with the explication on how to draw spheres from a set of points (x, y, z, radius).
PhysiBoSS can be directly used via a Web interface on nanohub. This allows to run it without any installation and running directly on the server and can be used without any coding skills. The parameters of the simulation can be entered in the interface and then the simulation will be runned on the nanohub server. It just required a nanohub account. Available simulations tools of PhysiBoSS can be found on https://nanohub.org/resources/tools, under the keywords PhysiBoSS or PhysiBoSSa.
A model of tumors cell spheroid growing and invading into the surrounding extra-cellular matrix (ECM) is currently available PhysiBoSSa_ECM. Various parameters as the density of the extracellular matrix, the cell motility, ECM degradation from the cells, TGF-beta production... can be tuned by the user.
Code-oriented documentation can be generated with Doxygen:
make doc
in the main directory. It can be configured in the Doxyfile file present in this directory. It will generate the html documentation in the doc/html directory. You can visualize it in a browser, e.g.:
firefox doc/html/index.html &
You can also refer to (future) publications with PhysiBoSS for scientific applications of this software and description of the models.
Step-by-step examples with the necessary files to run them are also proposed in the 'examples' directory and on the Wiki of this repository.
For PhysiBoSS:
- PhysiBoSS publication: Letort G, Montagud A, Stoll G, Heiland R, Barillot E, Macklin P, Zinovyev A, Calzone L . PhysiBoSS: a multi-scale agent-based modelling framework integrating physical dimension and cell signalling. Bioinformatics, bty766, doi:10.1093/bioinformatics/bty766
For PhysiCell:
- Paul Macklin's lab website
- PhysiCell publication: A. Ghaffarizadeh, S.H. Friedman, S.M. Mumenthaler, and P. Macklin, PhysiCell: an Open Source Physics-Based Cell Simulator for 3-D Multicellular Systems, bioRxiv 088773, 2016. DOI: 10.1101/088773.
- BioFVM website
- BioFVM publication: A. Ghaffarizadeh, S.H. Friedman, and P. Macklin. BioFVM: an efficient, parallelized diffusive transport solver for 3-D biological simulations. Bioinformatics, 2015.
For MaBoSS:
- MaBoSS website
- MaBoSS publication: Stoll G, Viara E, Barillot E, Calzone L. Continuous time Boolean modeling for biological signaling: application of Gillespie algorithm. BMC Syst Biol. 2012 Aug 29;6:116. doi: 10.1186/1752-0509-6-116.
Please, refer to the Wiki of this repository for a much more extended documentation, with step by step examples instructions.
PhysiCell is developed in Paul Macklin's lab. MaBoSS and PhysiBoSS are developed in the Computational Systems Biology of Cancer group at Institut Curie (Paris, France).
We invite you to use PhysiBoSS for you research and give feedbacks to us. Any help in developing it further is more than welcome. Do not hesitate to contact us for any comments or difficulties in using PhysiBoSS: physiboss@gmail.com.
Wishing you to enjoy using PhysiBoSS,
PhysiBoSS's team.