Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SIMULATION OF INTERACTION OF BIOLOGICAL STRUCTURES
Document Type and Number:
WIPO Patent Application WO/2019/191250
Kind Code:
A1
Abstract:
A method of simulating dynamics of a simulated cellular tissue, the simulated cellular tissue including a plurality of structures, each structure including a plurality of particles, the particles within a structure being a same particle type. The method includes simulating interactions between the plurality of structures of the simulated cellular tissue in discrete time steps. At each time step, the method: identifies an interaction between a first structure and a second structure; determines whether the interaction operates at the respective time step; determines effects of the interaction between particles; and updates a respective state of each particle based on the effects.

Inventors:
NORSWORTHY MICHAEL (US)
Application Number:
PCT/US2019/024314
Publication Date:
October 03, 2019
Filing Date:
March 27, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CHILDRENS MEDICAL CENTER (US)
International Classes:
G01N33/48; G01N33/00; G16H50/00
Foreign References:
US20040029149A12004-02-12
US20070233441A12007-10-04
US20040088116A12004-05-06
Attorney, Agent or Firm:
ACHILLES, Daryl, L. et al. (US)
Download PDF:
Claims:
CLAIMS

What is claimed is:

1. A method of simulating dynamics of a simulated cellular tissue, the simulated cellular tissue comprising a plurality of structures, each structure comprising a plurality of particles, wherein the particles within a structure are a same particle type, the method comprising: simulating interactions between the plurality of structures of the simulated cellular tissue in discrete time steps, wherein at each time step the method comprises:

identifying an interaction between a first structure and a second structure, wherein the first structure and the second structure each represent a cell, a volume of extracellular material, or a subcellular structure of the cellular tissue;

determining whether the interaction operates at the respective time step;

determining first effects that each particle of a first plurality of particles of the first structure will have on each particle of a second plurality of particles of the second structure;

determining second effects that each particle of the second plurality of particles of the second structure will have on each particle of the first plurality of particles of the first structure;

updating a respective state of each particle of the first plurality of particles based on the first effects; and

updating a respective state of each particle of the second plurality of particles based on the second effects.

2. The method of claim 1, wherein simulation of the interaction comprises transfer of one or more attributes of the first structure from the first structure to the second structure.

3. The method of claim 2, wherein the first effects and the second effects each include a change of an amount of an attribute associated with a respective particle.

4. The method of claim 2, wherein the one or more attributes comprises a chemical state, an electric state, physical forces, and/or a mass.

5. The method of claim 4, wherein updating the respective state of each particle of the first plurality of particles based on the first effects comprises changing a mass of a first particle.

6. The method of claim 5, wherein the method further comprises, at each time step, creating an additional particle if the mass of the first particle is greater than a threshold.

7. The method of claim 5, wherein the method further comprises, at each time step, destroying the first particle if the mass of the first particle is less than a threshold.

8. The method of claim 1, wherein the interaction is a physical interaction between the first structure and the second structure.

9. The method of claim 8, wherein the physical interaction is an electrostatic interaction between each of the first plurality of particles and the second plurality of particles.

10. The method of claim 8, wherein the first effects and the second effects each include a change of the position and/or velocity of a respective particle.

11. The method of claim 1, wherein a position of each particle of the first plurality of particles and each particle of the second plurality of particles is tracked using a partial-three- dimensional array.

12. The method of claim 11, further comprising identifying one or more particles within a particular distance of a specified particle using the partial-three-dimensional array.

13. The method of claim 11, wherein a position value is stored for each particle of the first plurality of particles and each particle of the second plurality of particles.

14. The method of claim 13, wherein determining first effects that each particle of a first plurality of particles of the first structure will have on each particle of a second plurality of particles of the second structure comprises:

identifying, for at least one particle of the second plurality of particles, a first subset of the first plurality of particles that are within a threshold distance of the at least one particle based on the partial-three-dimensional array; and

identifying, for each particle in the identified subset of the first plurality of particles, a second subset of the first subset of the first plurality of particles that are within the threshold distance of the at least one particle based on the stored position values.

15. The method of claim, 1 wherein determining whether the interaction operates at the respective time step comprises comparing an interaction speed value to a value representing the current time step.

16. The method of claim 1, wherein at each time step the method further comprises:

identifying a self-interaction of the first structure;

determining whether the self-interaction operates at the respective time step; determining self-interaction effects that each particle of the first plurality of particles of the first structure will have on each other particle of the first plurality of particles of the first structure; and

updating a respective state of each particle of the first plurality of particles based on the self-interaction effects.

17. At least one non-transitory computer-readable storage medium having encoded thereon executable instructions that, when executed by at least one processor, cause the at least one processor to carry out a method of one of claim 1-16.

18. An apparatus comprising:

at least one processor; and

at least one storage medium having encoded thereon executable instructions that, when executed by the at least one processor, cause the at least one processor to carry out a method of one of claim 1-16

19. The method of claim 1, wherein each particle of the first plurality of particles and each particle of the second plurality of particles are computationally stored and accessed using a partial-three-dimensional array.

20. The method of claim 19, wherein computational storage positions in the partial-three- dimensional array represent approximate positions of particles in a simulated physical three- dimensional space.

21. The method of claim 20, wherein particles may be moved to new computational storage positions in the partial-three-dimensional array to reflect simulated physical movements in the simulated physical three-dimensional space.

Description:
SIMULATION OF INTERACTION OF BIOLOGICAL STRUCTURES

RELATED APPLICATIONS

[0001] This application claims the benefit under 35 U.S.C. § 119(e) of U.S. Provisional Application Serial No. 62/650,053, entitled“SIMULATION OL INTERACTION OL BIOLOGICAL STRUCTURES”, filed on March 29, 2018, the entire contents of which are incorporated by reference herein.

BACKGROUND

[0002] Computational simulations are often used to aid scientific studies of biological processes, and may benefit both fundamental understanding of nature, and the practical development of medically relevant treatments and therapeutics. In most biological processes, there are a large number of cells, tissues, or other materials that interact and a large number of interactions between them. Tracking each of these cells, tissues, or other materials and the interactions between them is computationally intensive, requiring large amounts of memory, processor, and time resources. Simulating neurological processes is particularly difficult, due to the complex interactions between a network of multiple neurons affecting the internal dynamics of individual neurons.

[0003] As a result of the computational complexity, rather than attempt to obtain

comprehensive results, conventional biological simulations are tailored to a particular aspect of the simulation and provide focused, limited simulation and focused, limited results that a designer of the simulation has determined are sufficient for his or her purposes. Lor example, simulations largely concerned with large-scale biological results may ignore the details of sub-cell structures and treat individual cells as a homogenous entities. Similarly, simulations largely concerned with the dynamics of sub-cell structure may ignore the interactions between different cell types and/or different tissue structures. When interactions of two particular cells or materials is the goal, other cells or materials— even when found in the vicinity of the particular cells/materials in real anatomy— may be ignored in the simulation, or interactions between some pairs or sets of cells/materials may be ignored (where ignoring amounts to not simulating the cells/materials/interactions, or not accounting for results of interactions). As another example, time constraints may be imposed on the simulation, or a constraint may be imposed on a number of interactions, to limit how many interactions are simulated. For example, in the neurological context, networks of neurons are conventionally simulated by limiting the simulation to a“snapshot” of the regulatory and morphological state of particular neurons.

