Skip to main content
UKPMC Funders Author Manuscripts logoLink to UKPMC Funders Author Manuscripts
. Author manuscript; available in PMC: 2023 May 14.
Published in final edited form as: J Open Source Softw. 2020 Mar 13;5(47):1848. doi: 10.21105/joss.01848

Chaste: Cancer, Heart and Soft Tissue Environment

Fergus R Cooper 1, Ruth E Baker 1, Miguel O Bernabeu 2, Rafel Bordas 3, Louise Bowler 3, Alfonso Bueno-Orovio 3, Helen M Byrne 1, Valentina Carapella 4, Louie Cardone-Noott 3, Cooper Jonatha 5, Sara Dutta 3, Benjamin D Evans 6,7, Alexander G Fletcher 8,9, James A Grogan 1, Wenxian Guo 10, Daniel G Harvey 3, Maurice Hendrix 11,12, David Kay 3, Jochen Kursawe 13, Philip K Maini 1, Beth McMillan 3, Gary R Mirams 11, James M Osborne 14, Pras Pathmanathan 15, Joe M Pitt-Francis 3, Martin Robinson 3, Blanca Rodriguez 3, Raymond J Spiteri 10, David J Gavaghan 3
PMCID: PMC7614534  EMSID: EMS175247  PMID: 37192932

Abstract

Chaste (Cancer, Heart And Soft Tissue Environment) is an open source simulation package for the numerical solution of mathematical models arising in physiology and biology.

To date, Chaste development has been driven primarily by applications that include continuum modelling of cardiac electrophysiology (‘Cardiac Chaste’), discrete cell-based modelling of soft tissues (‘Cell-based Chaste’), and modelling of ventilation in lungs (‘Lung Chaste’). Cardiac Chaste addresses the need for a high-performance, generic, and verified simulation framework for cardiac electrophysiology that is freely available to the scientific community. Cardiac chaste provides a software package capable of realistic heart simulations that is efficient, rigorously tested, and runs on HPC platforms. Cell-based Chaste addresses the need for efficient and verified implementations of cell-based modelling frameworks, providing a set of extensible tools for simulating biological tissues. Computational modelling, along with live imaging techniques, plays an important role in understanding the processes of tissue growth and repair. A wide range of cell-based modelling frameworks have been developed that have each been successfully applied in a range of biological applications. Cell-based Chaste includes implementations of the cellular automaton model, the cellular Potts model, cell-centre models with cell representations as overlapping spheres or Voronoi tessellations, and the vertex model. Lung Chaste addresses the need for a novel, generic and efficient lung modelling software package that is both tested and verified. It aims to couple biophysically-detailed models of airway mechanics with organ-scale ventilation models in a package that is freely available to the scientific community.

Chaste is designed to be modular and extensible, providing libraries for common scientific computing infrastructure such as linear algebra operations, finite element meshes, and ordinary and partial differential equation solvers. This infrastructure is used by libraries for specific applications, such as continuum mechanics, cardiac models, and cell-based models. The software engineering techniques used to develop Chaste are intended to ensure code quality, re-usability and reliability. Primary applications of the software include cardiac and respiratory physiology, cancer and developmental biology

The software

Chaste is available on GitHub https://github.com/Chaste/Chaste, and the current stable release is version 2019.1. Please see the Readme.md file on the Github repository for links to the Chaste wiki and install guides.

Previous publications about Chaste have detailed the rationale for, and design principles behind, Chaste (Pitt-Francis et al., 2009), as well as the main application areas of Chaste up to 2013 (Mirams et al., 2013).

Chaste places an emphasis on reproducibility and verification and, as such, extensive automated testing is used to ensure software quality and reliability. A series of test suites must all pass before any commit is considered a release-candidate. Most testing is performed on Long Term Support (LTS) versions of Ubuntu Linux, with unit tests additionally being run on macOS.

Testing includes compilation of all libraries with GCC, Clang and Intel C++ compilers; extensive unit testing; performance profiling to identify any slowdowns over time; memory testing with valgrind; verification of code coverage; and running unit tests with different combinations of dependencies to ensure portability. The output of these tests is available at https://chaste.cs.ox.ac.uk/buildbot/.

