Abstract
Motivation Cancer progression is a complex phenomenon that spans multiple scales from molecular to cellular and intercellular. Simulations can be used to perturb the underlying mechanisms of those systems and to generate hypotheses on novel therapies. We present a new version of PhysiBoSS, a multiscale modelling framework designed to cover multiple temporal and spatial scales, that improves its integration with PhysiCell, decoupling the cell agent simulations with the internal Boolean model in an easy-to-maintain computational framework.
Results PhysiBoSS 2.0 is a redesign and reimplementation of PhysiBoSS, conceived as an add-on that expands the PhysiCell agent-based functionalities with intracellular cell signalling using MaBoSS having a decoupled, maintainable and model-agnostic design. PhysiBoSS 2.0 successfully reproduces simulations reported in the former PhysiBoSS and expands its functionalities such as using user-defined models and cells’ specifications, having mechanistic submodels of substrate internalisation with ODEs and enabling the study of drug synergies.
Availability and implementation PhysiBoSS 2.0 is open-source and publicly available on GitHub (https://github.com/PhysiBoSS/PhysiBoSS) under the BSD 3-clause license. Additionally, a nanoHUB tool has been set up to ease the use of PhysiBoSS 2.0 (https://nanohub.org/tools/pba4tnf/).
Contact alfonso.valencia{at}bsc.es
Supplementary information Supplementary Information, figures, and tables are available at Bioinformatics online.
Introduction
PhysiBoSS (Letort et al., 2019) is a standalone multiscale simulation software that was implemented by coupling an early version of PhysiCell (Ghaffarizadeh et al., 2018), a multiscale multicellular agent-based software that can help understand the role of the interactions between cells and their environment, and MaBoSS (Stoll et al., 2012), a continuous-time Markovian simulator for Boolean models that describe cell’s intracellular signalling. Nevertheless, PhysiBoSS presented some design problems: it can not be easily upgraded to use the current versions of any of those two pieces of software, hindering its long-term maintenance, and lacks a clear interface between these two tools, resulting in a software hard to modify and to extend without changing core functionalities.
Herein, we present PhysiBoSS 2.0, a redesign and reimplementation of PhysiBoSS. PhysiBoSS 2.0 add-on is implemented so that both PhysiCell and MaBoSS are decoupled and therefore can be upgraded independently. Furthermore, the code was designed and implemented following the best practices guidelines for bioinformatics software development, ensuring its long-term maintenance and prolonging its lifespan (Mangul et al., 2019).
Additionally, PhysiBoSS 2.0 includes new functionalities like allowing the use of highly customisable settings such as user-defined Boolean models and cell types in the configuration XML, by easing the building of user-defined examples with different Boolean models in different cell types and by enabling the study of drug effects and synergies in multiscale simulations. PhysiBoSS 2.0 is a step towards the development of a PhysiCell add-ons ecosystem of different types of models (Macklin et al., 2018) that allows for the scaling-up of simulations in exascale high-performance computing clusters (Montagud, Ponce-de-Leon, et al., 2021; Saxena et al., 2021).
Method and implementation
PhysiBoSS 2.0 was designed as an add-on interface that integrates PhysiCell and MaBoSS frameworks, reducing their dependencies and enabling new functionalities. This design simplifies the tool’s maintenance and allows for their independent upgrade. The software is written in C++ and OpenMP is available to parallelise the execution. The implementation is described in further detail in the Supplementary Information together with a template project for new users. PhysiBoSS 2.0 code is open source and is distributed under BSD 3-clause license and is available at https://github.com/PhysiBoSS/PhysiBoSS. We also provide a nanoHUB GUI-based tool implementing an example model to ease its use at https://nanohub.org/tools/pba4tnf/.
Results
The new design of PhysiBoSS 2.0 allows for new functionalities
PhysiBoSS embedded MaBoSS in PhysiCell and modified and adapted several core classes of the latter, burdening the updatability of these pieces of software. PhysiBoSS 2.0 design solves this maintainability issue by decoupling PhysiCell and MaBoSS with an interfacing add-on between them (Figure 1A, Supplementary Figure S1).
This decoupling is obtained by encapsulating the functionalities used to simulate the Boolean model in a dedicated MaBoSSNetwork class that uses the MaBoSS library to store the current Boolean state of the cell and perform the simulations. This class is then used in a specialised implementation of the Intracellular class (MaBoSSIntracellular), which describes how to import and simulate a MaBoSS intracellular model. This modularisation allows our code to be more easily maintainable. In addition, this add-on connection has been incorporated into the main PhysiCell code for this and other intracellular models (Macklin et al., 2018) (Supplementary Information and Figure S1).
This decoupling design facilitates the use of the latest versions of MaBoSS and PhysiCell, allowing PhysiBoSS 2.0 to incorporate new features that enable studies that were not possible with the former PhysiBoSS. For instance, by using PhysiCell 1.9, we can track internalised substrates in cells, use configuration XML files to specify cell types and have cell-cell contact behaviours. Also, by using MaBoSS 2.3.4, we can work with Boolean models with more than 64 nodes, use OpenMP to parallelise the simulation, be able to run under Microsoft Windows OS, run different Boolean models in the same simulation and define these models in the SBML standard (Supplementary Information, Figure S8 and S9).
Additionally, our design allows PhysiBoSS 2.0 to ease the integration of new Boolean models by using custom modules that connect intracellular variables to agent-based ones and configuration XML files with custom data for different cell types and environments that is a beta feature of PhysiCell 1.7.1.
PhysiBoSS 2.0 enables multiscale modelling that uncovers mechanisms of drug treatments and synergies
The decoupling of the codes allows for users to have unprecedented flexibility in studying more complex multiscale models that bridge different time and space scales. We showcase here two examples: the integration of a transport module for environmental substrates and the integration of pharmacodynamics and Boolean models to study drug combinations.
We incorporated an ODE-based transport module into an already published Boolean model that studies the cells’ response to different tumour necrosis factor (TNF) dosage recipes (Calzone et al., 2010). We replicated work reported by Letort, et al. (2019) using this model that showed complex dynamics and emergent behaviour: continuous exposures to TNF resulted in cells becoming resistant to the effect of the cytokine, whereas short pulses of a certain frequency caused the reduction of the tumour spheroid (Figure 1B). The TNF transport module focuses on the substrate’s receptor dynamics allowing for the explicit modelling of the transport of environmental substrates such as nutrients and drugs inside the agents using ODEs and studying their effects on the Boolean model. This transport module can be user-defined to capture the particularities of different nutrients and drugs and it can be used to find optimal drug regimes (Akasiadis et al., 2021; Ponce-de-Leon et al., 2021).
As the parameters of the new example (based on PhysiCell 1.9) do not have a one-to-one mapping to those of the former PhysiBoSS example (based on PhysiCell 1.0), we used a model exploration method (Ozik et al., 2018) to find parameters that reproduce the dynamics previously reported (Supplementary Information, Figure S1). We have deployed a PhysiBoSS 2.0 instance running this example to facilitate the study of different parameters sets (https://nanohub.org/tools/pba4tnf/). In addition, the PhysiBoSS 2.0 results were consistent with the PhysiBoSS publication ones, as evidence of the correctness of our reimplementation (Supplementary Information and Figure S7).
In addition, PhysiBoSS 2.0 enables the performance of drug studies such as synergy predictions in cell populations while considering heterogeneities among the cells and the environment. By using personalised Boolean models (Béal et al., 2019) and GDSC dose-response profiling data (Vis et al., 2016), we can portray the typical characteristics of cell lines and drugs. Then, with PhysiBoSS 2.0, we can perform multiscale simulations and find synergistic drug combinations for a cell line of interest. We hereby provide an example study on the LNCaP prostate cell line (Montagud, Béal, et al., 2021) with six different drugs (Supplementary Information). We identified two combinations of drugs as interesting: Pictilisib (targeting PI3K) with Ipatasertib (targeting AKT) and Pictilisib with Luminespib (targeting HSPs) (Table S2). In both of them, we see that the Growth Index (a measure of the relative growth of treated cells vs untreated cells, see Supplementary Information) for LNCaP is much lower when using both drugs than when using individual drugs (Figure 2 and S3). In addition, we studied the Bliss independence of these combinations (Figure 3 and S4) and found complex synergies in both cases (Supplementary Information, Section 3.3).
The complete study of LNCaP and six drugs (Ipatasertib targeting AKT, Luminespib targeting HSPs, Pictilisib targeting PI3K, Afatinib targeting EGFR, Ulixertinib targeting MAPK1, Selumetinib targeting MAP2K1 and MAP2K2) can be found in the Supplementary Information together with the same analysis for the AGS gastric cell line (Flobak et al., 2015) and 7 drugs of interest (Figures S5 and S6).
With these capabilities, PhysiBoSS 2.0 takes an important step towards the study of drug treatments and effective drug synergies, a further step to reach a truly personalised medicine and to help improve treatments for cancer patients. Implicitly, this also showcases the flexibility of PhysiBoSS 2.0 to run with any user-provided Boolean model in MaBoSS or SBML-qual format, as opposed to the former PhysiBoSS.
Conclusions
PhysiBoSS 2.0 is a redesign and reimplementation of PhysiBoSS to be a reusable, extensible and updatable add-on for the PhysiCell framework. Our tool follows a modular design that decouples PhysiCell and MaBoSS codes, minimising the dependencies between these tools and ensuring long-term maintainability and is, therefore, more respectful of the single responsibility principle and the façade pattern software design (Johnson et al., 1995).
We show added functionalities that enable PhysiBoSS 2.0 to study disease mechanisms that cause malfunctions in personalised models while being consistent with the results of the former PhysiBoSS and flexible to handle many models. Altogether, the new design and implementation allow PhysiBoSS 2.0 to be model-agnostic, easily customisable by users and provides a simple framework of custom modules and custom settings to use with any Boolean model of interest in MaBoSS or SBML-qual format.
Funding
This work has been partially supported by the European Commission under the INFORE project (H2020-ICT-825070) and the PerMedCoE project (H2020-ICT-951773). This work was funded in part by the French government under the management of Agence Nationale de la Recherche as part of the “Investissements d’avenir” program, reference ANR-19-P3IA-0001 (PRAIRIE 3IA Institute).
Acknowledgements
We would like to thank Åsmund Flobak from the Norwegian University of Science and Technology (NTNU) for facilitating the use of the AGS model. The authors acknowledge the technical expertise and assistance provided by the Spanish Supercomputing Network (Red Española de Supercomputación), as well as the computer resources used: the LaPalma Supercomputer (RES-BCV-2019-2-0008), located at the Instituto de Astrofísica de Canarias and MareNostrum4 (RES-BCV-2019-2-0013), located at the Barcelona Supercomputing Center.