BRIEF SUMMARY

[0004] According to one aspect of the present application, a method of simulating dynamics of a simulated cellular tissue is provided. The simulated cellular tissue includes a plurality of structures, each structure including a plurality of particles, wherein the particles within a structure are a same particle type. The method includes: simulating interactions between the plurality of structures of the simulated cellular tissue in discrete time steps, wherein at each time step the method includes: identifying an interaction between a first structure and a second structure, wherein the first structure and the second structure each represent a cell, a volume of extracellular material, or a subcellular structure of the cellular tissue; determining whether the interaction operates at the respective time step; determining first effects that each particle of a first plurality of particles of the first structure will have on each particle of a second plurality of particles of the second structure; determining second effects that each particle of the second plurality of particles of the second structure will have on each particle of the first plurality of particles of the first structure; updating a respective state of each particle of the first plurality of particles based on the first effects; and updating a respective state of each particle of the second plurality of particles based on the second effects....

[0005] According to another aspect of the present application, at least one non-transitory computer-readable storage medium is provided. The storage medium has encoded thereon executable instruction that, when executed by at least one processor, cause the at least one processor to carry out the aforementioned method.

[0006] According to another aspect of the present application, at least one apparatus is provided. The apparatus includes at least one processor, and at least one storage medium having encoded thereon executable instructions that, when executed by the at least one processor, cause the at least one processor to carry out the aforementioned method.

[0007] The foregoing is a non-limiting summary of the invention, which is defined by the appended claims.

BRIEF DESCRIPTION OF DRAWINGS

[0008] The accompanying drawings are not necessarily drawn to scale. For the purposes of clarity, not every component may be labeled in every drawing. In the drawings:

[0009] FIG. 1 is an example model of cellular tissue, according to some embodiments.

[0010] FIG. 2A is a schematic drawing of interactions between particles of the same type, according to some embodiments.

[0011] FIG. 2B is a schematic drawing of interactions between particles of two different types, according to some embodiments.

[0012] FIG. 2C is a schematic drawing of interactions between particles of two different types, according to some embodiments.

[0013] FIG. 3A is a schematic drawing of a transport-enabled reagent interaction, according to some embodiments.

[0014] FIG. 3B is a schematic drawing of a transport-disabled reagent interaction, according to some embodiments.

[0015] FIG. 4 is a flow chart of a method of simulating cellular tissue, according to some embodiments.

[0016] FIG. 5 is a flow chart of a method performed during a single time step of a simulation of cellular tissue, according to some embodiments.

[0017] FIG. 6 is a computing device, according to some embodiments.

[0018] FIG. 7 is an example model of cellular tissue, according to some embodiments. [0019] FIG. 8 is an example summary of reagent interactions, according to some embodiments.

DETAILED DESCRIPTION

[0020] Described herein are techniques for simulation of cellular and tissue dynamics, including simulation of interactions of components of a biological system such as a portion or an entirety of an anatomy of an organism, such as an animal. Some embodiments represent components of the biological system at various levels of granularity, such as sub-cellular structures, whole cells, and/or extracellular materials, as volume-occupying fluids that include elements with non-zero mass. In some embodiments, some components of a biological system, such as regulatory molecules or ions, are configured in the simulation to have negligible mass and volume, or a mass or volume that does not affect other elements in the simulation or is otherwise not explicitly accounted for in computations of the simulation. In some such embodiments, these components are treated as massless information, and this massless information may spread within a given structure, or be transported to a different structure, and can be processed through reactions. In some embodiments, structures can gain or lose mass, and can generate and detect physical forces, as either inputs or outputs of reactions. Using some techniques described herein, simulations of some embodiments can relate changes in a cell’s regulatory state (e.g., electrical and/or chemical state) to changes of cell morphology, and vice-versa, without performing a literalistic modeling of individual molecules.

[0021] Techniques described herein may have particularly advantageous use in a number of medical contexts. For example, the inventors have recognized and appreciated that simulations that are able to simulate regeneration in tissue may advance in silico study of various diseases and expedite development of regenerative treatments for those diseases. Present simulations are not able to simulate generation with sufficient particularity to be useful in designing or simulating treatments, and thus cannot be reliably used for such in silico studies. For example, regeneration and functional recovery of neurological tissue may rely on reassembly of a nervous system’s damaged areas. A better understanding of regeneration may stem from or be aided by an understanding of genetic logic, protein networks, neurotransmission, cell motility, growth cone navigation, reconnection to the correct circuits, and other functions. In other words, an ideal regeneration outcome would benefit from all functions of all cells in question working within the environmental context of all signaling and physical cues. The inventors have recognized and appreciated that conventional simulation techniques are not capable of such a complex simulation.

[0022] Further, the inventors have recognized and appreciated that a simulation that further accounts for how various components (e.g., cells, tissues, or other materials) in a biological system react to one or more regulatory molecules can help scientists assess potential therapies in silico and determine which therapies appear promising and warrant further investigation in vitro or in vivo , furthering development therapies to treat particular diseases while mitigating the risk of wasted resources directed toward ineffective treatments by identifying likely inefficacy at the simulation stage.

[0023] The inventors have further recognized and appreciated that a simulation of cellular dynamics that allows tissues and cells to change in shape over time, through defined physical forces, and for the transmission, processing, amplification, and destruction of information and biochemical metabolites, may provide for a better simulation of regeneration dynamics in a nervous system than is possible with conventional simulation technologies.

[0024] The inventors have additionally recognized and appreciated, however, that simulations that provide such a range and diversity of functionality are computationally complex. Due to such complexity, conventional simulation technologies cannot provide such functionality, or cannot provide it while generating simulation results on a time scale that is effective for use in a laboratory setting. To provide some or all of the functionality described above in a workable simulation, new simulation technologies were developed that allowed for reducing computational complexity. Such technologies are described in detail herein.

[0025] In some embodiments, simulation techniques described herein represent sub-cellular structures, whole cells, whole tissues, extracellular materials, and/or other components of a biological system, at levels of granularity that may be set by a user of the simulation, as volume-occupying fluids. Modeling the components of the biological system as fluids rather than solids may allow for applying, in the simulation, rules based on physical laws that apply to fluids rather than to solids, which the inventors recognized and appreciated could reduce computational complexity while also providing sufficiently accurate and/or reliable results for most simulation purposes. In some embodiments, modeling particles as part of a fluid may allow particles to change relationships with one another dynamically, to allow cells to change shape. It is noted, however, that modeling the particles as a fluid does not exclude the particles from exhibiting solid-like physical behavior. Two nearby particles may physically interact as if they are particles within a liquid, a polymer, a mesh, or a volumetric solid.