Since 2013, Chaste has substantially changed to modernise its infrastructure and to enable new science. In terms of infrastructure, Chaste now uses a modern CMake build system, the C++14 language standard, and makes extensive use of BuildBot for continuous integration. In terms of science, Lung Chaste is entirely new and allows the use of Chaste in a new scientific domain. In Cardiac Chaste, we can now create algebraic Jacobians for CellML ODE systems, which can improve speed of simulation for cardiac action potential and tissue simulations (Cooper, Spiteri, & Mirams, 2015), and metadata annotations of CellML files have replaced manual specification of variables in configuration files. Cell-based Chaste has been overhauled to improve flexibility. Changes include hierarchies of simulation modifiers, information writers, cell-cycle models, subcellular reaction network models, and numerical methods that allow new customisation points in almost every area of all cell-based simulations. In addition, simulation output has been standardised to use VTK, a standard and powerful visualisation framework, and some cell-centre simulations now run in parallel using MPI.

Comparison with other software

Chaste provides substantial common infrastructure enabling a wide range of applications across multiple disciplines. Common elements include meshing, solving differential equations, input/output and continuum mechanics, and these form a platform for Cardiac, Cell-based and Lung Chaste.

A key goal of Chaste is to enable the implementation of many different modelling frameworks. This not only allows a user to select the most appropriate tool for their research but, importantly, enables the comparison of different modelling frameworks to better understand the benefits and drawbacks of each (Osborne, Fletcher, Pitt-Francis, Maini, & Gavaghan, 2017). This is an explicit design goal of Chaste, which focusses on the flexibility of implementing

multiple models rather than (for example) building a graphical user interface. See Table 1 for a comparison of alternatives to Chaste in specific domains, with all other software tools implementing a single modelling framework.

Table 1.

Software Open Source GUI CA CP PM VT VM
Chaste x x x x x x
CompuCell3D x x x
Morpheus x x x
EPISIM x x
CellSys x x
PhysiCell x x
Biocellion x
VirtualLeaf x x x
EmbryoMaker x x x

A comparison of software tools for cell-based modelling. GUI: graphical user interface. CA: cellular automata. CP: cellular Potts. PM: particle model, a cell-centre model. VT: Voronoi tessellation, a cell-centre model. VM: vertex model. References: CompuCell3D (Swat et al., 2012), Morpheus (Starruß, Back, Brusch, & Deutsch, 2014), EPISIM (Sutterlin, Kolb, Dickhaus, Jager, & Grabe, 2013), CellSys (Hoehme & Drasdo, 2010), PhysiCell (Ghaffarizadeh, Heiland, Friedman, Mumenthaler, & Macklin, 2018), Biocellion (Kang, Kahan, McDermott, Flann, & Shmulevich, 2014), VirtualLeaf (Merks, Guravage, Inzé, & Beemster, 2011), EmbryoMaker (Marin-Riera, Brun-Usan, Zimm, Välikangas, & Salazar-Ciudad, 2015).

Installation

Installation of Chaste has been greatly simplified through the development of a Docker image https://github.com/chaste/chaste-docker. Docker is a lightweight, open-source virtualisation technology for running encapsulated applications (‘containers’) on all major operating systems at near-native speed. This enables Chaste (including all dependencies, environment settings, convenience scripts and the latest precompiled release) to be downloaded and installed with just a single command. Isolating Chaste within a container also means that its dependencies and those installed on the user’s host system can coexist without interference or version conflicts.

In addition to simplifying the set-up and execution of Chaste, importantly this also enhances its reproducibility by providing a homogeneous computational environment regardless of the underlying operating system and hardware. Not only is the Chaste source code version-controlled, but so too are the dependencies, configuration settings and environment variables used to build and run it. This means that collaborators and reviewers can easily and consistently reproduce results (to within machine precision) on any platform while developers can seamlessly migrate and scale-up their simulations from a laptop to a workstation or HPC cluster.

Example usage

Chaste has tutorials to walk users through basic functionality for each application area. Tutorial examples are bundled for each specific release version, and examples for this release are available at https://chaste.cs.ox.ac.uk/chaste/tutorials/release_2019.1.

Tutorials take the form of C++ header files that each define ‘tests’ in the Chaste testing infrastructure. These tests must be compiled and run to produce an output, which can be visualised using ParaView.

In the following sections we showcase a specific tutorial for each of cardiac, cell-based, and lung Chaste, with minimal commands necessary to reproduce the output shown.

Cardiac example

Here we demonstrate how to run and visualise a three-dimensional monodomain cardiac simulation. This follows the tutorial TestMonodomain3dRabbitHeartTutorial which simulates the result of an electrical stimulus being applied to a realistic rabbit heart geometry. Assuming that

  • 1

    Chaste has been installed on Ubuntu Linux (or is running within a Docker container),

  • 2

    the Chaste source code exists at $CHASTE_SOURCE_DIR,

  • 3

    the environment variable $CHASTE_TEST_OUTPUT is set to a valid directory,

