{"title":"PolyMorph: Extension of PolyHoop for tissue morphogenesis coupled to chemical signaling","authors":"Nicolas Pascal Guido Müller , Roman Vetter","doi":"10.1016/j.cpc.2025.109581","DOIUrl":null,"url":null,"abstract":"<div><div>We present PolyMorph, a lightweight standalone C++ program that extends its predecessor PolyHoop by a finite-difference solver for multi-component reaction-advection-diffusion equations. PolyMorph simulates two integral parts of tissue morphogenesis in two dimensions: 1) the mechanics of cellular deformation, growth and proliferation, and 2) transport and reaction of an arbitrary number of chemical species. Both of these components are bidirectionally coupled, allowing cells to base their behavior on local information on concentrations and flow, and allowing the chemical transport and reaction kinetics to depend on spatial information such as the local cell type. This bidirectional feedback makes PolyMorph a versatile tool to study a variety of cellular morphogenetic processes such as chemotaxis, cell sorting, tissue patterning with morphogen gradients, Turing patterning, and diffusion- or supply-limited growth with sub-cellular resolution.</div></div><div><h3>Program summary</h3><div><em>Program Title:</em> PolyMorph</div><div><em>CPC Library link to program files:</em> <span><span>https://doi.org/10.17632/4jscxhkd2s.2</span><svg><path></path></svg></span></div><div><em>Licensing provisions:</em> BSD 3-clause</div><div><em>Programming language:</em> C++11</div><div><em>Supplementary material:</em> Figure 1</div><div><em>Journal reference of previous version:</em> Comput. Phys. Commun. 299 (2024) 109128, <span><span>https://doi.org/10.1016/j.cpc.2024.109128</span><svg><path></path></svg></span></div><div><em>Does the new version supersede the previous version?:</em> No</div><div><em>Nature of problem:</em> In tissue development and disease, morphogenesis and cell fate determination depends on mechanical processes as well as chemical signaling. PolyMorph couples the Newtonian mechanics of deformable cells (including growth and proliferation) in 2D with a customizable set of reaction-advection-diffusion equations to simulate problems that require an integrated approach with chemical-mechanical interactions. Typical use cases include the patterning of epithelial tissues with chemical signals (e.g., morphogen gradients or the Turing mechanism), chemotaxis and cell migration, wound healing, diffusion- or nutrition-limited growth, regulatory network dynamics in a spatial cellular environment, and other problems in tissue self-organization. PolyMorph enables the numerical solution of such problems with bidirectional feedback between mechanics and chemistry, in large monolayer tissues and with an arbitrary number of interacting species.</div><div><em>Solution method:</em> The off-lattice polygonal representation of cell boundaries in PolyHoop [1] is coupled to a lattice representation of diffusing chemical reactants. The reaction-advection-diffusion problem is solved with the finite difference method using the standard 5-point central difference stencil, and explicitly integrated in time. A scatter-gather approach inspired by the particle-in-cell method interpolates between the Lagrangian cell boundaries and the Eulerian finite-difference grid. The program is parallelized with OpenMP and does not use any external libraries.</div><div><em>Reasons for the new version:</em> The original program PolyHoop solves the Newtonian mechanics of deformable particles, foams and cellular tissues in two dimensions. In the application realm of developmental and systems biology, however, various morphogenetic problems depend not only on cell mechanics, but also on chemical signaling, nutrient supply etc. The solution of such external transport problems was not part of PolyHoop, but is available in some related codes [2–5]. We have extended PolyHoop to create a new program named PolyMorph, introduced here. It enables the simulation of cellular tissue dynamics with bidirectional coupling to a multi-component diffusion system, which substantially widens the potential scope of application.</div><div><em>Summary of revisions:</em> PolyMorph introduces a solver for <em>n</em> coupled reaction-advection-diffusion equations for concentrations <span><math><msub><mrow><mi>c</mi></mrow><mrow><mi>i</mi></mrow></msub></math></span>, of the form<span><span><span><math><mfrac><mrow><mo>∂</mo><msub><mrow><mi>c</mi></mrow><mrow><mi>i</mi></mrow></msub></mrow><mrow><mo>∂</mo><mi>t</mi></mrow></mfrac><mo>=</mo><msub><mrow><mi>D</mi></mrow><mrow><mi>i</mi></mrow></msub><mrow><mo>(</mo><mfrac><mrow><msup><mrow><mo>∂</mo></mrow><mrow><mn>2</mn></mrow></msup></mrow><mrow><mo>∂</mo><msup><mrow><mi>x</mi></mrow><mrow><mn>2</mn></mrow></msup></mrow></mfrac><mo>+</mo><msub><mrow><mi>α</mi></mrow><mrow><mi>i</mi></mrow></msub><mfrac><mrow><msup><mrow><mo>∂</mo></mrow><mrow><mn>2</mn></mrow></msup></mrow><mrow><mo>∂</mo><msup><mrow><mi>y</mi></mrow><mrow><mn>2</mn></mrow></msup></mrow></mfrac><mo>)</mo></mrow><msub><mrow><mi>c</mi></mrow><mrow><mi>i</mi></mrow></msub><mo>−</mo><mi>∇</mi><mo>⋅</mo><mo>(</mo><mover><mrow><mi>v</mi></mrow><mrow><mo>→</mo></mrow></mover><msub><mrow><mi>c</mi></mrow><mrow><mi>i</mi></mrow></msub><mo>)</mo><mo>+</mo><msub><mrow><mi>R</mi></mrow><mrow><mi>i</mi></mrow></msub><mo>(</mo><mi>p</mi><mo>,</mo><msub><mrow><mi>c</mi></mrow><mrow><mn>1</mn></mrow></msub><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mrow><mi>c</mi></mrow><mrow><mi>n</mi></mrow></msub><mo>,</mo><msub><mrow><mi>k</mi></mrow><mrow><mn>1</mn></mrow></msub><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mrow><mi>k</mi></mrow><mrow><mi>m</mi></mrow></msub><mo>,</mo><mi>t</mi><mo>)</mo><mo>.</mo></math></span></span></span> The reaction terms <span><math><msub><mrow><mi>R</mi></mrow><mrow><mi>i</mi></mrow></msub></math></span> can be user-specified in the form of C++11 lambda functions, parameterized by the local polygon (cell) <em>p</em> and a set of <em>m</em> kinetic coefficients <span><math><msub><mrow><mi>k</mi></mrow><mrow><mn>1</mn></mrow></msub><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mrow><mi>k</mi></mrow><mrow><mi>m</mi></mrow></msub></math></span>. Both the kinetic coefficients <span><math><msub><mrow><mi>k</mi></mrow><mrow><mi>j</mi></mrow></msub><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></math></span> and the diffusivities <span><math><msub><mrow><mi>D</mi></mrow><mrow><mi>i</mi></mrow></msub><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></math></span> (the latter assumed to be piece-wise constant) can access tissue information such as the local cell type through a map <span><math><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo><mo>→</mo><mi>p</mi></math></span>. This allows for cell-specific transport and reaction kinetics. At their birth, cells can draw their own random kinetic parameters to represent cell-to-cell variability [6,7]. In interstitial space or outside of the region occupied by the tissue, background coefficients can be specified. Note that the general form of <span><math><msub><mrow><mi>R</mi></mrow><mrow><mi>i</mi></mrow></msub></math></span> also allows for 0<sup>th</sup>- or 1<sup>st</sup>-order reactions, such as morphogen production or degradation. The coefficients <span><math><msub><mrow><mi>α</mi></mrow><mrow><mi>i</mi></mrow></msub></math></span> control the degree of anisotropy in the diffusion of each species.</div><div>To simulate advection and dilution in moving, deforming and growing tissues, a discretized velocity field <span><math><mover><mrow><mi>v</mi></mrow><mrow><mo>→</mo></mrow></mover><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></math></span> is interpolated on the finite-difference grid from the underlying off-lattice motion of cellular boundaries. Inside cells, inverse distance weighting (IDW) of the cell vertex velocities is used. In the extracellular space, three options are available (Supplementary Fig. 1): i) IDW within a user-defined cutoff radius, ii) bilinear interpolation or iii) zero velocity. At the lattice borders, Dirichlet and Neumann boundary conditions can be specified.</div><div>For the coupling in opposite direction, all relevant cellular model parameters of PolyHoop, such as cortical tension, growth rates, etc., can be made dependent on a local readout of species concentrations <span><math><msub><mrow><mi>c</mi></mrow><mrow><mi>i</mi></mrow></msub></math></span> and their gradients <span><math><mi>∇</mi><msub><mrow><mi>c</mi></mrow><mrow><mi>i</mi></mrow></msub></math></span>, via user-specifiable C++11 lambda functions <span><math><mi>f</mi><mo>(</mo><mi>p</mi><mo>,</mo><msub><mrow><mi>c</mi></mrow><mrow><mn>1</mn></mrow></msub><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mrow><mi>c</mi></mrow><mrow><mi>n</mi></mrow></msub><mo>,</mo><mi>∇</mi><msub><mrow><mi>c</mi></mrow><mrow><mn>1</mn></mrow></msub><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>∇</mi><msub><mrow><mi>c</mi></mrow><mrow><mi>n</mi></mrow></msub><mo>,</mo><mi>t</mi><mo>)</mo></math></span>. Contact parameters (the adhesion strength and the friction coefficient) can be defined based on the properties of both cells involved in the contact, allowing to model differential adhesion for instance. In addition, a chemotactic force vector and a cell type specifier can be defined in the above functional form.</div><div><em>Additional comments including restrictions and unusual features:</em> PolyMorph inherits all physical features of its predecessor PolyHoop except cell fusion, but relaxes its design paradigm of strictly minimal code somewhat, in favor of more modularity to account for the increased level of complexity. It does therefore not supersede PolyHoop, but rather represents a spin-off program. The name PolyMorph conveys the shifted focus on morphogenetic problems involving a coupling to multi-component species transport.</div><div>Like PolyHoop, PolyMorph writes a series of VTK output files that can be viewed in ParaView. A structured grid file (.vts) containing user-specified lattice data is written for every animation frame. The user may further call the function <span>Ensemble::write_OFF()</span> to save a tissue in its current state in the common Object File Format (.off), for later use as a starting point of a different simulation.</div><div>Three limitations of the current implementation are that only diagonal elements in the diffusion coefficient matrix are supported, both the cell mechanics and the finite-difference solver operate with the same timestep, and both spatial directions use the same grid spacing.</div></div><div><h3>References</h3><div><ul><li><span>[1]</span><span><div>R. Vetter, V. Runser, D. Iber, PolyHoop: soft particle and tissue dynamics with topological transitions, Comput. Phys. Commun. 299 (2024) 109128</div></span></li><li><span>[2]</span><span><div>K.A. Rejniak, A single-cell approach in modeling the dynamics of tumor microregions, Math. Biosci. Eng. 2 (2005) 643–655</div></span></li><li><span>[3]</span><span><div>S. Tanaka, D. Sichau, D. Iber, LBIBCell: a cell-based simulation environment for morphogenetic problems, Bioinformatics 31 (2015) 2340–2347</div></span></li><li><span>[4]</span><span><div>B. Merchant, L. Edelstein-Keshet, J.J. Feng, A Rho-GTPase based model explains spontaneous collective migration of neural crest cell clusters, Dev. Biol. 444(Suppl. 1) (2018) S262–S273</div></span></li><li><span>[5]</span><span><div>R. Conradin, C. Coreixas, J. Latt, B. Chopard, PalaCell2D: a framework for detailed tissue morphogenesis, J. Comput. Sci. 53 (2021) 101353</div></span></li><li><span>[6]</span><span><div>R. Vetter, D. Iber, Precision of morphogen gradients in neural tube development. Nat. Commun. 13 (2022) 1145</div></span></li><li><span>[7]</span><span><div>Y. Long, R. Vetter, D. Iber, 2D effects enhance precision of gradient-based tissue patterning, iScience 26 (2023) 107880</div></span></li></ul></div></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"312 ","pages":"Article 109581"},"PeriodicalIF":7.2000,"publicationDate":"2025-03-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Physics Communications","FirstCategoryId":"101","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0010465525000840","RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 0
Abstract
We present PolyMorph, a lightweight standalone C++ program that extends its predecessor PolyHoop by a finite-difference solver for multi-component reaction-advection-diffusion equations. PolyMorph simulates two integral parts of tissue morphogenesis in two dimensions: 1) the mechanics of cellular deformation, growth and proliferation, and 2) transport and reaction of an arbitrary number of chemical species. Both of these components are bidirectionally coupled, allowing cells to base their behavior on local information on concentrations and flow, and allowing the chemical transport and reaction kinetics to depend on spatial information such as the local cell type. This bidirectional feedback makes PolyMorph a versatile tool to study a variety of cellular morphogenetic processes such as chemotaxis, cell sorting, tissue patterning with morphogen gradients, Turing patterning, and diffusion- or supply-limited growth with sub-cellular resolution.
Program summary
Program Title: PolyMorph
CPC Library link to program files:https://doi.org/10.17632/4jscxhkd2s.2
Does the new version supersede the previous version?: No
Nature of problem: In tissue development and disease, morphogenesis and cell fate determination depends on mechanical processes as well as chemical signaling. PolyMorph couples the Newtonian mechanics of deformable cells (including growth and proliferation) in 2D with a customizable set of reaction-advection-diffusion equations to simulate problems that require an integrated approach with chemical-mechanical interactions. Typical use cases include the patterning of epithelial tissues with chemical signals (e.g., morphogen gradients or the Turing mechanism), chemotaxis and cell migration, wound healing, diffusion- or nutrition-limited growth, regulatory network dynamics in a spatial cellular environment, and other problems in tissue self-organization. PolyMorph enables the numerical solution of such problems with bidirectional feedback between mechanics and chemistry, in large monolayer tissues and with an arbitrary number of interacting species.
Solution method: The off-lattice polygonal representation of cell boundaries in PolyHoop [1] is coupled to a lattice representation of diffusing chemical reactants. The reaction-advection-diffusion problem is solved with the finite difference method using the standard 5-point central difference stencil, and explicitly integrated in time. A scatter-gather approach inspired by the particle-in-cell method interpolates between the Lagrangian cell boundaries and the Eulerian finite-difference grid. The program is parallelized with OpenMP and does not use any external libraries.
Reasons for the new version: The original program PolyHoop solves the Newtonian mechanics of deformable particles, foams and cellular tissues in two dimensions. In the application realm of developmental and systems biology, however, various morphogenetic problems depend not only on cell mechanics, but also on chemical signaling, nutrient supply etc. The solution of such external transport problems was not part of PolyHoop, but is available in some related codes [2–5]. We have extended PolyHoop to create a new program named PolyMorph, introduced here. It enables the simulation of cellular tissue dynamics with bidirectional coupling to a multi-component diffusion system, which substantially widens the potential scope of application.
Summary of revisions: PolyMorph introduces a solver for n coupled reaction-advection-diffusion equations for concentrations , of the form The reaction terms can be user-specified in the form of C++11 lambda functions, parameterized by the local polygon (cell) p and a set of m kinetic coefficients . Both the kinetic coefficients and the diffusivities (the latter assumed to be piece-wise constant) can access tissue information such as the local cell type through a map . This allows for cell-specific transport and reaction kinetics. At their birth, cells can draw their own random kinetic parameters to represent cell-to-cell variability [6,7]. In interstitial space or outside of the region occupied by the tissue, background coefficients can be specified. Note that the general form of also allows for 0th- or 1st-order reactions, such as morphogen production or degradation. The coefficients control the degree of anisotropy in the diffusion of each species.
To simulate advection and dilution in moving, deforming and growing tissues, a discretized velocity field is interpolated on the finite-difference grid from the underlying off-lattice motion of cellular boundaries. Inside cells, inverse distance weighting (IDW) of the cell vertex velocities is used. In the extracellular space, three options are available (Supplementary Fig. 1): i) IDW within a user-defined cutoff radius, ii) bilinear interpolation or iii) zero velocity. At the lattice borders, Dirichlet and Neumann boundary conditions can be specified.
For the coupling in opposite direction, all relevant cellular model parameters of PolyHoop, such as cortical tension, growth rates, etc., can be made dependent on a local readout of species concentrations and their gradients , via user-specifiable C++11 lambda functions . Contact parameters (the adhesion strength and the friction coefficient) can be defined based on the properties of both cells involved in the contact, allowing to model differential adhesion for instance. In addition, a chemotactic force vector and a cell type specifier can be defined in the above functional form.
Additional comments including restrictions and unusual features: PolyMorph inherits all physical features of its predecessor PolyHoop except cell fusion, but relaxes its design paradigm of strictly minimal code somewhat, in favor of more modularity to account for the increased level of complexity. It does therefore not supersede PolyHoop, but rather represents a spin-off program. The name PolyMorph conveys the shifted focus on morphogenetic problems involving a coupling to multi-component species transport.
Like PolyHoop, PolyMorph writes a series of VTK output files that can be viewed in ParaView. A structured grid file (.vts) containing user-specified lattice data is written for every animation frame. The user may further call the function Ensemble::write_OFF() to save a tissue in its current state in the common Object File Format (.off), for later use as a starting point of a different simulation.
Three limitations of the current implementation are that only diagonal elements in the diffusion coefficient matrix are supported, both the cell mechanics and the finite-difference solver operate with the same timestep, and both spatial directions use the same grid spacing.
References
[1]
R. Vetter, V. Runser, D. Iber, PolyHoop: soft particle and tissue dynamics with topological transitions, Comput. Phys. Commun. 299 (2024) 109128
[2]
K.A. Rejniak, A single-cell approach in modeling the dynamics of tumor microregions, Math. Biosci. Eng. 2 (2005) 643–655
[3]
S. Tanaka, D. Sichau, D. Iber, LBIBCell: a cell-based simulation environment for morphogenetic problems, Bioinformatics 31 (2015) 2340–2347
[4]
B. Merchant, L. Edelstein-Keshet, J.J. Feng, A Rho-GTPase based model explains spontaneous collective migration of neural crest cell clusters, Dev. Biol. 444(Suppl. 1) (2018) S262–S273
[5]
R. Conradin, C. Coreixas, J. Latt, B. Chopard, PalaCell2D: a framework for detailed tissue morphogenesis, J. Comput. Sci. 53 (2021) 101353
[6]
R. Vetter, D. Iber, Precision of morphogen gradients in neural tube development. Nat. Commun. 13 (2022) 1145
[7]
Y. Long, R. Vetter, D. Iber, 2D effects enhance precision of gradient-based tissue patterning, iScience 26 (2023) 107880
期刊介绍:
The focus of CPC is on contemporary computational methods and techniques and their implementation, the effectiveness of which will normally be evidenced by the author(s) within the context of a substantive problem in physics. Within this setting CPC publishes two types of paper.
Computer Programs in Physics (CPiP)
These papers describe significant computer programs to be archived in the CPC Program Library which is held in the Mendeley Data repository. The submitted software must be covered by an approved open source licence. Papers and associated computer programs that address a problem of contemporary interest in physics that cannot be solved by current software are particularly encouraged.
Computational Physics Papers (CP)
These are research papers in, but are not limited to, the following themes across computational physics and related disciplines.
mathematical and numerical methods and algorithms;
computational models including those associated with the design, control and analysis of experiments; and
algebraic computation.
Each will normally include software implementation and performance details. The software implementation should, ideally, be available via GitHub, Zenodo or an institutional repository.In addition, research papers on the impact of advanced computer architecture and special purpose computers on computing in the physical sciences and software topics related to, and of importance in, the physical sciences may be considered.