[0026] Advantages of some embodiments that model components as fluids include each particle not needing to store the identities of neighboring particles, freeing memory that would store redundant information that frequently changes. The scaffolds and partial-three- dimensional array described below provide information about particle location with less redundancy. An additional advantage of some embodiments that model particles as part of a fluid include the ability to model events that would be difficult to otherwise simulate. For example, if a polymer of microtubule-like particles being simulated experiences a “catastrophe” and disintegrates, some embodiments can track individual particles from the microtubule’s remains. The remains may re-assemble into a polymer. Without the ability to model particles independently as part of a fluid, microtubule catastrophes would be difficult to simulate.

[0027] In some embodiments, cells and/or tissues, or other biological components, that are simulated as combinations of these volume-occupying fluids may, in the simulation, change in state and change in shape over time. Changes in state may include changes in electrical and/or chemical state, such as changing a chemical composition and/or an electrical charge. Changes in shape may include morphological changes to a biological component, which in some embodiments and in some simulations may be driven in part by changes in electrical and/or chemical state.

[0028] In some embodiments, when simulating electrical and/or chemical state and morphological state of components of a biological system, simulated interactions between components of the biological system may impact the electrical and/or chemical state, such as simulated chemical reactions or other types of interactions. The inventors recognized and appreciated the advantages offered by including this functionality in the simulation, including that when the simulation is used to simulate neurological tissues, these simulated changes may provide for a model of regenerative behavior of the nervous system that is more accurate than models provided by conventional simulation technologies. For example, in some embodiments, a simple set of basic rules may yield emergent behaviors characteristic of complex tissues, such as neurotransmission and synaptic integration, the growth and navigation of an axon, and a gene regulatory cascade induced through extrinsic signaling. [0029] However, the inventors additionally recognized and appreciated that when there are a large number of components of the biological system, there may be a correspondingly large number of potential interactions and potential consequences of reactions at any given time in the simulation. This may increase computational complexity, and the time to process the simulation. In some embodiments, as described below, simulations adopt a particular manner of storing information regarding components of a biological system and potential interactions between components of the biological system, to reduce computational complexity.

[0030] Described below are various examples of simulation technologies that may be implemented in some embodiments. It should be appreciated that the examples below are merely illustrative, and that embodiments are not limited to operating in accordance with any of these particular examples. Other embodiments are possible. Further, it should be appreciated that while examples are provided of using simulation techniques in connection with neurological tissues, this is merely one illustrative context, and that simulations may be generated for any suitable anatomy or biological structures.

[0031] FIG. 1 illustrates cellular tissue 100 modeled as multiple structures. Each structure includes multiple particles of a particular type associated with the structure. In some embodiments, a structure and its constituent particles may each represent biological structures within a hierarchy of structures.

[0032] For example, in some embodiments, a structure may represent an organ system, an organ, a tissue, a cell, a volume of extracellular material, a subcellular structure of tissue cell, or other suitable component of anatomy of a living thing. The biological structures may be structures from anatomy of an animal (including mammals and non-mammals, and including humans and non-humans), plant, fungus, bacteria, archaea, protista, or other form of life.

[0033] The type of biological structure represented by each structure may be defined during a configuration of the simulation, such as by a user, based on one or more goals of the simulation. The goals of the simulation may relate to a particular portion of anatomy to be simulated, or a particular interaction to be simulated, or other and the relationship between structures and biological structures may be chosen during a configuration to correspond to that portion of anatomy or interaction, such as by choosing biological structures that appear in that portion of anatomy or affect that interaction. For example, when simulating a multiple neuron network, different structures may relate to different sub-neuron structures (e.g., axons, dendrites, pre-synaptic areas).

[0034] Constituent particles of a structure may similarly represent components of an anatomy, such as components of a tissue when the structure is a tissue (e.g., parts of the tissue and/or cells of the tissue) or components of a cell when the structure is a cell (e.g., organelles).

[0035] In the specific example of FIG. 1, the cellular tissue 100 includes a membrane structure 101, a cytoplasm structure 103, and a microtubule fiber structure 105. Simulations of interactions between the structures of the cellular tissue 100 may treat the structures as volume-occupying fluids that include multiple particles. Modeling the structures as fluids may include simulating interactions using laws of physics (including laws of chemistry, materials, etc.) that apply to fluids or applying laws of physics in the manner they would apply to fluids, rather than solids. In some circumstances, modeling the structures as fluids can make introducing and removing mass from a structure simpler than if the structures were modeled as solids. This may ease simulation of changes to structural morphology.

[0036] In some embodiments, simulation techniques described herein may be implemented using object-oriented programming concepts, and elements of the simulation may be defined as one or more objects. In some such embodiments, a structure containing constituent particles may be defined as an object referred to herein as a“scaffold.” The particles that are collectively representative of a larger whole, such as biological structures of the cellular tissue 100, are affiliated in the simulation using a structure referred to herein as a scaffold. In some embodiments, the simulation is constructed using an object-oriented programming language and each scaffold is an object. A scaffold object may define a three-dimensional space that contains the particles associated with the structure. Thus, the scaffold object may act as a compartment, with a particular size and shape, that holds particles of one or more particular types. The scaffold object may store an identifier of each particle associated with the corresponding structure. In some embodiments, different scaffold objects may occupy the same or similar three-dimensional position. For example, a cytoplasm structure, a proteasome structure and a ribosome structure may by happenstance or design occupy similar or overlapping physical space, with or without physical interactions, as a portion of the overall physical construction of the overall containing cell or tissue. If and how the different structures at the same location (or nearby locations) interact may be determined based on user-defined interactions between the different particle types, as discussed below.

[0037] In some embodiments, the size and shape of each scaffold may be defined during configuration of the simulation, including by a user. The configuration may be based on input regarding a real piece of anatomy or real biological structure to be simulated using the scaffold. For example, a user may use microscope images of real cellular tissue to define the three-dimensional boundary of a particular scaffold.

[0038] In some embodiments, the size and shape of a scaffold may change over time based on the interactions between the particles. For example, certain structures may gain mass, add particles and expand the boundary of the associated scaffold in a particular direction based on interactions with other structures and/or interactions between other particles of the scaffold itself.

[0039] In some embodiments, a simulation facility, as part of determining at a given time an effect of particle interactions within the simulation, may review the particles of the simulation to determine which particles are near other particles, which may be done as part of determining which particles interact and may impact a state of one another (e.g., an electrical and/or chemical state). This may be useful in embodiments where a simulation facility determines that a first particle only interacts with a second particle if the distance between the first and second particle is less than some threshold value. Limiting interactions in this way can reduce the complexity of the simulation because interactions with a large number of particles that are too far away to meaningfully interact in the corresponding anatomy, or that are too far away to meaningfully significantly impact the state of the first particle in the simulation, are ignored.