a minimal set of commands to build and run the tutorial is as follows:

mkdir build && cd build

cmake $CHASTE_SOURCE_DIR

make TestMonodomain3dRabbitHeartTutorial

ctest -R TestMonodomain3dRabbitHeartTutorial

This will produce output in the following directory:

$CHASTE_TEST_OUTPUT/Monodomain3dRabbitHeart

To view the results evolving over time as an animation in ParaView it is necessary to postprocess the results with the following command:

cd $CHASTE_TEST_OUTPUT/Monodomain3dRabbitHeart/vtk_output

python $CHASTE_SOURCE_DIR/python/utils/AddVtuTimeAnnotations.py \

results.vtu annotated_results.vtu

To visualise the output, open the file annotated_results.vtu in ParaView, and select to colour by V (voltage).

Cell-based example

Here we demonstrate how to run and visualise a cell sorting simulation using Chaste’s vertex model implementation. This follows the tutorial TestRunningDifferentialAdhesionSimulationsTutorial. Assuming that

  • 1

    Chaste has been installed on Ubuntu Linux (or is running within a Docker container),

  • 2

    the Chaste source codeexists at $CHASTE_SOURCE_DIR,

  • 3

    the environment variable $CHASTE_TEST_OUTPUT is set to a valid directory,

a minimal set of commands to build and run the tutorial is as follows:

mkdir build && cd build

cmake $CHASTE_SOURCE_DIR

make TestRunningDifferentialAdhesionSimulationsTutorial

ctest -R TestRunningDifferentialAdhesionSimulationsTutorial

This will produce output in the following directory:

$CHASTE_TEST_OUTPUT/TestVertexBasedDifferentialAdhesionSimulation

To visualise the simulation, open the file results.pvd in ParaView, choose to colour by‘Cell types’, and display ‘Surface With Edges’.

Lung example

Here we demonstrate how to run and visualise the lung airway generation tutorial. This follows the tutorial TestAirwayGenerationTutorial which statistically generates lung airways given initial geometry segmented from a CT scan. Assuming that

  • 1

    Chaste has been installed on Ubuntu Linux (or is running within a Docker container),

  • 2

    the Chaste source code exists at $CHASTE_SOURCE_DIR,

  • 3

    the environment variable $CHASTE_TEST_OUTPUT is set to a valid directory,

a minimal set of commands to build and run the tutorial is as follows:

mkdir build && cd build

cmake $CHASTE_SOURCE_DIR

make TestAirwayGenerationTutorial

ctest -R TestAirwayGenerationTutorial

This will produce output in the following directory:

$CHASTE_TEST_OUTPUT/TestAirwayGenerationTutorial

To visualise the generated airway geometry, open the file example_complete_conducting_ airway.vtu in ParaView. Application of an ‘Extract Surface’ filter followed by a ‘Tube’ filter allows the centreline and radius information to be viewed as a series of tubes.

Recent publications enabled by Chaste

Since our last publication on Chaste, over 70 peer-reviewed publications have been enabled in the areas described below.

Publications using Cardiac Chaste have included scientific studies relating to: basic mechanisms of cardiac electrophysiology and tissue structure in healthy and diseased settings; the sources and consequences of inter-subject electrophysiological variability; predicting the effects of drugs on cardiac activity, including safety assessment and the development of associated web-based tools (Cooper, Scharm, & Mirams, 2016). Other studies enabled by Cardiac Chaste have advanced technical methodologies for parameter identifiability and inference, model selection and uncertainty quantification in cardiac electrophysiology models (Johnstone et al., 2016); and for the verification and efficient numerical simulation of cardiac models (Green, Bohn, & Spiteri, 2019). The continuum-mechanics solvers in Chaste have been used for studies of cardiac electromechanics (Carapella et al., 2014).

The Cardiac Chaste code has also been applied to gastric electrophysiology, in particular focusing on the interstitial cells of Cajal network (Sathar, Trew, & Cheng, 2015).

Publications enabled by Cell-based Chaste have focused on: the cellular mechanisms and dynamics of intestinal homeostasis and carcinogenesis; the mechanisms underlying vascular tumour growth and response to therapy in the Microvessel Chaste project (Grogan et al., 2017); the biomechanical characterization of epithelial tissue development and wound healing; the organisation and proliferation of stem and pluripotent cells in development; the spread of sexually-transmitted infections; vascular remodelling (Osborne & Bernabeu, 2018); cell-based model calibration and parameterisation (Kursawe, Baker, & Fletcher, 2018); and their efficient numerical solution (Cooper, Baker, & Fletcher, 2017).

