334 — Sampling Neuron Morphologies
Neuron morphologies are complicated.
And that complexity isn’t a coincidence: Every endpoint in a neuron’s shape is an important synaptic conduit of information to its neighbors; every bend in its neurites not only makes room for other neurites to pass by, but it also very slightly changes the delay of information propagation along that process.
So it makes sense that generating realistic-looking neurons would be hard, and it makes sense that generating neurons that not only look real but are statistically indistinguishable from real neurons is even harder.
Shameless plug: If you don’t care about realism and just want pretty art, I made a very zen webpage over here where you can go click and have a good time. Go ahead, I’ll wait here.
Obviously, my growth algorithms are pretty lame. But people have thought a lot about this problem: In particular, there have been two main schools of thought. The first school of thought is to generate a neuron from the soma outward, statistically sampling branch rate probability distributions, branch angle distributions, and other features at each step. These methods are good, but they generally ignore global geometry, and as a result, the output neurons look locally nice and globally kinda funky or confused. (Anecdotally, they look a bit to me like neurons grown on petri dishes, where there aren’t the same sorts of growth factors present as in vivo.)
The other school of thought is to “grow” neurons by providing them with particles of simulated growth factors: The neurites “extend” in a neurotrophic growth-cone simulation. These sorts of systems — including, for example, NeuGen, tend to be way better at simulating the developmental processes of neurons — but as we’ll see shortly, they don’t capture global features (or the underlying biological growth mechanisms) well either.
But generating neuron morphologies enables us to study fundamentals of neuroscience without having to painstakingly, manually trace tons of cells. So what’s a neuroscientist to do?
To address this problem, the authors looked to reversible jump Markov chain Monte Carlo simulations to iteratively and incrementally improve bad simulated neuron morphologies until they “evolve” to appear closer to a starting dataset.
It works like this:
- Take a large dataset of neurons. Conveniently, NeuroMorpho has done this already.
- Isolate some features — either by hand, or automatically. In this case, the researchers chose a few, like branch angle and curvature, by hand.
- Start with a bad approximation of a neuron. Maybe a single node?
- Use the RJMCMC model to iteratively make changes — add a node here, rotate a neurite there — and trend toward changes that make your starting neuron increasingly similar to your starting dataset.
- Is your neuron indistinguishable from your starting dataset? Congratulations! Repeat the process.
This process requires a mechanism for determining the similarity of a neuron to a population of neurons. Luckily, this isn’t too hard, because you’ve already isolated features of that neuron.
Compared to NeuGen (which is still certainly useful for understanding developmental neuroscience among other things), this technique yielded far more (statistically) realistic neuron morphologies — and the results look visibly more neurony as well.