[0040] Accordingly, the simulation may store data indicating a position of particles within a simulation coordinate system, and the information on positions of the particles may be stored in particular data structures that may aide in review of the position information. Those skilled in the art will appreciate that there are a variety of ways in which position information may be stored. The inventors have recognized and appreciated the advantages in this context of a particular form of storage that is referred to herein as a partial three-dimensional array.

[0041] In some embodiments, a scaffold object comprises a partial-three-dimensional array (also referred to as a 2.5D array) to store a position of each particle associated with the scaffold object. As discussed below, each particle itself may be arranged as an object that stores state information that includes a position of the particle. In some forms of a 2.5D array, a two-dimensional array provides storage locations that correspond to pairs of y and z positions in a coordinate space (y and z being two dimensions of a three-dimensional system). As a two-dimensional array, it does not natively have storage locations

corresponding to a third dimension of a three-dimensional space. Instead, a storage location for a given pair of y and z positions may store a one-dimensional array, referencing particles positioned at coordinates having that y and z position but having varying x positions (x being the third dimension). Each one-dimensional array may be referred to herein as a“scaffold line.” Each scaffold line stored as an element of the two-dimensional array may vary in length depending on the number of particles corresponding to the associated y and z position.

[0042] This type of structure may be referred to as“a partial-three-dimensional array” because it is not a full three-dimensional array, but is, instead, a two-dimensional array, each element of which stores a one-dimensional array of variable length. It should be appreciated that embodiments are not limited to representing positions in the coordinate space in the two- dimensional array using any particular granularity. In some embodiments, particles may only occupy positions having integer values in the three-dimensional coordinate system, and locations in the two-dimensional array may correspond to unique pairs of y and z integer values. In other embodiments, particles may occupy positions having integer values in the three-dimensional coordinate system, and locations in the two-dimensional array may correspond to ranges of integer values in the two dimensions, such as a range of two, five, ten, twenty, etc. integer values (where the ranges may be unequal in the two dimensions). As an example of such a range, while particles may occupy positions having integer values in one dimension of 1, 2, 3, 4, and 5, the two-dimensional array may have a single storage location for a range of values in that dimension of 1-5, and all particles having position values in that dimension between 1 and 5 may be stored in the same location. In further embodiments, particles may occupy positions having fractional/decimal values, and locations in the two-dimensional array may correspond to any range of values in one or the other dimension, where the range may be greater than or less than an integer value (including unequal values in the dimensions). Embodiments are not limited in this respect.

[0043] In some embodiments, the 2.5D array can be used as a quick reference to determine where particles associated with a particular scaffold are. In some embodiments, the simulation facility that manages the simulation and, as part of managing the simulation, simulates interactions between particles, may leverage the 2.5D array to search for particles that, at any given moment in the simulation, are to interact. The 2.5D array may be advantageous for use by the simulation facility because, in some embodiments, the structure of the 2.5D array may enable search by the facility to be completed faster than a similar search of a full 3D array or a search of each particle in an unsorted linear array. For example, the simulation facility may identify one or more particles that are within a particular distance of a specified particle using the 2.5D array. This identification may be used to determine a subset of particles that potentially interact with the specified particle.

[0044] By way of example and not limitation, if 500,000 particles occupy a space having dimensions of 1000 units in one dimension, 900 units in the next dimension, and 100 units in the third dimension, and particles in that space are represented in a full 3D array, such a 3D array may be 1000 x 900 x 100 units in size. Memory would need to be allocated for each of the 90 million units representing the 3D space in such an array, even though many of the locations in the array may contain no data whatsoever (i.e., for coordinate positions where no particles are stored). Such memory requirements are extreme. For example, an object in Java requires at least 8 bytes of memory. Thus, storing 90 million objects would require 720 megabytes of overhead just to store the 3D array. Further, searching for particles in the 3D array would require over 260 million checks of the 3D array. While relatively slow, searching such a 3D array would be faster than searching an unsorted linear array that could

alternatively be used for storing particles. Searching an unsorted linear array for pairs of the 500,000 particles that may interact at a given time may involve performing more the 120 billion checks just to determine which particles an interaction should be calculated for.

[0045] The 2.5D array described above provides a specific manner of storing information on particles that directly supports reduction of computational complexity and storage requirements. In some embodiments, the 2.5D array (i.e., partial-3D array) reduces the number of checks that may be performed by a simulation facility and reduces the memory requirements of the system relative to a 3D array. Using the numerical example from the previous paragraph, in which 500,000 objects are positioned in a coordinate space with dimensions of 1000 units in one dimension, 900 units in the next dimension, and 100 units in the third dimension, the two-dimensional array within the 2.5D array is an array of 90,000 objects, as compared to 90 million objects for the 3D array. With 500,000 particles, each object of the 2.5D array contains about 5 particles on average. Consider an example where the simulation applies a threshold distance to limit what particles may interact to only particles within the threshold distance of one another, and uses as a threshold of 10 units. For a first particle that has a position ( x,y , z ) = (30.29, 204.88, 45.16), the simulation facility would search for particles positioned within 10 units of that (x, y, z ) position. The simulation facility would therefore search the 2.5D array for particles having y-position values from 195 to 215 and z-position values from 35 to 55. In a case where each unit of the two-dimensional array of the 2.5D array corresponds to one pair of integer values for y and z positions, this requires a search of only 40 different storage locations. Across the 500,000 objects, each of those 40 storage locations may contain, on average, five particles. To determine whether any of those particles is within 10 units (the threshold distance) of the first particle, the specific position of each may be checked. Thus, the region of coordinate space within 10 units of the first particle can be checked for other particles with approximately 200 checks (i.e., on average, five checks within each of the 40 storage locations). Searching for neighbors of each of the 500,000 particles may involve 100 million checks (200 checks for each of 500,000 particles) by the simulation facility, which is a large number, but is obviously less than the number of checks required in a full 3D array (260 million, as discussed above). Additionally, the 2.5D array of this example requires approximately one megabyte of memory overhead, as opposed to the 720 megabytes for the 3D array.