Papers on Lung Chaste describe its use for patient-specific airway tree generation and flow modelling (Bordas et al., 2015).

Figure 1. Trans-membrane voltage on the rabbit heart mesh at the end of the simulation. As viewed on the surface from the apex of the heart (left) and on a wireframe showing the ventricular cavities (right).

Figure 1

Figure 2. The initial configuration of cells (left), and the final configuration of cells after sorting has occurred (right).

Figure 2

Figure 3. The initial geometry of major airways segmented from a CT scan (left), and an example of a complete generated airway tree (right).

Figure 3

Acknowledgements

F.R.C. was supported by the Engineering and Physical Sciences Research Council [grant number EP/G03706X/1]; R.E.B. is a Royal Society Wolfson Research Merit Award holder, would like to thank the Leverhulme Trust for a Research Fellowship, and also acknowledges the BBSRC for funding [grant number BB/R000816/1]; B.D.E. was generously supported by the Wellcome Trust Institutional Strategic Support Award [grant number 204909/Z/16/Z]; A.G.F. was supported by a University of Sheffield Vice-Chancellor’s Fellowship and the Biotechnology and Biological Sciences Research Council [grant number BB/R016925/1]; J.K. was supported by the Engineering and Physical Sciences Research Council [grant number EP/N509711/1]; G.R.M. was supported by a Sir Henry Dale Fellowship jointly funded by the Wellcome Trust and Royal Society [Wellcome Trust grant number 101222/Z/13/Z] and a Wellcome Trust Senior Research Fellowship [grant number 212203/Z/18/Z]; A.B.O. was supported by a British Heart Foundation Intermediate Basic Science Fellowship [grant number FS/17/22/32644]; B.R. was supported by a Wellcome Trust Senior Research Fellowship [grant numbers 100246/Z/12/Z and 214290/Z/18/Z]; creation of the virtual airway structures was funded partially through the EU FP 7 AirPROM project.

