Jump to content

CompuCell3D

From Wikipedia, the free encyclopedia
CompuCell3D
Stable release
4.2.4.3
Repository
Written inC++ and Python
Websitehttps://compucell3d.org/

CompuCell3D[1] (CC3D) is an open source software problem solving environment for constructing two- and three-dimensional multiscale agent-based models of multicellular biology, including morphogenesis, homeostasis, disease, therapy and tissue engineering. CompuCell3D was designed to make the development, execution and analysis of complex biological models accessible to non-experts. CompuCell3D is written in C++ and Python. CC3D supports a number of different object classes and modeling methodologies including the Cellular Potts model (CPM) or Glazier-Graner-Hogeweg model (GGH) (originally developed by James A. Glazier, François Graner and Paulien Hogeweg) of the dynamic reorganization of generalized cells (clusters of cells, volumes of extracellular matrix (ECM), cells and their subregions) which can model cell clustering, growth, division, death, adhesion, and volume and surface area constraints; as well as partial differential equation solvers for modeling the diffusion equation and reaction–diffusion of chemical fields, and biochemical transport, signaling, regulatory and metabolic networks solved with chemical kinetics rate equations or stochastic Boolean network approaches. By integrating these submodels CompuCell3D enables modeling of cellular reactions to external chemical fields such as secretion or resorption, and responses such as chemotaxis and haptotaxis, differentiation in response to external signals, cell polarization and motility and other basic biological mechanisms. {{Infobox connector

Simple Angiogenesis Sprouting model in CompuCell3D
Simple vasculogenesis model in CompuCell3D

}}

History of CompuCell3D

[edit]

The origins of CompuCell3D lie in an earlier software system, CompuCell, developed in the late 1990s at the University of Notre Dame and then jointly with Indiana University, Bloomington[2]. This version was a reimplementation and extension of the two-dimensional Fortran-based CPM code originally written by James A. Glazier during his time at Tohoku University in Japan in collaboration with François Graner. The initial Notre Dame implementation was a collaboration between Glazier, Jesús Izaguirre, Rajiv Chaturvedi, Chengbang Huang, Trevor Cickovski, Gilberto L. Thomas, Gabor Forgacs, Mark Alber, George Hentschel, and Stuart Newman[3]. CompuCell introduced the use of XML for model specification, allowing modelers to define and explore cell-based models without writing low-level code or performing recompilation—lowering the barrier to entry for non-programmers. The three main components of CompuCell were the CPM/GGH model, describing cell and ECM behaviors, a Reaction–Diffusion (RD) module, describing diffusible morphogens, and a combined ODE/state model of genetic regulatory networks and differentiation.

Recognizing the need for greater flexibility and scientific power, the team soon extended CompuCell to allow three-dimensional simulations, resulting in the first version of CompuCell3D[4], around 2002–2003. Few years later, at the Biocomplexity Institute of Indiana University, a major extension led by Dr. Maciej Swat was implemented in CompuCell3D[5]. Key contributors to the extended version of CompuCell3D included Dr. Ariel Balter, Benjamin Zaitlen, Randy Heiland and Dr. T.J. Sego[6]. This extended CompuCell3D retained XML for declarative model configuration and added support for Python scripting, making it easier to develop and share complex, multiscale biological simulations. The new architecture enabled the integration of both high-level declarative modeling and low-level procedural logic in a single modeling framework. The extended CompuCell3D included a plugin system, graphical user interface (Twedit++), and integration with SBML and MaBoSS to support intracellular network modeling. CompuCell3D has been supported by several NIH and NSF-funded initiatives the Open Source Tools for Virtual Tissues (OpenVT) project.

In 2023, CompuCell3D development focus shifted to improving flexibility and interoperability. CC3D became a Conda package. This change allowed calling CC3D simulation as objects in scripts for mass parameter scan in clusters, for running in Jupyter notebooks, deploying online, and integrating CC3D with other software frameworks[7] [8]. CompuCell3D is maintained as an open-source project under the GNU General Public License and continues to be used globally by researchers in systems biology, computational biophysics, and biomedical engineering.

Algorithms

[edit]

GGH/CPM Modeling of Cells and Materials

[edit]

At the core of CompuCell3D is the Cellular Potts model (GGH/CPM), a lattice-based computational method to simulate the behavior of granular matter. CPM represents each cell as a collection of lattice sites (pixels or voxels), with customizable properties and interactions. The system evolves in three ways, 1) minimization of the Energy Function, which captures biophysical processes (such as surface and volume constraints, elongation, and growth), 2) interactions (such as adhesion, chemotaxis, and mechanical forces), and 3) events (such as cell type switching, death, creation and division). CPM captures several key complex processes, including cell sorting, tissue organization, collective migration, proliferation, and differentiation. To simulate solid-like materials and model features such as filopodia and junctional adhesion, CompuCell3D incorporates the concept of finite-element links into the core GGH/CPM algorithms.

Diffusive Fields

[edit]