[0046] Each particle of the cellular structure 100 may have an associated state that is stored in connection with the particle. In some embodiments, the simulation is constructed using an object-oriented programming language and each particle is associated with its own object. The object may store information characterizing the particle, which may include identifying information for the particle and information on a particle state. The identification of the particle may include an identifier for the particle and/or an identifier of the scaffold to which the particle belongs. The state of a particle may include or describe one or more attributes of the particle that govern how the particle behaves in the simulation at a time, including that may govern how the particle interacts with one or more other elements of the simulation, including other particles. The state of each particle may include, but is not limited to, any one or more of the following particle characteristics: a mass, a charge, a polarity (strength and direction), a position, a velocity vector, an acceleration and/or force vector, for each force acting on the particle an indication of associated physical interactions, and an indication of current concentration values of reagents associated with the particle. [0047] In some embodiments, once the particles potentially neighboring the first particle are identified using the 2.5D array by y and z position, then by x position, as discussed above, a precise distance between any pair of particles can be calculated using a stored position value of each respective particle within the simulation coordinate system, which may be stored as part of the particle object. The precise distance may be used by the simulation facility to determine the effect of an interaction between the pair of particles. By way of example and not limitation, to determine the effects that each particle of a first plurality of particles of a first structure have on each particle of a second plurality of particles of a second structure, the 2.5D array may be used to identify a first subset of the first plurality of particles that may potentially have an effect on a specified one of the second plurality of particles. Then, a position value of the first subset of particles may be used to determine a second subset of the first subset that actually have an effect on the specified particle based on a more precise distance determination between each particle of the first subset and the specified particle. In some embodiments, the simulation facility identifies, for at least one particle of the second plurality of particles, a first subset of the first plurality of particles that are within a threshold distance of the at least one particle based on the partial-three-dimensional array. The simulation facility then identifies, for each particle in the identified subset of the first plurality of particles, a second subset of the first subset of the first plurality of particles that are within the threshold distance of the at least one particle based on the stored position values.

[0048] An identifier of a particle may be a unique identifier that the simulation facility associates with that particular particle. The particle identifier may be, for example, a number or an alphanumeric value.

[0049] An identifier of the scaffold may be a unique identifier that the simulation facility associates with each defined scaffold. The scaffold identifier may be, for example, a number or an alphanumeric value.

[0050] Mass may be a scalar value representing the mass of the associated particle. The mass value may be stored using any suitable units, such as micrograms or nanograms.

[0051] Charge may be a scalar value representing the electric charge of the associated particle. The charge value may be stored using any suitable units, such as nanocoulombs or integer units of electron charge. [0052] Polarity may be a measure of the dipole moment of the particle. The polarity may be, for example, a vector stored as an array of three numbers or stored as a magnitude value and two angular values indicating a polarity direction. The polarity values may be stored using any suitable units, such as coulomb-meters or deb yes.

[0053] Position may be an indication of the location of the particle within the simulation coordinate system. The position may be, for example, a vector stored as x, y, and z values relative to the origin of the simulation coordinate system. The position values may be stored using any suitable units, such as micrometers or nanometers.

[0054] Velocity may be an indication of the current velocity of the particle within the simulation coordinate system. The velocity may be, for example, a vector stored as x, y and z components of the velocity or as a magnitude value (i.e., speed) and two angular values indicating a direction of the velocity. The velocity values may be stored using any suitable units, such as nanometers per microsecond or micrometers per second.

[0055] Force and/or acceleration vector may be a net sum of all the forces and/or

accelerations associated with forces currently (at a particular time in the simulation) acting on a particle or a list of all individual forces and/or accelerations associated with forces currently acting on the particle. The force and/or acceleration vectors may be, for example, a vector stored as x, y, and z components of the force and/or acceleration or as a magnitude value and two angular values indicating a direction of the force and/or acceleration. The force values may be stored using any suitable units, such as piconewtons; the acceleration values may be stored using any suitable units, such as micrometers per second-squared.

[0056] The indication of associated physical interactions may indicate each physical interaction in which the particle plays a role. For example, a list or array of identifiers of physical interactions may be used.

[0057] The indication of current concentrations values of reagents may indicate, for each reagent that is associated with the particle, an amount of that particular reagent. For example, a first list of reagent identifiers and a second list of associated amounts may be used to store the current concentration values. The concentration value can be stored using any suitable quantities, such as molarity, molality, mole ratio, mass concentration or number

concentration. Additionally, in some embodiments, rather than storing a concentration value, an amount value, such as mass, may be used to indication how much of each reagent is present within the particle.

[0058] The simulation facility may change any of the information included in the state of the particle over time, during the course of the simulation and, in some cases, in response to simulated interaction of particles. For example, the mass of a particle may increase or decrease due to one or more interactions with other particles. In some embodiments, mass diffuses between particles within a scaffold. Each particle type may have a diffusion rule associated with how the mass equilibrates among the particles of a particular scaffold. In some embodiments, each particle type may be associated with a minimum mass threshold and a maximum mass threshold. If the mass of a particle exceeds the maximum mass threshold, the simulation facility may create a new particle, with a new identifier, near the initial particle and the simulation facility may distribute the mass of the initial particle between the new particle and the initial particle. Likewise, if the mass of a particle becomes less than the minimum mass threshold, then the simulation facility may destroy the particle and reallocate the mass of the particle to the nearest particle of the same type. Any other state information for a particle may also be changed, such as in a similar manner.

[0059] The simulation facility may simulate various interactions of individual particle of the cellular tissue 100, causing changes to the state of one or more of the interacting particles during the simulation. FIG. 2A-2C illustrates non-limiting examples of some interactions that are possible in the cellular tissue 100 of FIG. 1. FIG. 2A illustrates an interaction between particles that are part of the same scaffold, e.g., the scaffold associated with the membrane structure. FIG. 2B illustrates an interaction between particles of two different structures, e.g., membrane particles and microtubule fiber particles. FIG. 2C also illustrated an interaction between particles of two different structure, e.g., membrane particles and cytoplasm particles. In some embodiments, particles of a first scaffold may not interact with particles of a second scaffold. For example, the cytoplasm particles may not interact with the microtubule fiber particles.

[0060] The interactions between particles may be (simulated) physical interactions or (simulated) reagent interactions. In some embodiments, physical interactions include attractive forces and repulsive forces. The physical interactions may be the result of fundamental forces, such as the electrostatic force, but also include emergent or composite forces. For example, suppose that electrostatic attractive forces are known between individual cell surface receptors and molecules of an extracellular substrate. Other forces, such as electrostatic repulsion between other cell surface proteins and the extracellular substrate, will also be present. Thus, instead of modeling individual electrostatic forces, the simulation facility may implement a composite force between the cell membrane and extracellular substrate with a mathematical function that is determined by the user and/or experimental data.

[0061] In some embodiments, the physical interactions may be functions of the distance between two particles. For example, an attractive force and/or a repulsive force may obey an inverse law (e.g., the force is proportional to 1/r, where r is the distance between the two particles) or an inverse square law (e.g., the force is proportional to 1/r 2 , where r is the distance between the two particles). As discussed above, in some embodiments, the simulation facility may associate an interaction type with a threshold distance. Particles that are more than a threshold distance, r, away from a first particle, will be considered to negligibly interact with (or not interact with) the first particle, and thus the simulation facility will ignore the pair of particles when calculating the effects of interactions of the first particle. As a result, the simulation facility may not calculate the effect of particular interactions on the first particle, saving processing and memory resources.

[0062] In some embodiments, the physical interactions may depend on an interaction strength that is associated with the particular particle for which a force effect is being calculated. For example, in the information for the particle state, the particle object may store an interaction strength, k for each interaction type in which the particle takes part. In some embodiments, the interaction strength may be a function of the charge of the particle. In some embodiments, the interaction strength may be a function of the amount of a particular reagent present in the particle. In some embodiments, the simulation facility stores a strength of an interaction in an interaction object. The interaction object may define the interaction by indicating which particle types play a role in the interaction and how strong the interaction is. Each particle may list the interaction identifiers for each interaction associated with the associated scaffold.