References

  1. Bordas R, Lefevre C, Veeckmans B, Pitt-Francis J, Fetita C, Brightling CE, Kay D, et al. Development and analysis of patient-based complete conducting airways models. PlOS ONE. 2015;10(12):e0144105. doi: 10.1371/journal.pone.0144105. [DOI] [PMC free article] [PubMed] [Google Scholar]
  2. Carapella V, Bordas R, Pathmanathan P, Lohezic M, Schneider JE, Kohl P, Burrage K, et al. Quantitative study of the effect of tissue microstructure on contraction in a computational model of rat left ventricle. PLOS ONE. 2014;9(4):e92792. doi: 10.1371/journal.pone.0092792. [DOI] [PMC free article] [PubMed] [Google Scholar]
  3. Cooper FR, Baker RE, Fletcher AG. Numerical analysis of the Immersed Boundary Method for cell-based simulation. SIAM J Sci Comput. 2017;39(5):943–967. doi: 10.1137/16M1092246. [DOI] [Google Scholar]
  4. Cooper J, Scharm M, Mirams GR. The cardiac electrophysiology web lab. Biophys J. 2016;110(2):292–300. doi: 10.1016/j.bpj.2015.12.012. [DOI] [PMC free article] [PubMed] [Google Scholar]
  5. Cooper J, Spiteri RJ, Mirams GR. Cellular cardiac electrophysiology modeling with Chaste and CellML. Front Physiol. 2015;5:511. doi: 10.3389/fphys.2014.00511. [DOI] [PMC free article] [PubMed] [Google Scholar]
  6. Ghaffarizadeh A, Heiland R, Friedman SH, Mumenthaler SM, Macklin P. PhysiCell: an open source physics-based cell simulator for 3-D multicellular systems. PLOS Comput Biol. 2018;14(2):e1005991. doi: 10.1371/journal.pcbi.1005991. [DOI] [PMC free article] [PubMed] [Google Scholar]
  7. Green KR, Bohn TA, Spiteri RJ. Direct function evaluation versus lookup tables: When to use which. SIAM J Sci Comput. 2019;41(3):C194–C218. doi: 10.1137/18M1201421. [DOI] [Google Scholar]
  8. Grogan JA, Connor AJ, Markelc B, Muschel RJ, Maini PK, Byrne HM, Pitt-Francis JM. Microvessel chaste: an open library for spatial modeling of vascularized tissues. Biophys J. 2017;112(9):1767–1772. doi: 10.1016/j.bpj.2017.03.036. [DOI] [PMC free article] [PubMed] [Google Scholar]
  9. Hoehme S, Drasdo D. A cell-based simulation software for multi-cellular systems. Bioinformatics. 2010;26(20):2641–2. doi: 10.1093/bioinformatics/btq437. [DOI] [PMC free article] [PubMed] [Google Scholar]
  10. Johnstone RH, Chang ETY, Bardenet R, De Boer TP, Gavaghan DJ, Pathmanathan P, Clayton RH, et al. Uncertainty and variability in models of the cardiac action potential: can we build trustworthy models. J Mol Cell Cardiol. 2016;96:49–62. doi: 10.1016/j.yjmcc.2015.11.018. [DOI] [PMC free article] [PubMed] [Google Scholar]
  11. Kang S, Kahan S, McDermott J, Flann N, Shmulevich I. Biocellion: accelerating computer simulation of multicellular biological system models. Bioinformatics. 2014;30(21):3101–3108. doi: 10.1093/bioinformatics/btu498. [DOI] [PMC free article] [PubMed] [Google Scholar]
  12. Kursawe J, Baker RE, Fletcher AG. Approximate Bayesian computation reveals the importance of repeated measurements for parameterising cell-based models of growing tissues. J Theor Biol. 2018;443:66–81. doi: 10.1016/j.jtbi.2018.01.020. [DOI] [PubMed] [Google Scholar]
  13. Marin-Riera M, Brun-Usan M, Zimm R, Välikangas T, Salazar-Ciudad I. Computational modeling of development by epithelia, mesenchyme and their interactions: a unified model. Bioinformatics. 2015;32:2. doi: 10.1093/bioinformatics/btv527. [DOI] [PubMed] [Google Scholar]
  14. Merks RMH, Guravage M, Inzé D, Beemster GTS. VirtualLeaf: an open-source framework for cell-based modeling of plant tissue growth and development. Plant Physiol. 2011;155(2):656–66. doi: 10.1104/pp.110.167619. [DOI] [PMC free article] [PubMed] [Google Scholar]
  15. Mirams GR, Arthurs CJ, Bernabeu MO, Bordas R, Cooper J, Corrias A, Davit Y, et al. Chaste: an open source C++ library for computational physiology and biology. PLOS Comput Biol. 2011;9:e1002970. doi: 10.1371/journal.pcbi.1002970. [DOI] [PMC free article] [PubMed] [Google Scholar]
  16. Osborne JM, Bernabeu MO. A fully discrete open source framework for the simulation of vascular remodelling; 40th Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC); 2018. pp. 4552–4555. [DOI] [PubMed] [Google Scholar]
  17. Osborne JM, Fletcher AG, Pitt-Francis JM, Maini PK, Gavaghan DJ. Comparing individual-based approaches to modelling the self-organization of multicellular tissues. PLOS Comput Biol. 2017;13(2):1–34. doi: 10.1371/journal.pcbi.1005387. [DOI] [PMC free article] [PubMed] [Google Scholar]
  18. Pitt-Francis J, Pathmanathan P, Bernabeu MO, Bordas R, Cooper J, Fletcher AG, Mirams GR, et al. Chaste: a test-driven approach to software development for biological modelling. Comput Phys Commun. 2009;180(12):2452–2471. doi: 10.1016/j.cpc.2009.07.019. [DOI] [Google Scholar]
  19. Sathar S, Trew ML, Cheng LK. Tissue specific simulations of interstitial cells of cajal networks using unstructured meshes; 37th Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC); 2015. pp. 8062–8065. [DOI] [PMC free article] [PubMed] [Google Scholar]
  20. Starruß J, de Back W, Brusch L, Deutsch A. Morpheus: a user-friendly modeling environment for multiscale and multicellular systems biology. Bioinformatics. 2014;30(9):1331–1332. doi: 10.1093/bioinformatics/btt772. [DOI] [PMC free article] [PubMed] [Google Scholar]
  21. Sutterlin T, Kolb C, Dickhaus H, Jager D, Grabe N. Bridging the scales: semantic integration of quantitative SBML in graphical multi-cellular models and simulations with EPISIM and COPASI. Bioinformatics. 2013;29(2):223–229. doi: 10.1093/bioinformatics/bts659. [DOI] [PubMed] [Google Scholar]
  22. Swat MH, Thomas GL, Belmonte JM, Shirinifard A, Hmeljak D, Glazier JA. Multi-scale modeling of tissues using CompuCell3D. Methods Cell Biol. 2012;110:325–366. doi: 10.1016/B978-0-12-388403-9.00013-8. [DOI] [PMC free article] [PubMed] [Google Scholar]

RESOURCES