Annie is a neural network simulation engine, and so much more. She can interface with other simulators, build complex networks in minutes with simple defintions, render your network geometry and visualize your simulations in real time. Annie is so good at building networks, you'll want to use her capabilities and export the results. Annie understands anatomy, you can ask her to build a cortical module and she'll know what it is and how to build it.
Does the world really need another neural network simulator? How does Annie differ from
Brian2, TensorFlow, and the rest of the ecosystem that includes NEURON, Nest, Nengo, NeuroML,
and a host of others? What can Annie do that the others have trouble with? Here's one of the answers:

(Figure from Berre, Rognes, and Massing 2023)
That's an astrocyte. The big blue thing is the dendrite of a neuron, and the little grey thing
is an astrocyte. Annie could have been called the "Astrocyte" neural network interface
engine, because one of her purposes in life is to study how neurons interact with astrocytes.
To do that, we need more than just matrix multiplication. Annie uses finite element methods
on meshes, to simulate the behavior of real neurons. Not just spike times - things like
subthreshold membrane oscillations, calcium compartmentation, and the organization and growth
of dendritic spines. Annie takes neural network simulation to the next level. On these pages,
you'll see exactly how. We'll start with the traditional simulators than show spike times
in relation to synaptic activity, and after a few words about geometry we'll move directly
on to computational meshes.
For those of you with a neuroscience background, the idea of neural meshes dates back to
Wilfrid Rall (1962), whose cable models of nerve membranes are still an industry standard.
Here's the problem though:

(Figure from
Ballesteros, Cheviakov, and Spiteri 2025
)
This could represent some cardiac cells or a cluster of interconnected neurons. The
intracellular space is in purple, and the orange lines
represent gap junctions. The problem is, there are actually voltage-dependent ion channels
in the membranes! And they're very local, they depend on the probability of an ion being
available and in the right place. The gap junctions contain ion channels, and the
neurons form an electrical syncytium, with properties that may be considerably different
from the intra-and-extracellular boundary.
Here's what we know: the arrangement of voltage dependent conductances in nerve membranes
directly determines the behavior of neurons. One recent study catalogued 17 such
conductances in the thalamocortical relay neurons from the LGN to the primary visual
cortex. They are specifically arranged along the nerve membrane - different parts of
the membrane carry different channel concentrations. The channels interact
amongst themselves to enable micro-behaviors that are important for the timing of action
potentials (and this concept includes the "mini" action potentials that are generated
by voltage-dependent calcium conductances in dendritic spines). This can be seen in a
plethora of ways, one of the most significant and easiest to accomplish is the entrainment
of subthreshold oscillations by injected current. Spike times matter. The
specific timing of action potentials directly determines the information content of
phase-encoded bursts from the hippocampus to the frontal cortex, which are important
in multiple-choice scenarios and a host of other human behaviors.
Machine learning is easy, just multiply a few matrices. Real neurons are a lot harder.
Machines take dozens of presentations of the same image before they'll learn, whereas
humans can memorize a face with one glimpse. Currently there is still an enormous gap
in our understanding of the nature of neural processing, for instance no one knows
how the geometry of hippocampal bursts is created, much less how it may pertain to
the information geometry of the encoded signals. Annie's purpose is to address this
gap. Currently there is an explosion of research in neuroscience, related to the
specific geometry of neural networks. One recent success was the detailed connection
mapping of the entire brain of a fruit fly, some 180,000 neurons. Mouse brains are
right around the corner. Does this help us? When we still don't know how astrocytes
work?
There are around 100 billion neurons in a human brain, and an equal number of
astrocytes. Glial cells regulate the extracellular space, they wrap themselves
around axons and dendrites in the cerebral cortex and all over the brain. Some
are specialized, like the Schwann cells that form the myelin sheath around axons.
Others engage in "capsular" relationships with synapses, forming glomeruli and
other functionally significant geometric arrangements. One of the purposes of
astrocytes and other glial cells is to regulate the micro-environment of the
extracellular space. How does a neuron rich in voltage-dependent calcium channels,
behave when the available extracellular calcium concentration is suddenly modified?
The specific question is, can this be used to regulate spike timing?
On these pages, we'll look at a simulation and modeling environment that far
exceeds anything in the traditional "neural network simulator" space. It begins
with mesh geometry, which makes the solution of partial differential equations
considerably easier - not "easy", and not "fast", but easier and faster. The
quest is the shape of the information, not the shape of neurons. The shape of
neurons is easy, it's just three dimensional solid body modeling. With Annie
you can create neural geometries on the fly, export them in several dozen
different formats, visualize them, print them up on a 3-d printer, and use
them in computational models. Annie lets you interactively position your
ion channels on the nerve membrane. This way you can create computational
compartments and specify their geometries in real time. You don't need
regular geometries, you don't need perfect spheres or perfectly flat
surfaces. What you need is a mesh with surface normals that describe
the orientations of ion channels. Annie is very smart, she knows about
all manner of mesh geometry and computation on elements and volumes. She also has an enormous anatomical library, she speaks the language of neuroscience.
Annie is currently being packaged and released. She's written entirely
in Python with minimal dependencies (we'll say more about the computing
environment on the next few pages). It'll take about another month for
the packages to start appearing on PyPi. Meanwhile, please take a moment,
acquaint yourselves with Annie, and see how she can help.
Show Me How Annie Can Help
|