[0063] The simulation facility may also simulate reagent interactions, which may include reactions between particles of different types. The simulation facility may leverage reagent interactions to model biochemical, regulatory, electrical and other signals that play an important biological role, but may or may not be associated with physical interactions that directly affect the mechanical properties of tissues, cells, or sub-cell structure. In some embodiments, the simulation facility associates each particle type with multiple reagents that may be thought of as existing within the particles. In some embodiments, the simulation facility includes a list of the amount/concentrations of each of the reagents that are within the particle in the state of each particle object. Each reagent may be the source of one or more reactions that occur when near a different reagent. In some embodiments, the simulation facility associates each reaction between reagents with a rate. In some embodiments, the rate may be a function of the distance between the two particles with the relevant reagents. For example, two particles that are close together may have a faster reaction rate than if the two particles were farther apart.

[0064] In some embodiments, the simulation facility may simulate reactions that include reagents as well as physical forces in combination. For example, physical forces may be produced by myosin proteins hydrolyzing adenosine triphosphate. In another example, mechanosensitive ion channels such as Piezo 1 may induce electrical or biochemical changes in response to physical stimuli. In some embodiments, physical forces may be included as reactants and/or products in reactions.

[0065] FIG. 3A illustrates an example of a transport-enabled reagent interaction where the simulation facility generates one or more product reagents at a sink particle 303 based, in part, on the amount of reactant reagent of a particular type in a source particle 301. The term transport-enabled refers to the fact that the product reagents are generated at the sink particle 303, which is a different particle than the source particle 301. For example, in FIG. 3A, the source particle 301 includes three different reactants and the sink particle includes three different products. The simulation facility may generate a certain amount of products at the sink particle 303 based on a number of factors. For example, the simulation facility may generate an amount of product reagents based on: the current amount of the reactants in the source particle 301; the amount of product reagent that already exists in the sink particle 303; the rate associated with the reagent interaction; and the distance between the two particles.

[0066] In some embodiments, the source particle 301 may be a different type than the sink particle 303, meaning the simulation facility associates the two particles with different scaffolds. For example, the simulation facility may model reactions affecting the operation of motor proteins or cytoskeletal fibers as transporting biochemical substances from one scaffold to another scaffold. In some embodiments, the source particle 301 is the same type as the sink particle 303, meaning the two particles are associated with the same scaffold. [0067] FIG. 3B illustrates an example of a transport-disabled reagent interaction where the simulation facility generates one or more product reagents at a particle 305 based, in part, on the amount of reactant reagent of a particular type in the particle 305. The term transport- disabled refers to the fact that the product reagents self-contained and generated at the same particle 305 as the reactants. For example, in FIG. 3B, the particle 305 includes three different reactants resulting in the production of three different products within the same particle 305. The simulation facility may generate an amount of product reagents at the particle 305 based on a number of factors. For example, simulation facility may generate the amount of product reagent generated based on: the current amount of the reactants in the particle 305; the amount of product reagent that already exists in the particle 305; and the rate associated with the reagent interaction. An example of a reaction that the simulation facility may model as a transport-disabled reagent interaction is a phosphorylation network.

[0068] In addition to reagents being involved in the foregoing interaction types, reagents may diffuse throughout a scaffold. Just as mass may diffuse throughout the particles of a particular scaffold, the simulation facility may associate each type of reagent with a diffusion rule that is specific to each type of scaffold. In this way, reagents may spread throughout a particular structure and between structures.

[0069] In some embodiments, the simulation facility may associate one or more physical interaction, reagent interaction, and/or diffusion rule with a reaction speed. Some interactions may be slower than others. Thus, to save computational resources, the simulation facility may not calculate the effects of some interactions (e.g., slower interactions) for every time step of the simulation. Rather, in some embodiments, each interaction and/or diffusion rule may be associated with a speed value that may be related to simulation time steps. The simulation facility may compare a reaction time to a current time step to determine if the effects of the interaction and/or diffusion rule should be calculated for the current time step. When the simulation facility determines that effects of an interaction or diffusion rule should be calculated, it is referred to as an event trigger. In some embodiments, the speed value may be an integer representing how often the effects of a particular interaction/rule should be calculated. For example, a speed value of“2” may indicate that the simulation facility calculates effects every other time step; a speed value of“4” may indicate that the simulation facility calculates effects every fourth time step. In some embodiments, the simulation facility maintains a time step counter that increases by one for each new time step. Thus, the simulation facility may determine whether an event trigger occurs by calculating the modulus of the time step counter divided by the speed value. In some embodiments, whether the interaction operates at the respective time step may consider (1) the relative rate of the interaction in units of simulated time, e.g. 10% of the maximum theoretical yield each second, (2) a desired granularity of the interaction, e.g. to specify that each interaction should be calculated in 2% increments, and (3) the current time of the simulation. For 2% precision, the 10% -per- second reaction rate will be divided into 5 granular steps, per second.

Consequently, the interaction will operate at 0.2 sec, 0.4, 0.6, 0.8, and 1.0 seconds. Such embodiments may allow more‘universality’ of the simulation. For example, the interaction will only calculate 5 times per second, regardless of whether the user wants the simulation to calculate cell behavior every millisecond (1000 steps per second) or every tenth second (10 steps per second).

[0070] FIG. 4 illustrates a flow chart of a method 400 of performing a simulation by the simulation facility, according to some embodiments. At act 402, the simulation facility receives a user-defined scaffold“universe”. The scaffold universe includes multiple different scaffold types each associated with particular biological structures. In some embodiments, the simulation facility defines different scaffolds by defining a three-dimensional scaffold boundary. In some embodiments, a particular scaffold may be based, at least in part, on one or more microscope images acquired prior to running the simulation. For example, the simulation facility may receive, from a user, three-dimensional structure data from a plurality of microscope images and identify particular structures and positions of structures from the microscope images as being associated with a particular scaffold type. In some embodiments, the microscope images may be used to create a three-dimensional scaffold and to define initial information states (e.g., reagent concentrations) for the particles of the scaffold. For example, the simulation facility may compare an intensity of each pixel/voxel of microscope data to a threshold intensity. If the pixel/voxel is above the threshold intensity, the simulation facility adds an amount of mass proportional to the intensity value to the mass of a nearby particle, if there is a nearby particle within a threshold distance. If there is not a nearby particle within a threshold distance, then the simulation facility creates a new particle with an initial mass proportional to the intensity value. Similarly, the concentrations of one or more reagents associated with particles may be increased by values proportional to the intensity of each pixel/voxel. [0071] At act 404, the simulation facility receives user defined interactions associated with each scaffold type. The interactions may include physical interactions and reagent interactions, as discussed above.

