1 Introduction

Biological tissues exhibit structured, well-defined architectures which arise from balanced chemical and mechanical interactions between cells and the surrounding microenvironment [1, 2]. Thus, deregulated tissue organisation may result from cell-level disturbances, such as genetic defects or altered phenotypes [3]. For instance, tumours disrupt the architecture of normal tissues since they impact the mechanical properties of the microenvironment and the interactions between cells [4,5,6]. Indeed, pathologists use histologic records to diagnose health problems, such as cancer and heart diseases, because it is possible to distinguish between healthy and diseased tissues based on their microarchitecture [7].

Rosettes are histologic architectural patterns found in a variety of tissues, most notably the nervous system [8, 9]. For example, a specific rosette subtype named Homer-Wright (HW) rosette arises in neuroblastoma, the most lethal and common extracranial tumour in infants [10,11,12]. The presence of HW rosettes in histological records is usually taken into account during the diagnosis of this type of tumour, and it is characterised by the existence of circular arrangements of cells that surround a common core containing fibres. Although previous studies have suggested that HW rosettes originate from poorly-differentiated neurons and result from cell–cell interactions [8, 13], these observations have not been further confirmed and validated. Taking into account that these structures originate during neuronal development and are triggered by specific differentiation stimuli, it is not a trivial task to investigate and characterise their formation experimentally [14]. Consequently, mathematical and computational models can help to elucidate this biological process.

Computational modelling has been extensively employed to simulate biological tissues and tumour environments in order to answer questions that would otherwise be challenging to evaluate [15,16,17,18,19,20]. Cell-based models are one of the most prominent modelling techniques in computational biology, and they are characterised by their ability to simulate each cell, as well as its behaviours, individually [21,22,23]. These frameworks can be further classified by how cells are represented. In centre-based models, for instance, cells are defined by their centre of mass and an approximation of their geometry, such as a circle or sphere [21]. Previous studies have employed these methods to show how cells organise into circular arrangements resembling rosettes during morphogenesis of the nervous system in zebrafish to form neuromasts, which are sensory organs [24,25,26]. In addition, new modelling frameworks have recently arisen to explore neuronal development and the formation of neuronal structures with both cell bodies and neurites through the inclusion of simulation objects with more complex geometries [27,28,29,30,31]. However, to the best of our knowledge, there are no computational models tailored to account for the interactions between the different components of neurons and mimic the development of HW rosettes in neuroblastoma.

In this work, we aimed to develop an open-source computational framework to simulate the development of HW rosette patterns and identify the key conditions that favour their formation. To achieve this, our model included cell mechanics and different biological events, namely cell division and neuronal differentiation. In addition, we examined distinct conditions to showcase the model's ability to simulate the formation of HW rosettes. Firstly, we simulated an ideal scenario of the assembly of these structures as described by the current theoretical hypotheses that explain their formation. Subsequently, we performed a numerical study to evaluate how mechanical interactions and differentiation rates regulated the formation of rosette-like structures using the same ideal configuration. Lastly, we conducted some larger-scale simulations in which we investigated the presence of HW rosettes in tissues with distinct proliferation and differentiation dynamics (i.e. undifferentiated, poorly-differentiated, and differentiating tissues). Even though the results from these example applications are limited and need further testing and evaluation, they serve as a preliminary study of the development of HW rosettes under distinct conditions and show some of the factors that need to be further characterised in vitro to advance in the understanding of how rosettes are created. Our package can be installed easily through Python’s package installer, pip, (https://pypi.org/project/neurorosettes/) and the source code files are publicly available [32].

2 Biological background

Rosettes are defined as small groups of cells organised in circular configurations around a common core, as illustrated in Fig. 1. There are various subtypes of rosettes, including HW, true ependymal, and neurocytic rosettes [8, 33]. HW rosettes have a well-defined circular geometry, as shown in Fig. 1a. Moreover, their central core is composed of neuronal processes, commonly designated as neuropil, which are meshwork of fibres derived from the developing neuronal processes of the sympathetic nervous system. True ependymal rosettes (see Fig. 1b) have a well-defined circular geometry as well, but, unlike HW rosettes, they enclose an empty lumen. Lastly, neurocytic rosettes (see Fig. 1c) have a central core filled with neuropil, but they are usually more elongated and present a more irregular contour than HW rosettes. In addition, reports have also revealed different architectures, such as rosettes that enclose a lumen with cytoplasmic processes [8], pseudorosettes that surround a blood vessel [34] and rosettes with basophilic cells inside the central core [35]. Nevertheless, in this research work, we primarily focused on the factors that lead to the emergence of HW rosettes.

Fig. 1
figure 1

Representation of different rosette subtypes. (A) shows a histological image of a poorly-differentiated tissue sample containing HW rosettes (image taken from [36]). (B) shows an illustration of a tissue with HW rosettes, which are circular arrangements of cells that surround a common core containing a meshwork of fibres similar to neuropil. HW rosettes are identified by their well-defined circular structure (marked with a full circle). Yet, spatial architectures with an almost-radial arrangement (marked with a dashed circle) may also be seen in histological records due to tissue heterogeneity. (B) shows an illustration of one true ependymal rosette characterised by an empty lumen at the centre of the radial structure formed by the surrounding cells. (C) shows an illustration of one neurocytic rosette, which contains a meshwork of fibres like an HW rosette but presents a more irregular and elongated structure

