CompuCell3D
CompuCell3D is a three-dimensional C++ software problem solving environment for simulations of biocomplexity problems, integrating multiple mathematical [morphogenesis] models. These include the Cellular Potts Model (CPM) which can model cell clustering, growth, division, death, adhesion, and volume and surface area constraints; as well as partial differential equation solvers for modeling reaction-diffusion of external chemical fields and cell type automata for differentiation. By integrating these models CompuCell3D enables modeling of cellular reactions to external chemical fields such as secretion or resorption, and responses such as chemotaxis and haptotaxis.
CompuCell3D is conducive for experimentation and testing biological models by providing a flexible and extensible package, with many different levels of control. High-level steering is possible through CompuCellPlayer, an interactive GUI built upon Qt threads which execute in parallel with the computational back end. Functionality such as zooming, rotation, playing and pausing simulations, setting colors and viewing cross sections is available through the player, with a sample screenshot shown below.
Extending the back end is possible through an XML-based domain-specific language Biologo, which after lexical analysis and generation transparently converts to C++ extensions which can be compiled and dynamically loaded at runtime. 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.
CompuCell3D can model several different phenomena, including avian limb development, in vitro capillary development, adhesion-driven cell sorting, Dictyostelium discoideum, and fluid flows. The framework is accessible from the CompuCell3D Website