[0072] At act 406, the simulation facility receives a user-defined association between the reagents and each scaffold type. In some embodiments, a user may create libraries of reagent types at a time prior to configuring a particular simulation. For example, cell membranes may be, generally, associated with a particular group of reagents that can be stored in a library for use in any particular simulation.

[0073] At act 408, the simulation facility performs the simulation by, for example, executing a method described in more detail in connection with FIG. 5. Generally, however, running the simulation involves causing the simulation facility to evaluate which interactions and rules apply at a given time step, calculate the effects of each interaction on each particle, and update the information stored in the state of each particle.

[0074] At act 410, the three-dimensional results of the simulation are output by the simulation facility. In some embodiments, the simulation facility runs the simulation for a set number of iterations and outputs a resulting three-dimensional boundary for each scaffold. In some embodiments, the simulation facility may cause the three-dimensional information to be displayed to a user via a display device to allow the user to visually inspect the results of the simulation.

[0075] FIG. 5 is a flow chart of a method 500 that the simulation facility may execute at each time step of the simulation in act 408 of FIG. 4, according to some embodiments.

[0076] At act 502, the simulation facility may identify an interaction between a first structure and a second structure. The interaction may be a physical interaction or a reagent interaction. In some embodiments, the act 502 further includes identifying diffusion rules. In some embodiments, the act 502 further includes identifying interactions within a single structure, such as transport-disabled interactions or physical interactions between particles of the same scaffold. In some embodiments, the simulation facility may identify an interaction by iterating through a list of defined interactions one at a time.

[0077] At act 504, the simulation facility determines whether the interaction operates at the current simulation time step. As discussed above, the simulation facility may achieve this by comparing a speed value to a time step value, such as a counter. If the identified interaction does not operate for the present time step, the method 500 returns to act 502, where the simulation facility identifies the next interaction, unless there are no further interactions to identify in the list of all defined interactions. If the identified interaction does operate for the present time step, the method 500 continues to act 506.

[0078] At act 506, the simulation facility determines first effects that each particle of a first plurality of particles of a first structure will have on each particle of a second plurality of particles of the second structure. In some embodiments, for a particular pair of particles the first effect may be zero due to, for example, the distance between the two particles being greater than a threshold distance from one another. The simulation facility may check this distance, at least in part, using the partial-three-dimensional array used to store location information of each particle. In some embodiments, the simulation facility may sum the first effects such that the simulation facility determines a total first effect for each interaction type for each particle. In some embodiments, the interactions that are summed are both physical interactions and reagent interactions. In some embodiments, act 506 also includes calculating effects within a single structure, such as interactions between particles of the same threshold and transport-disabled reagent interactions.

[0079] At act 508, the simulation facility determines second effects that each particle of the second plurality of particles of the second structure will have on each particle of the first plurality of particles of the first structure. This is similar to the determination in act 506, but the simulation facility calculates the effects on the first structure based on the particles of the second structure versus calculating the effects on the second structure based on the particles of the first structure. In some embodiments, the simulation facility performs act 506 and act 508 simultaneously. For example, the simulation facility may calculate the physical interaction representing an electrostatic force between two particles and then divide the force between the two particles.

[0080] At act 510, is the simulation facility determines whether there are additional interactions to consider. In some embodiments, the simulation facility may iterate through the list of all defined interactions until there are no more interactions. If there are additional interactions, then the method 500 returns to act 502 to identify a subsequent interaction. If there are no more interactions, the method 500 continues to act 512. [0081] At act 512, the simulation facility updates the respective state of each particle of the first plurality of particles based on the first effects determined for all interactions operating during the time step. In some embodiments, the simulation facility may store an accumulation of all the first effects caused by interactions operating during the time step and not apply to the state of each particle until all the first effects are completely determined. This order of operations prevents first effects calculated early in a particular time step from effecting the determined first effects calculated later in a particular time step.

[0082] At act 514, the simulation facility updates the respective state of each particle of the second plurality of particles based on the second effects for all interactions operating at the time step. This is similar to act 512, but for the particles of the second structure rather than the particles of the first structure.

[0083] Once the simulation facility updates all the particle states that are determined by the simulation facility to need updating, the method 500 ends for that particular time step. The simulation facility then continues to the next time step, or terminates.

[0084] FIG. 6 illustrates one example implementation of a computing device in the form of a computing device 600 that may be used in a system implementing techniques described herein, although others are possible. It should be appreciated that FIG. 6 is intended neither to be a depiction of necessary components for a computing device to operate as a simulation facility or any other computing device of a system operating according to techniques described herein, nor a comprehensive depiction.

[0085] Computing device 600 may comprise at least one processor 602, a network adapter 604, display 606, microscope 608, and computer-readable storage media 610. Computing device 600 may be, for example, a desktop or laptop personal computer, a personal digital assistant (PDA), a smart mobile phone, a tablet computer, a server, or any other suitable computing device. Network adapter 604 may be any suitable hardware and/or software to enable the computing device 600 to communicate wired and/or wirelessly with any other suitable computing device over any suitable computing network. The computing network may include wireless access points, switches, routers, gateways, and/or other networking equipment as well as any suitable wired and/or wireless communication medium or media for exchanging data between two or more computers, including the Internet. The display 606 may be any suitable display for displaying to a user a visual representation of the simulation results. For example, the display 606 may be a computer monitor, a LCD display, or a touchscreen display.

[0086] The computer-readable media 610 may be adapted to store data to be processed and/or instructions to be executed by processor 602. Processor 602 enables processing of data and execution of instructions. The data and instructions may be stored on the computer- readable storage media 610 and may, for example, enable communication between components of the computing device 600.

[0087] Device 600 may, in some embodiments (e.g., embodiments in which the device 600 uses microscope images as the basis of three-dimensional structure information), include a microscope 608 to record images of biological tissue.

[0088] The data and instructions stored on computer-readable storage media 610 may comprise computer-executable instructions implementing techniques which operate according to the principles described herein. In the example of FIG. 6, computer-readable storage media 610 stores computer-executable instructions implementing various facilities and storing various information as described above. Computer-readable storage media 610 may store scaffold information, such as the type of scaffold, the three-dimensional boundary of each scaffold type, and a list of particle identifiers associated with each scaffold. The media 610 may further store particle information 612, which may include the current state of each particle for the entire simulation. The media 610 may additionally store interaction information 616, which may include a group of interactions defined for the simulation. The media 610 may also include a list of reagents 618, which may include a list of reagents used in the interaction and associated diffusion rules. The media 610 may also include a simulation facility 620, which may implement any of the techniques described above for simulating cellular tissue, including the method 400 and the method 500.