Neuroblastoma tumour cells derive from neural crest cells that differentiate into sympathetic neurons during embryogenesis in response to the presence of neuronal growth factors [37, 38]. Although progenitor cells are initially undifferentiated and present a round morphology, during neuronal development, these cells create and extend neuronal processes, also called neurites, to establish the structure of a neuron [39]. Figure 2a illustrates the neuronal differentiation process in healthy tissues. Conversely, as shown in Fig. 2b, this differentiation process is blocked in neuroblastoma due to genetic factors and environmental cues [40]. Due to the highly heterogeneous nature of neuroblastoma, different tissue phenotypes have been observed based on the differentiation grade of neuroblastic tumours [41], which can be classified into three principal categories: undifferentiated, poorly-differentiated, and differentiating [12]. The morphology of the neuroblastic cells also differs between these groups. Undifferentiated tissues are composed mainly of cell bodies, whereas differentiating phenotypes have more regions filled with neuronal processes [60]. Nonetheless, in their majority, neuroblastic cells have a cell body and a few short neurites [38, 42].

Fig. 2
figure 2

Simplified representations of the neuronal differentiation process in (a) healthy tissues and (b) neuroblastoma. On the one hand, in healthy tissues, neural crest cells differentiate into cells of the nervous system and create long neurites, adopting the structure of a neuron. On the other hand, in neuroblastoma, neuronal differentiation is blocked at the early stages. Consequently, the neuronal processes of neuroblastic cells are shorter and less differentiated than those seen in healthy tissues. Furthermore, in neuroblastoma, the morphology of poorly-differentiated neurons leads to the formation of a specific rosette subtype (Homer-Wright rosette). Specifically, the poorly-differentiated neuroblastoma cells take on a radial spatial arrangement as neurites become tangled and cell bodies adhere to each other. As a result, their neurites fill the central core of the rosette structure

The current hypothesis for explaining the emergence of HW rosettes assumes that these histological patterns are a result of the interactions between the cell bodies and neurites of neuroblastoma cells, as illustrated in Fig. 2b [8, 13]. Studies have revealed that cells undergoing neuronal differentiation secrete cell surface receptors that facilitate cell–cell recognition and adhesion [43]. It is therefore assumed that as cell bodies become adhered, their neurites interact and entangle, creating the radial structure of the rosette [44].

3 Computational model