CompuCell3D employs numerical solvers to simulate diffusive fields and reaction-diffusion equations, which are crucial for modeling the transport of substances in biological systems. These solvers are described in the official documentation. DiffusionSolverFE employs an explicit Forward Euler method to compute diffusion dynamics. In scenarios where rapid equilibrium is desired, the SteadyStateDiffusionSolver applies the Helmholtz equation. In addition to modeling Diffusion, secretion and uptake methods enable dynamic interactions between cells and diffusive fields.

Embedded Dynamic Networks

[edit]

CompuCell3D supports embedding dynamic network models - including chemical reaction, gene regulatory, metabolic, transport and pharmacodynamic and pharmacokinetic networks - in cell agents, as detailed in the official documentation. Networks can be defined using a variety of standard languages, including SBML, Antimony and CellML. It incorporates Libroadrunner, a high-performance library for simulating and analyzing SBML models. Additionally, Antimony and CellML allow for modifications to these SBML models. CompuCell3D also integrates MaBoSS (Markovian Boolean Stochastic Simulator), for simulating gene regulatory networks with probabilistic transitions, as described in the official documentation. The user can attach SBML and MaBoSS models independently to individual cells, enabling realistic simulation of cell cycle, delta-notch patterning, infection models and more.

Model Definition and Scripting

[edit]

Users can rapidly define highly complex simulations using the CompuCell3D Markup [XML] language, CC3DML and Python scripts called steppables. CompuCell3D provides high-level Python classes and functions based on common biological processes to simplify the development of modular, reusable and compact model specifications. Users can also write C++ steppables to improve execution speed.

CompuCell3D includes a GUI model editor, Twedit++ which provides a model specification Wizard for rapid definition of model architectures as well as customized editors for CC3DML, Python and C++ which contains code-snippet templates for most commonly used functions.

Model Execution Support

[edit]

CompuCell3D supports exploration and testing of biological models by providing a flexible and extensible package, with many different levels of control. High-level steering is possible through CompuCell Player, an interactive desktop GUI built upon Qt threads which execute in parallel with the computational back end. Player provides functionality such as playing and pausing simulations, changing parameter values during execution (steering) and the on-the-fly creation of two-dimensional and three-dimensional rendering windows showing cell configurations and chemical fields. Users can interactively zoom, rotate and change the color and cross-sections for rendered images, define movie exports and save screenshots and rotation of rendered images of the simulation geometry, set colors and viewing cross sections. A sample screenshot is shown below.

CompuCell3D also can be run in batch mode on clusters and as a callable Python library in Jupyter Notebook, Colab or other Python environments.

Extensibility

[edit]

Extending the back end is possible with C++ extensions in the form of steppables and plugins. The back end uses object-oriented design patterns which contribute to extensibility, reducing coupling between independently operating modules. Optional functionality can be encapsulated through plugins, which are dynamically loaded at runtime through an XML configuration file reference.

As a Python library, CompuCell3D can call and be called by other modeling tools and frameworks.

Applications

[edit]

CompuCell3D is used extensively across a broad range of biological and biomedical research fields, including developmental biology, developmental toxicity, cancer biology, toxicology, immunology, and tissue engineering. Its applications include modeling tumor growth and metastasis, angiogenesis and vasculogenesis, liver toxicity[9] and metabolism,[10] immune cell dynamics, and developmental processes such as limb morphogenesis and tissue patterning, encompassing mechanisms and phenomena such as somitogenesis,[11] gastrulation, neurulation, branching morphogenesis (e.g., lung, kidney, salivary glands), chondrogenesis, cell sorting, vascular network formation, stem cell differentiation, collective cell migration, morphogen gradient establishment, and regeneration processes. CompuCell3D integrates multicellular simulations with intracellular signaling, biomechanical interactions, and reaction-diffusion models, enabling researchers to explore complex biological phenomena across multiple scales. The software's flexibility and Python-based scripting facilitate integration with experimental data, driving insights into disease mechanisms, including the prediction of adverse outcomes and applications in risk science to evaluate disease progression, drug dosimetry and therapeutic responses [12].

For a list of more than 150 publications that used CompuCell3D please visit the CompuCell3D Publications page.

Support for Learning CompuCell3D

[edit]

CompuCell3D provides support, educational material and supervised online training to facilitate its use by the general public. The tutorials help new users to set up CC3D and gain familiarity with the basics. The manuals contain accurate and detailed information about all the available CC3D tools. The simulation demos are quick starters for model building. Yearly workshops cover CC3D’s basic and advanced functionalities, model building concepts and individual support. Videos from past workshops are available on YouTube. For specific questions or troubleshooting, the CompuCell3D team also provides support via its subreddit. These materials are freely available and widely used in academic programs, promoting the adoption of computational modeling approaches in biology and medicine.

See also

[edit]

References