[0089] While not illustrated in FIG. 6, a computing device may additionally have one or more components and peripherals, including input and output devices. These devices can be used, among other things, to present a user interface. Examples of output devices that can be used to provide a user interface include printers or display screens (such as display 606) for visual presentation of output and speakers or other sound generating devices for audible presentation of output. Examples of input devices that can be used for a user interface include keyboards, and pointing devices, such as mice, touch pads, and digitizing tablets. As another example, a computing device may receive input information through speech recognition or in other audible format. [0090] Having thus described several aspects of at least one embodiment, an example simulation is described. FIG. 7 is an example of an initial three-dimensional structure of a multi-neuron test system 700, with a neuronal cell body at its center, along with that neuron’s axon projecting to the right. This neuron also projects dendrites to the left, which receive signals coming from presynaptic axons.

[0091] More specifically, the user defines scaffolds for axons 702, dendrites/cell bodies 704, excitatory presynaptic terminals 706, inhibitory presynaptic terminals 708, excitatory postsynaptic terminals 710, and inhibitory postsynaptic terminals 712. The user defines sets of reagents for each of these scaffolds, and the simulation facility uses these reagents in several reactions defined for specific scaffolds. A summary of the reactions is shown in FIG. 8. Since the particular model for this example is intended to demonstrate steady-state neuronal processing, no morphological physics are used, nor are any reactions specified that would result in gains or losses of scaffold mass.

[0092] In the simulation using the model of FIG. 7 and the reactions of FIG. 8, the simulation facility applies an excitation to the axon 702a to simulate the response of the multi-neuron test system 700. As time progresses, a wave of depolarization progresses through the axon 702a. Depolarization is eventually attenuated by slower reactions involving potassium ion flux reaction of FIG. 8, which eventually overshoots resting charge. In this way,

hyperpolarization makes secondary depolarizations more difficult.

[0093] As the depolarization wave reaches the axon’s presynaptic terminal 706a, this allows charge-thresholded secretion of excitatory neurotransmitters to occur, as summarized in the reactions of FIG. 8. The excitatory transmitter is received by the nearby excitatory

postsynaptic terminal 7l0a, which begins to depolarize nearby dendritic charge. As this charge reaches its threshold value, a new wave of depolarization travels down the dendrite 704a, through the cell body 704b, and down the output axon 702b.

[0094] In another pair of simulations of the multi-neuron test system 700, the ability to model multiple incoming signals is demonstrated. An excitation on axon 702a is paired, in a first simulation, with a simultaneous stimulus of inhibitory axon 702c and then, in a second simulation, with a simultaneous stimulus of inhibitory axon 702d.

[0095] One might expect that a nearby, coincident inhibitory signal could prevent excitatory signaling. After inhibitory neurotransmitter is received at axon 702c, the surrounding dendrite accumulates hyperpolarizing charge and, despite the incoming excitatory stimulation, the hyperpolarizing charge prevents the generation of an action potential. On the other hand, one might expect that a distant inhibitory signal should not affect an excitatory postsynaptic potential’s ability to induce an action potential. In the simulation, this‘irrelevant’ inhibitory axon 702d is shown synapsing on the bottom of the post-synaptic neuron’s dendritic tree. After neurotransmission, hyperpolarization accumulates post-synaptically, but is limited in its ability to spread throughout the cell. The zone of hyperpolarization is insufficient to prevent excitatory signaling, and therefore allows action potential generation on axon702b.

[0096] Having thus described several aspects of at least one embodiment of this invention, it is to be appreciated that various alterations, modifications, and improvements will readily occur to those skilled in the art.

[0097] For example, it is described in connection with FIG. 5, that the method 500 iterates through the defined interactions and then determines whether a particular interaction acts at a given time step. Alternatively, the simulation may make a call for all interactions acting at a particular step and then iterate through the interactions determined to operate at the time step.

[0098] Such alterations, modifications, and improvements are intended to be part of this disclosure, and are intended to be within the spirit and scope of the invention. Further, though advantages of the present invention are indicated, it should be appreciated that not every embodiment of the invention will include every described advantage. Some embodiments may not implement any features described as advantageous herein and in some instances. Accordingly, the foregoing description and drawings are by way of example only.

[0099] Various aspects of the present invention may be used alone, in combination, or in a variety of arrangements not specifically discussed in the embodiments described in the foregoing and is therefore not limited in its application to the details and arrangement of components set forth in the foregoing description or illustrated in the drawings. For example, aspects described in one embodiment may be combined in any manner with aspects described in other embodiments.

[00100] Use of ordinal terms such as“first,”“second,”“third,” etc., in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed, but are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term) to distinguish the claim elements.

[00101] All definitions, as defined and used herein, should be understood to control over dictionary definitions, definitions in documents incorporated by reference, and/or ordinary meanings of the defined terms.

[00102] The indefinite articles“a” and“an,” as used herein in the specification and in the claims, unless clearly indicated to the contrary, should be understood to mean“at least one.”

[00103] As used herein in the specification and in the claims, the phrase“at least one,” in reference to a list of one or more elements, should be understood to mean at least one element selected from any one or more of the elements in the list of elements, but not necessarily including at least one of each and every element specifically listed within the list of elements and not excluding any combinations of elements in the list of elements. This definition also allows that elements may optionally be present other than the elements specifically identified within the list of elements to which the phrase“at least one” refers, whether related or unrelated to those elements specifically identified.

[00104] As used herein in the specification and in the claims, the phrase“equal” or “the same” in reference to two values (e.g., distances, widths, etc.) means that two values are the same within manufacturing tolerances. Thus, two values being equal, or the same, may mean that the two values are different from one another by ±5%.

[00105] The phrase“and/or,” as used herein in the specification and in the claims, should be understood to mean“either or both” of the elements so conjoined, i.e., elements that are conjunctively present in some cases and disjunctively present in other cases. Multiple elements listed with“and/or” should be construed in the same fashion, i.e.,“one or more” of the elements so conjoined. Other elements may optionally be present other than the elements specifically identified by the“and/or” clause, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, a reference to“A and/or B”, when used in conjunction with open-ended language such as“comprising” can refer, in one embodiment, to A only (optionally including elements other than B); in another embodiment, to B only (optionally including elements other than A); in yet another embodiment, to both A and B (optionally including other elements); etc. [00106] As used herein in the specification and in the claims,“or” should be understood to have the same meaning as“and/or” as defined above. For example, when separating items in a list,“or” or“and/or” shall be interpreted as being inclusive, i.e., the inclusion of at least one, but also including more than one, of a number or list of elements, and, optionally, additional unlisted items. Only terms clearly indicated to the contrary, such as“only one of’ or“exactly one of,” or, when used in the claims,“consisting of,” will refer to the inclusion of exactly one element of a number or list of elements. In general, the term“or” as used herein shall only be interpreted as indicating exclusive alternatives (i.e.“one or the other but not both”) when preceded by terms of exclusivity, such as“either,”“one of,”“only one of,” or“exactly one of.”“Consisting essentially of,” when used in the claims, shall have its ordinary meaning as used in the field of patent law.

[00107] Also, the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of“including,”“comprising,” or “having,”“containing,”“involving,” and variations thereof herein, is meant to encompass the items listed thereafter and equivalents thereof as well as additional items.