We designed an open-source modelling framework to simulate the formation of HW rosettes in neuroblastoma. We implemented different types of physical interactions and biological events, as explained in more detail below. Although we based our approach in the previously published CX3D framework [27], we further extended our model to provide more flexibility to users and we aimed to make our framework more accessible to scientists with varying degrees of programming knowledge. Accordingly, we have written our model in the Python 3 programming language due to its simple syntax and popularity in the biological sciences community and neuroscience, in particular [45]. We also tested our framework to assure that it is easily installable through Python’s package installer in different operating systems (e.g. Windows, OS and Linux). Furthermore, we created this framework to be intuitive, require minimal code and provide high-quality renderings of the results in real-time through the use of a graphical user interface, making it attractive and easily useable by the general scientist. Extensive documentation is also provided (see https://pypi.org/project/neurorosettes/), including a User Guide to aid users replicate the simulations presented in this work, which can serve as templates for new studies, and create new models. Henceforth, we simulated tissues in 2D to ease the comparison between our results and the histological records found in the literature. Furthermore, users can define model parameters in configuration files uncoupled from the main code, making the framework accessible to a general audience. The numerical values used in this work are presented in Table 1.

Table 1 Reference parameter values of the computational model

3.1 Neuron representation

We modelled neurons as it was previously simulated in [27] by representing each neuron as a chain of springs and masses in series. As shown in Fig. 3a, two types of physical objects were considered to reproduce neuronal system components and compute agent interactions: cell bodies were modelled as spheres, and neurites as cylinders. On the one hand, each cell body was represented by its central point mass and radius (Rc). On the other hand, neurites were defined by a spring and a point mass at one of their extremities, as well as their radius (Rn). When mechanical interactions were computed, the forces acting on the agent mass were calculated. Subsequently, the mass point was moved. For neurites, only one of the extremities was moved, while the other was considered to be the mass point of its adjacent object (cell body or neurite). Consequently, neurite rotation was neglected in this model. Furthermore, we assumed that each new neuron in the simulation was composed of a cell body in an undifferentiated state, whereas differentiated neurons were composed of a cell body and one or more neurites [49]. Since we aimed to model the formation of HW rosettes and these structures are observed in poorly-differentiated tissues [8], we did not implement the formation of multiple primary neurites in distinct directions. Instead, we considered the creation of a single primary neurite that could be extended by adding secondary neurites along the same outgrowth axis.

Fig. 3
figure 3

Representations of the (a) modelled neuron structure and (b, c) the functions implemented in the cell biology module. (a) We modelled neurons as a combination of a single cell body, represented by a sphere, and some neurites, depicted as cylinders with a spring axis. In addition, neurons were able to undergo (b) proliferation or (c) differentiation based on user-defined rates. (b) During proliferation, an undifferentiated neuron originated two new cell bodies. This mechanism was arrested when the number of neighbours in a region surpassed a given threshold to replicate contact inhibition. (c) During differentiation, new primary or secondary neurites were created. The latter were able to turn slightly to mimic the turning mechanisms observed during neurite outgrowth. The degree of freedom for this process was defined by the angle θturn. Furthermore, we prevented that new neurites were placed on top of existing neurites by decreasing their length until no collisions were detected. Nonetheless, if the length of the new neurite was smaller than a defined threshold Lmin, it would not be created

3.2 Cell biological events

We implemented simplified models of cell proliferation and differentiation into our computational framework. As illustrated in Fig. 3b, we defined that only undifferentiated neurons could undergo cell division since studies have shown that proliferation stops once neurons become committed to neuronal differentiation [50]. Moreover, we assumed new neurons inherited the same attributes as the neurons from which they were created, including their physical properties and biological event rates. Hereafter, as developed in previous works [48], we established that cells presented a probability to divide (Pdiv) at a given time interval t that was based on a user-defined proliferation rate (rdiv) and given by Eq. 1.

$$ \user2{P}_{{{\mathbf{div}}}} \approx \user2{r}_{{{\mathbf{div}}}} {\mathbf{\Delta t}} $$
(1)

Additionally, we introduced some control mechanisms to replicate the neurons' response to high cell densities and simulate the effect of contact inhibition on cell cycling [51]. Consequently, we defined the maximum number of neighbours cell bodies could have inside a given interaction region. If the number of cell bodies inside this area surpassed the threshold established (nneighbours), proliferation was inhibited, as shown in Fig. 3b. The proliferation parameter values are defined in Table 1.

Neuronal differentiation, represented in Fig. 3c, was also modelled based on the probability of a neuron to differentiate at a given time interval (rdiff) as given by Eq. 2.

$$ \user2{P}_{{{\mathbf{diff}}}} \approx \user2{r}_{{{\mathbf{diff}}}} {\mathbf{\Delta t}} $$
(2)

Here, Pdiff represents the probability of a neuron cell body to differentiate and create a new neurite in a time step t. We defined that the direction of a primary neurite, i.e. the first neurite to be created, would follow a direction specified by the user. If no preferential direction was defined, a random growth axis was chosen. Furthermore, secondary neurites tended to follow the direction of their mother's axis. Previous neurite outgrowth models considered that neurites adjusted their direction of growth by turning slightly at small angles towards the left or right in regards to its current growth axis [46, 47, 52]. Consequently, we incorporated this turning mechanism into our model by introducing an angle of freedom (θturn), which dictated how much secondary neurites could stray away from their mother's growth axis, as illustrated in Fig. 3c. Given that our model considered early differentiation stages, we modelled a single primary neuron elongation, which represents the neuron’s axon. However, other elongations (e.g., the neuron’s dendrites) could emerge in different directions. It must also be stated that, here, we also assume that a neurite was composed of a single fibre that sprouts in a given direction. However, these outgrowths have a more complex fibrillar nature and it is possible that, during development, these fibres are sparser, leading to the histological appearance of numerous and entangled fibres.

Furthermore, Fig. 3c also shows how we avoided the overlap between neurites of distinct neurons, as these structures cannot physically occupy the same area in space. Specifically, when a new neurite was created, we evaluated whether it would come into contact with an already existing neurite. If this was the case, we decreased the length of the neurite to avoid collisions between the two agents. Moreover, if the minimum length required to avoid contact between the objects was smaller than a given threshold (Ln,min), the neuron would not differentiate. Lastly, we modelled the differentiation blocking process by defining a maximum number of neurites that a neuron could have (nneurites). When a neuron differentiated up until the point where this threshold was reached, neuronal differentiation was blocked. The differentiation parameter values can be found in Table 1.

3.3 Cell mechanics and physical interactions

We introduced cell mechanics functions in our model to reproduce the physical interactions between cell bodies and neurites as proposed in [27]. Henceforth, we took into account the internal forces created in the springs that connected neurites and cell bodies, as well as the forces resulting from interactions between neighbouring objects, as represented in Fig. 4. Interactions were computed by taking into account the forces acting on the objects' mass point (i.e. the central point of cell bodies and the mass point of neurites). An object was able to interact with a neighbour object if it was inside a radius of interaction (Rc,int for cell bodies and Rn,int for neurites). Although both adhesion and repulsion forces were present in the model, we chose our model parameters to promote adhesion to represent the entanglement between neurites from different neurons. We assume this to be a simplified representation of the physical process through which neurites become entangled, as proposed by the current theory for HW rosette formation [8], which could be improved by introducing a larger number of smaller neurites at a higher computational cost.

Fig. 4
figure 4

Representation of the mechanics module which considered (ac) agent interactions based on adhesion/repulsion dynamics and (d) neurite spring forces. (a) Interaction forces (Fi,j) between two cell bodies, i and j, inside a radius of interaction (represented as dashed spheres) were computed through sphere-sphere contacts. (bc) Interactions between a neurite j and a cell body/neurite k were also computed as sphere-sphere interactions. Consequently, we identified the closest point on the neurite’s axis to its neighbour and, subsequently, calculated the resulting force assuming that the neurite behaved as a sphere centred on that point. The resulting force was then distributed by the neurite extremities according to their distance to the interaction point. Accordingly, a fraction of the force (Fj,k) was applied on the neurite’s mass, while the remaining fraction (\({\text{F}}_{d, int}^{i}\)) was transmitted to its mother, i. (d) As neurites were represented as Hookean springs, forces originated when they were stretched or compressed. Therefore, when the length of a neurite j changed, a force was applied on its mass point (\({\text{F}}_{spring}^{j}\)) and an opposite force (\({\text{F}}_{d, spring}^{i}\)) was transmitted to its mother, i

3.3.1 Forces acting on cell bodies

Since cell bodies were represented by a single mass with no attached spring, the forces acting directly on them were, primarily, interaction forces (see Fig. 4a). Here, we considered that object interactions were represented by sphere-sphere contacts [27]. Henceforth, although cell–cell interactions could be easily calculated by taking into account the central position of the cell body, the geometry of the neurites required some adjustments. Accordingly, as illustrated in Fig. 4b, cell-neurite interactions were computed by identifying the point on the neurite axis that was closest to the cell body and computing the interaction forces between a virtual sphere, centred at this point and with the same radius as the neurite, and the cell body.

We defined that the interaction force between neighbouring objects was composed of adhesion and repulsion components. Furthermore, we modelled physical interactions with interaction potentials as done in [48]. Hence, interactions between a cell i and its neighbour j were regulated by adhesion and repulsion coefficients and were given by Eqs. 3 and 4:

$$ \user2{F}_{{adh}}^{{i,j}} ~ = ~\left\{ {\begin{array}{*{20}l} {\user2{c}_{{adh}} \left( {1~ - \frac{\user2{r}}{{\user2{R}_{{c,\text{int} }} }}} \right)^{\alpha } \hat{r}} \hfill & {if\;~\left\| \user2{r} \right\| \le ~\user2{R}_{{c,\text{int} }} } \hfill \\ {\mathbf{0}} \hfill & {otherwise} \hfill \\ \end{array} } \right. $$
(3)
$$ {\text{F}}_{{{\text{rep}}}}^{{\user2{i},\user2{j}}} \user2{~} = \user2{~}\left\{ {\begin{array}{*{20}l} { - \user2{c}_{{{\text{rep}}}} \left( {1\user2{~} - \user2{~}\frac{{\text{r}}}{{\user2{R}_{{\text{c}}} }}} \right)^{\user2{\alpha }} \hat{r}} \hfill & {{\text{if~}}\left\| {\text{r}} \right\|\user2{~} \le \user2{R}_{{\text{c}}} } \hfill \\ 0 \hfill & {{\text{otherwise}}} \hfill \\ \end{array} } \right. $$
(4)

where, r is the distance vector between the masses of two neighbouring objects, pointing from cell body \(i\) to its neighbour \(j\). Rc,int represents the cell body radius of interaction, which is the maximum distance at which adhesion forces are present, and Rc is the cell body radius. Furthermore, cadh and crep represent the adhesion and repulsion coefficients, respectively, and α is a smoothness factor of the potentials function. In this model, we consider that cell–cell and cell-neurite interactions were defined by different coefficient values. Thus, on the one hand, in cell–cell interactions cadh, crep and \(\alpha \) represent the cell–cell adhesion coefficient ccca, the cell–cell repulsion coefficient cccr and the cell–cell smoothness factor αcc, respectively. On the other hand, in cell-neurite interactions these coefficients correspond to ccna, ccnr and αcn. The values for these coefficients can be found in Table 1.

In addition, cell bodies took into account the forces transmitted by their daughter neurites, if they had any. Due to the cylindrical geometry of neurites, interaction forces were distributed between their extremities, as explained in further detail in the subsection to follow. Consequently, progenitor cell bodies received a fraction of the interaction forces acting on their daughters (Fd,int), as shown in as illustrated in Fig. 4b. Moreover, since this model considered that cell bodies did not have springs, the internal forces for those that had daughter neurites was not computed directly. Instead, the internal forces of daughters (Fd,spring) were transmitted to the progenitors when forces were computed for the corresponding neurite agents, as illustrated in Fig. 4d. Taking this into account, the force that was exerted on a cell body \(i\) by its daughter could be given by Eq. 5.

$$ {\text{F}}_{{{\mathbf{daughter}}}}^{\user2{i}} = \user2{~}{\text{F}}_{{{\mathbf{d}},~{\mathbf{spring}}}}^{\user2{i}} + \user2{~}{\text{F}}_{{{\mathbf{d}},~{\mathbf{int}}}}^{\user2{i}} $$
(5)

Consequently, the sum of the forces acting on a cell body was computed and its centre of mass was moved. To achieve this, we took the inertialess assumption and defined that the equation of motion used to update the velocity of a cell i based on all of the forces acting on it was defined by Eq. 6:

$$ \user2{\mu }{\text{v}}_{\user2{i}} \user2{~} \approx \user2{~}\mathop \sum \limits_{\user2{j}} \left( {{\text{F}}_{{{\text{adh}}}}^{{\user2{i},\user2{j}}} + \user2{~}{\text{F}}_{{{\text{rep}}}}^{{\user2{i},\user2{j}}} } \right) + {\text{F}}_{{{\mathbf{daughter}}}}^{\user2{i}} $$
(6)

where μ represents the drag coefficient of the tissue where cells are located.

3.3.2 Forces acing on neurites

Neurites, just like cell bodies, were able to interact with neighbouring objects. As previously explained, since neurites were modelled as their mass point, the resulting force from the interaction between a neurite and a cell body was computed by finding the point on the neurite axis closest to the cell body and assuming that the neurite could be represented by a sphere centred at this point. A similar approach was employed to compute neurite-neurite interactions, as represented in Fig. 4c. Therefore, as explained in the previous section, the adhesion and repulsion forces between a neurite i and its neighbour j were given by Eqs. 7 and 8.

$$ {\text{F}}_{{{\text{adh}}}}^{{\user2{i},\user2{j}}} \user2{~} = \user2{~}\left\{ {\begin{array}{*{20}l} {\user2{c}_{{{\text{adh}}}} \left( {1\user2{~} - \user2{~}\frac{{\text{r}}}{{\user2{R}_{{{\text{n,int}}}} }}} \right)^{\user2{\alpha }} \hat{r}} \hfill & {{\text{if}}\;{\text{~}}\left\| {\text{r}} \right\| \le \user2{~R}_{{{\text{n,int}}}} } \hfill \\ 0 \hfill & {{\text{otherwise}}} \hfill \\ \end{array} } \right. $$
(7)
$$ {\text{F}}_{{{\text{rep}}}}^{{\user2{i},\user2{j}}} \user2{~} = \user2{~}\left\{ {\begin{array}{*{20}l} { - \user2{c}_{{{\text{rep}}}} \left( {1\user2{~} - \user2{~}\frac{{\text{r}}}{{\user2{R}_{{\text{n}}} }}} \right)^{\user2{\alpha }} \hat{r}} \hfill & {{\text{if~}}\;\left\| {\text{r}} \right\|\user2{~} \le \user2{R}_{{\text{n}}} } \hfill \\ 0 \hfill & {{\text{otherwise}}} \hfill \\ \end{array} } \right. $$
(8)

Here, Rn,int represents the neurites' radius of interaction, Rn represents their radius and \({\text{r}}\) represents the distance vector between the two neighbours. Furthermore, cadh and crep are the adhesion and repulsion coefficients and α is the potentials function smoothing factor for neurite interactions. Thus, these coefficients represent ccna, ccnr and αcn in cell-neurite interactions and cnna, cnnr and αnn neurite-neurite interactions. The values for these coefficients can be found in Table 1. Subsequently, the interaction forces were distributed by the two extremities neurite based on their distance to the closest point to the interaction point.

In addition, given that neurons were simulated as a system of spring in series, the tension force inside a neurite \( \user2{i}({\text{F}}_{{{\mathbf{spring}}}}^{\user2{i}} ) \) was given by Hooke's law [27, 53] as written in Eq. 9:

$$ {\text{F}}_{{{\mathbf{spring}}}}^{\user2{i}} = \user2{k}_{{{\mathbf{spring}}}} \frac{{\user2{L}^{\user2{i}} - \user2{L}_{0} }}{{\user2{L}_{0} }}\user2{\hat{e}}^{\user2{i}} $$
(9)

where, kspring is the neurite's linear spring constant (see Table 1), Li is the current length of the neurite, and L0 is its resting length, which is the length at which the neurite is initialised, and \({\widehat{{\varvec{e}}}}^{\mathbf{i}}\) represents the unit vector that defines the neurite's growth axis. As illustrated in Fig. 4d, when computing the forces acting on this system, the spring forces were applied directly to the neurite's mass. In addition, an opposite force Fd,spring was transmitted to their progenitors. As done for the cell bodies, the forces transmitted by daughter neurites could be defined by the sum of Fd,spring and Fd,int, as given by Eq. 5.

The equation of motion for a given neurite i was defined by taking into account the inertialess assumption and considering all the forces acting on the neurite's mass as defined in Eq. 10.

$$ \user2{\mu }{\text{v}}_{\user2{i}} \user2{~} \approx \user2{~}\mathop \sum \limits_{\user2{j}} \left( {{\text{F}}_{{{\text{adh}}}}^{{\user2{i},\user2{j}}} + \user2{~}{\text{F}}_{{{\text{rep}}}}^{{\user2{i},\user2{j}}} } \right) + {\text{F}}_{{{\mathbf{daughter}}}}^{\user2{i}} + \user2{~}{\text{F}}_{{{\mathbf{spring}}}}^{\user2{i}} $$
(10)

3.4 Visualisation and model outputs

One of our goals in the model design process was to create a framework that enabled real-time rendering of the simulation results to help users assess them visually. Therefore, we used the vedo package (version 2022.1.0) as our rendering engine since it creates high-quality interactive plots and animations and it has a shallow learning curve [54]. Although we developed our framework to work primarily with this package, it is not strictly coupled to the code. Thus, it can be replaced by other rendering tools, such as PyVista [55], according to the users' needs and preferences. In addition, screenshots of the model results can be taken, and simulation objects can be saved as meshes, to be further processed with visualisation tools such as ParaView [56].

4 Results and discussion

4.1 Simplified model of Homer-Wright rosette formation

In this work, we designed three computational studies to identify the factors that modulate the formation of HW rosettes. Firstly, we implemented a simulation to reproduce the current theoretical model that describes the formation of HW rosettes as previously explained in Sect. 1. Fundamentally, some previous studies hypothesized that the neurites of poorly-differentiated neurons interact and bind to each other, causing cell bodies to arrange in a circular geometry that encloses a meshwork of neuropil fibres [8]. Accordingly, to replicate this scenario, we created a simulation where cell bodies were placed in a radial arrangement, as shown in Fig. 5 (see the subfigure for t = 0 min). We established that neuronal differentiation could occur up to a maximum of 2 neurites per neuron (nneurites = 2) and at a rate (rdiff) of 0.007 1/min. We defined the differentiation rate based on previous works that showed that neurites grow at a rate of some microns per minute [29] and we established a maximum of 2 neurites per neuron to simulate how differentiation is blocked at early stages in neuroblastoma [3, 40]. At the cell mechanics level, we calibrated the adhesion and repulsion parameters to promote cell–cell and neurite-neurite adhesion [8, 44, 57]. These values can be found in Table 1, except for the cell–cell adhesion coefficient, which was varied in different studies. Here, it was considered that ccca = 5. Furthermore, preliminary simulations were run to define the time point at which neurons reached steady-state through visual observation of the simulation results.

Fig. 5
figure 5

Computational model results obtained for an HW rosette formed under ideal conditions. We designed this simulation according to the current theoretical model on the origin of this rosette subtype. Neuron cell bodies were placed in a circular arrangement, and neuronal differentiation was enabled. Yet, each neuron could only grow two neurites. We adjusted cell mechanics parameters to promote adhesion cell–cell and neurite-neurite interactions. As a result, we achieved a stable rosette pattern, as cells became adhered and neurites grew into the centre of the circular arrangement and started interacting with other neurites. The model was run for a total of 8 simulated hours

Furthermore, in these simulations, we established that the growth axis of new neurites pointed towards the centre of the circular arrangement of neurons. We defined these conditions to model an ideal scenario of HW rosette formation in which neurites would be more likely to come into contact with each other and form the characteristic structure of this rosette subtype. Biologically, neurites have been shown to extend towards sources of chemical substances, such as nerve growth factors (NGFs) and neurotrophins [52, 58]. For instance, Schwann cells, which are present in some neuroblastoma subtypes, are known to increase neurite outgrowth rates [59]. Therefore, as an idealised model assumption, this application aimed to simulate neurite outgrowth towards a source of differentiation-inducing signals at the centre of the rosette.

The results obtained in this initial study are presented in Fig. 5, from which it is possible to conclude that the simulated neurons adopted the structure and morphology of an HW rosette. We highlight that this process was promoted by the adhesion between the neurons' cell bodies and the subsequent formation and growth of neurites that became adhered as they grew into the centre of the rosette. Since our model considered that neurites could turn and change their direction of growth slightly as they grew, it was also possible to discern this behaviour in the simulation outputs. Further turning and changes in the structure of the neurites were induced by the interactions with the neurites of other neurons. This computational simulation was also used to evaluate how the mechanical interactions between neuron cell bodies and the rates of neuronal differentiation modulated the morphology of HW rosettes. These results are presented and discussed in the section to follow.

4.2 Numerical sensitivity analysis on cell mechanics and neuronal differentiation

Having defined our base model of HW rosette formation, we designed a numerical analysis to evaluate how the model's response changed in response to different parameter values. We selected two main parameters for this study: the differentiation rate, defined by rdiff (see Eq. 2), and the adhesion levels between cells, given by ccca (see Eq. 3). At the biological level, we decided to study the effect of the differentiation rate and not the proliferation rate to avoid disrupting the circular geometry of the rosette. In addition, while differentiation may occur at a time scale of minutes [29], proliferation should only occur after several hours or days. At the mechanics level, we focused on the interactions between cell bodies because they appeared to dominate how pattern formation occurred. In future studies, additional factors, such as the neurite growth angle, could be varied to provide a more thorough description of how HW rosette formation can occur.

Since neurites were programmed to grow inwards, we observed that cell-neurite interactions did not play a major role in this system. Likewise, due to the reduced size of the rosette, it was highly probable for neurites to be in contact with each other. Hence, their interactions were regulated mainly by the adhesion forces induced by the cell bodies. Due to the lack of experimental data on HW rosettes and their origin, we could not fit these parameter values according to neuroblastoma cases. Consequently, in this work, we evaluated our results based on the morphology of the simulated HW rosettes, as there were no quantifiable data values that we could use to calibrate our model.

The results obtained for these simulations are shown in Fig. 6. Overall, in these computational assays, we recognised that both the adhesion levels between cells and the differentiation rates of neurons caused an impact on the morphology of HW rosettes. Starting with the results obtained at balanced levels of differentiation (rdiff = 0.007 1/min), the model outputs suggest that balanced adhesion levels (ccca = 5) promoted the formation of well-defined circular geometries with connected cell bodies. Neurites from opposite neurons also became adhered since the cell–cell adhesion levels induced a more compact radial geometry. We did not identify this behaviour when cell–cell adhesion was not present in the model (ccca = 0). When only repulsion was considered, neurons were organised in a radial geometry, but the cell bodies were not connected. Also, there were fewer contact points between neurites, as the neurons were more distanced. Contrarily, at high adhesion levels (ccca = 15), the circular geometry of the rosettes became smaller and disrupted. Snapshots of replicates for each condition are presented as Supplementary Information to show that these results were consistent over different simulations.

Fig. 6
figure 6

Computational results of HW rosette formation at different differentiation rates and cell–cell adhesion levels. At balanced differentiation rates, the adhesion between cell bodies appeared to regulate the radius and the stability of the rosette structure. Furthermore, at high differentiation rates, the radius of the rosette appeared to be maintained regardless of the adhesion levels between cell bodies. Yet, the mechanical interactions modulated the morphology of the rosette since neighbouring neurons became attached and disrupted the circular architecture of the rosette. Consequently, the rosette presented gaps between groups of cell bodies. The model was run for a total of 5 simulated hours

In simulations performed at high differentiation rates (rdiff = 0.07 1/min), the simulation outputs appeared to indicate that the creation and growth of neurites at a faster rate disrupted the circular arrangement of the neurons, specifically at balanced and high cell–cell adhesion levels. Based on the model results, neurites started to grow into the centre of the rosette before cell bodies were adhered. Hence, the interactions between neurites of neighbouring neurons induced the formation of disjointed circular architectures. This effect was promoted further at high adhesion levels, for which the results show that cell bodies were grouped into smaller clusters. We highlight that the radius of the rosette was also not decreased at this differentiation rate, as the mechanical interactions between the neurites that were already created balanced the adhesion forces between cell bodies. Conversely, at low adhesion levels, this effect was not observed, as there were no relevant cell–cell interactions in these simulations. It must be remarked that the radius of the initialised rosette also plays a role in this study, since larger rosettes may allow for higher differentiation rates as neurites would have more space to grow without deregulating the radial structure of the rosette.

4.3 Tissue-scale simulations

Finally, in our last example application, we performed a study to confirm the relevance of the creation and extension of neuronal processes at larger scales. Hence, we designed a simulation to reproduce a tissue section comparable to those captured in histological images. We created an initial configuration where neurons with no neurites were placed in a hexagonal grid. In addition, cell clocks were initialised to model the three types of tissue in neuroblastoma: (i) undifferentiated, (ii) poorly-differentiated and (iii) differentiated [12]. In case (i), we programmed cells to exhibit high division rates to capture the enhanced proliferative behaviour of undifferentiated tumour cells. Neuronal differentiation was completely blocked. In case (ii), we established that cells should have the same proliferation rate as in (i), but we introduced neuronal differentiation. In this case, we defined a maximum number of neurites per neuron to simulate the blocking of the differentiation process in poorly-differentiated tissues. Lastly, in case (iii), we blocked cell proliferation and kept the differentiation rates. We also increased the maximum number of neurites, thus resembling a normal process of neuronal differentiation. Given the stochastic nature of our model, we performed multiple simulations for each of the previously mentioned conditions and assessed the results to identify the conditions that enable and promote the rosette formation process. Furthermore, we established a common final simulation time since steady-state could not be reached when proliferation and differentiation were not blocked.

Some representative results for this study are depicted in Fig. 7. In undifferentiated tissues, labelled as case (i), cells formed more homogeneous tissues, with many cell bodies and a constrained amount of extracellular space. On the other end of the spectrum, differentiated tissues were characterised by regions of low cell density with abundant neuropil and extracellular space. We did not observe the presence of HW rosettes in either of these tissue types (i and iii). However, in poorly-differentiated tissues (ii), the balance between proliferation and differentiation promoted the formation of structures similar to HW rosettes as cell density levels enabled interactions between cells and neurites. Moreover, we observed that the maximum number of neurites was a relevant factor in the rosettes' radial structure maintenance since differentiated tissues with long neurites promoted the formation of low cell-density areas as neurites elongated and pushed cell bodies. Nonetheless, it must be remarked these structures appear to be similar to small gaps formed by neurite protrusion when neurites from different cells extended towards a common central point.

Fig. 7
figure 7

Histological records and simulation data for different stages of neuronal differentiation. All simulations were initialised with neurons with a cell body and no neurites in a 7 × 7 hexagonal grid. We analysed three groups of simulations, each corresponding to a type of tissue, namely undifferentiated, poorly-differentiated and differentiating tissues. Neuron biological clocks were programmed to create the structure of these tissues by: (a) blocking differentiation, (b) combining proliferation and differentiation, and (c) blocking proliferation. Results were evaluated by visually identifying the existence of HW rosettes, marked by yellow dashed circles, which were only observed in poorly-differentiated tissues. Undifferentiated tissues presented structures similar to true ependymal rosettes with an empty core, as shown by red dashed circles. Histology images were taken from [60] (A) and [36] (B, C)

We observed that cell bodies could be organised around a central empty core in poorly-differentiated and undifferentiated tissues. As previously explained in Sect. 1, rosette patterns that surround an empty lumen are usually classified as "true ependymal rosettes." Although these structures were the result of the mechanical interactions between cell bodies and cell proliferation in our model, it is relevant to highlight that studies attribute the formation of this rosette subtype to a more complex process. Several studies have thoroughly studied and modelled the formation of true ependymal rosettes in vitro and associated it with ependymal differentiation, through which cells become more elongated and present a polar geometry, forming an empty lumen in the middle of a group of cells [59].

Lastly, even though structures similar to HW rosettes were induced by the balanced levels of proliferation and differentiation, we still observed that this process was very stochastic and could not be predicted easily. We attribute this to the fact that, in contrast with the studies presented in the previous sections, neurite outgrowth was assumed to be a random process, i.e. the direction of growth of new neurites was chosen randomly. Thus, we did not consistently observe significant interactions between neurites, and could not confirm that neurites from different cells became tangled to form the rosette patterns [8]. Instead, we observed that new neurites appeared in intercellular spaces with a circular geometry. In this study, we investigated whether HW rosettes could be produced in the absence of a distinct chemical signal by establishing that neuronal development would follow no preferential orientation. Our findings led us to the conclusion that small radial structures with a few neurites inside their core could appear spontaneously due to mechanical interactions and differentiation rates, but their morphology was not as well-defined as the HW rosettes obtained in the idealised studies presented in the previous sections. To further assess the similarity between histological and computational data, it would be relevant to extract quantitative metrics such as the size and eccentricity of the rosettes. Therefore, we propose that future experimental studies may be designed to gather this information that can be used to calibrate model parameters based on the area and eccentricity of the simulated rosettes, as done previously for other centre-based models [23].

Overall, our results indicate that mechanical interactions alone are sufficient to promote the initial stages of HW rosette formation. In fact, the structures that can be observed Fig. 7 seem appear as a response to the mechanical interactions between neurites and cell bodies that form small gaps with a poor radial structure. Nevertheless, further studies must be conducted to assess if these gaps represent the initial stages of rosette formation, as suggested by the model, or if there are other external factors promoting their radial morphology. For example, NGFs could be included in the model to direct neurite outgrowth and, en additional data about these chemical gradients becomes available, signalling is a pertinent component to incorporate in future iterations of this computational framework. Moreover, it could be interesting to study how the spatial location of these growth factors influences rosette formation. For instance, it could be possible to introduce different tissue regions with NGF-secreting cells, such as Schwann cells, and evaluate how different distributions and cell densities resulted in distinct tissue architectures.

5 Conclusions

In this work, we present a mechanics-based modelling framework to study the dynamics of the formation of HW rosette patterns in the early development of neuroblastoma in an accessible and visually engaging manner. The occurrence of rosettes in cancer progression is still not properly understood and there is a shortage of experimental data to support the existing assumptions about this developmental process due to the difficulties in recreating these biological conditions in vitro [8]. Numerical and computational simulations enable new opportunities to simulate these morphological patterns and propose new hypotheses that may guide future experiments. The development of HW rosettes, a type of spatial structure characterised by a radial arrangement of cell bodies that surround neuronal processes, was the subject of this present work. Using our computational framework, we have designed three different use cases to show how distinct factors modulate this process. We hypothesize that stages of poor neuronal differentiation in our model created a balance between proliferation and differentiation levels that modulated the formation and presence of structures similar to HW rosettes. Furthermore, model parameters that regulated tissue mechanics also played a relevant role in regulating the morphology of these structures. Nevertheless, we believe that our application must be further extended to provide more consistent results and a better depiction of HW morphology. For example, preferential differentiation towards a given direction and growth of multiple neurites per neuron could be implemented. To achieve this, though, it is essential to obtain more experimental data about the mechanisms that should be modelled and the metrics that could be compared with model outputs. For instance, future studies should take into account parameters to quantify the morphology of the rosettes (e.g. area and eccentricity), the neuron’s differentiation grade (number of neurites) and the forces acting on both cell bodies and neurties, all of which can be obtained from our model through simple extensions to save these values to adequate output files. Therefore, we designed neurorosettes to be a general and extensible library to be used to complement experimental studies that will reveal which model extensions should be implemented in the future.

Our framework offers modules for simulating cell cycling and differentiation, contact inhibition and cell mechanics, which can be adapted and extended by users to simulate more complex behaviours. Moreover, our approach to modelling neurons as a combination of two independent types of physical objects, namely spheres and cylinders, enables users to create new models with other biological architectures. For instance, the cylindrical objects used to represent neurites could be modified to simulate the fibres of the extracellular tissue. In addition, these objects could be fixed to reproduce a blood vessel to study the formation of perivascular rosettes. One of the limitations of our approach is that Python is a less powerful programming language than other low-level languages, such as C and C +  + . Therefore, the current implementation may require long computation times for simulations at the tissue-level. However, the scope of our study was to analyse the formation of spatial structures in small tissue regions that could be compared to histological pictures. Furthermore, there are currently libraries that can improve Python’s speed in numerical studies (e.g. Numba [61]) and that could be coupled to our framework in case users require better code efficiency. Accordingly, we consider that our framework's flexibility, ease of use and simulation rendering capabilities outweigh its limitations.

6 Supporting Information

S1—Replicate results for the numerical study on the role of cell–cell adhesion in the formation of HW rosettes.