[edit]
  1. ^ Swat, Maciej H.; Thomas, Gilberto L.; Belmonte, Julio M.; Shirinifard, Abbas; Hmeljak, Dimitrij; Glazier, James A. (2012). "Multi-Scale Modeling of Tissues Using CompuCell3D". Computational Methods in Cell Biology. Vol. 110. pp. 325–366. doi:10.1016/B978-0-12-388403-9.00013-8. ISBN 9780123884039. PMC 3612985. PMID 22482955.
  2. ^ Cickovski, Trevor; Huang, Chengbang (2002). COMPUCELL Beta Version 1.6-User Guide (Report). Citeseer.
  3. ^ Izaguirre, J. A.; Chaturvedi, R.; Huang, C.; Cickovski, T.; Coffland, J.; Thomas, G.; Forgacs, G.; Alber, M.; Hentschel, G.; Newman, S. A.; Glazier, J. A. (2004). "CompuCell, a multi-model framework for simulation of morphogenesis". Bioinformatics. 20 (7). Oxford Academic: 1129–1137. doi:10.1093/bioinformatics/bth050. ISSN 1367-4803. PMID 14764549.
  4. ^ Chaturvedi, R.; Huang, C.; Kazmierczak, B.; Schneider, T.; Izaguirre, J. A.; Glimm, T.; Hentschel, H. G. E.; Glazier, J. A.; Newman, S. A.; Alber, M. S. (2005). "On multiscale approaches to three-dimensional modelling of morphogenesis". Journal of the Royal Society Interface. 2 (3). The Royal Society: 237–253. doi:10.1098/rsif.2005.0033. ISSN 1742-5662. PMC 1629079. PMID 16849182.
  5. ^ Swat, Maciej H.; Thomas, Gilberto L.; Belmonte, Julio M.; Shirinifard, Abbas; Hmeljak, Dimitrij; Glazier, James A. (2012). "Multi-Scale Modeling of Tissues Using CompuCell3D". Methods in Cell Biology. Vol. 110. Cambridge, MA, USA: Academic Press. pp. 325–366. doi:10.1016/B978-0-12-388403-9.00013-8. ISBN 978-0-12-388403-9. ISSN 0091-679X. PMC 3612985. PMID 22482955.
  6. ^ Swat, Maciej H.; Hester, Susan D.; Balter, Ariel I.; Heiland, Randy W.; Zaitlen, Benjamin L.; Glazier, James A. (2009). "Multicell Simulations of Development and Disease Using the CompuCell3D Simulation Environment". Systems Biology. Humana Press. pp. 361–428. doi:10.1007/978-1-59745-525-1_13. ISBN 978-1-59745-525-1. ISSN 1940-6029. PMC 2739628. PMID 19399437.
  7. ^ Chung, Trinity; Sego, T. J.; Glazier, James A. (2025). "Cell Modeling in Jupyter Notebook using CompuCell3D". Zenodo. 2 (1). doi:10.5281/zenodo.7600786.
  8. ^ Sego, T. J. (January 2024). "SimService: a lightweight library for building simulation services in Python". Bioinformatics. 40 (1). Oxford Academic: btae009. doi:10.1093/bioinformatics/btae009. ISSN 1367-4811. PMC 10809901. PMID 38237907.
  9. ^ Sluka, James P.; Fu, Xiao; Swat, Maciej; Belmonte, Julio M.; Cosmanescu, Alin; Clendenon, Sherry G.; Wambaugh, John F.; Glazier, James A. (16 September 2016). "A Liver-Centric Multiscale Modeling Framework for Xenobiotics". PLOS ONE. 11 (9): e0162428. Bibcode:2016PLoSO..1162428S. doi:10.1371/journal.pone.0162428. PMC 5026379. PMID 27636091.
  10. ^ Yang, Yongliang; Filipovic, David; Bhattacharya, Sudin (April 2022). "A Negative Feedback Loop and Transcription Factor Cooperation Regulate Zonal Gene Induction by 2, 3, 7, 8-Tetrachlorodibenzo-p-Dioxin in the Mouse Liver". Hepatology Communications. 6 (4): 750–764. doi:10.1002/hep4.1848. PMC 8948569. PMID 34726355.
  11. ^ Hester, Susan D.; Belmonte, Julio M.; Gens, J. Scott; Clendenon, Sherry G.; Glazier, James A. (6 October 2011). "A Multi-cell, Multi-scale Model of Vertebrate Segmentation and Somite Formation". PLOS Computational Biology. 7 (10): e1002155. Bibcode:2011PLSCB...7E2155H. doi:10.1371/journal.pcbi.1002155. PMC 3188485. PMID 21998560.
  12. ^ Gianlupi, Juliano Ferrari; Mapder, Tarunendu; Sego, T. J.; Sluka, James P.; Quinney, Sara K.; Craig, Morgan; Stratford, Robert E.; Glazier, James A. (2022). "Multiscale Model of Antiviral Timing, Potency, and heterogeneity Effects on an Epithelial Tissue Patch Infected by SARS-CoV-2". Viruses. 14 (3): 605. doi:10.3390/v14030605. PMID 35337012.