Working with morphometric data
If you have detailed morphometric data, why not use it?
This may be easier said than done, since quantitative morphometry
typically produces hundreds or thousands of measurements for a single cell --
you wouldn't want to translate this into a model by hand.
Several programs have been written to generate hoc code
from morphometric data files, but NEURON's own Import3D tool
is probably the most powerful and up-to-date.
Currently Import3D can read Eutectic, Neurolucida (v1 and v3 text files),
swc, and MorphML files.
It can also detect and localize errors in these files,
and repair many of the more common errors automatically
or with user guidance.
Exercises
A surprising result
Some morphometric data files contain surprises, but the Import3D tool handled this one nicely:
Reading a morphometric data file and converting it to a NEURON model.
Exploring morphometric data with the Import3D tool.
A "litmus test" for models with complex architecture
Some morphometric reconstructions contain orphan branches,
or measurement points with diameters that are (incorrectly) excessively small or even zero.
Here's a test that can quickly detect such problems:
- Use the data to create a model cell.
- Insert the
pas
mechanism into all sections.
If you're dealing with a very extensive cell
(especially if the axon is included),
you might want to cut Ra to 10 ohm cm
and reduce g_pas to 1e-5 mho/cm2.
- Turn on Continuous Export (if you haven't already).
- Bring up a Shape Plot.
- Turn this into a Shape Plot of Vm
(R click in the Shape Plot and scroll down the menu to "Shape Plot".
Release the mouse button and a color scale calibrated in mV should appear).
- Examine the response of the cell
to a 3 nA current step lasting 5 ms applied at the soma.
For very extensive cells, especially if you have reduced g_pas,
you may want to increase both Tstop and the duration of the
injected current to 1000 ms and use variable dt.
Here's an example that used a toy cell:

Left: Vm at t = 0 ms. Right: Vm at 5 ms.
Quantitative tests of anatomy
This Python code checks for pt3d diameters smaller than 0.1 um,
and reports where they are found:
for sec in h.allsec():
for i in range(sec.n3d()):
if sec.diam3d(i) < 0.1:
print('%s %d %g' % (sec, i, sec.diam3d(i)))
If you're reusing someone's hoc files, you could use the equivalent hoc statement
forall for i=0, n3d()-1 if (diam3d(i) < 0.1) print secname(), i, diam3d(i)
There are many other potential strategies for checking
anatomical data, such as
- creating a space plot of diam. Bring up a Shape Plot
and use its Plot what? menu item to select diam.
Then select its Space plot menu item, click and drag
over the path of interest, and voila!
- making a histogram of diameter measurements,
which can reveal outliers and systematic errors
such as "favorite values" and quantization artifacts
(what is the smallest diameter that was measured?
how fine is the smallest increment of diameter?).
This requires some coding, which is left as an exercise
to the reader.
Detailed morphometric data: sources, caveats, and importing into NEURON
Currently the largest collection of detailed morphometric data we know of is
NeuroMorpho.org.
There are many potential pitfalls in the collection and use of such data.
Before using any data you find at NeuroMorpho.org or anywhere else,
be sure to carefully read any papers that were
written about those data by the anatomists who obtained them.
Some of the artifacts that can afflict morphometric data
are discussed in these two papers, which are well worth reading:
Kaspirzhny AV, Gogan P, Horcholle-Bossavit G, Tyc-Dumont S. 2002.
Neuronal morphology data bases: morphological noise and assesment of data quality.
Network: Computation in Neural Systems 13:357-380.
Scorcioni, R., Lazarewicz, M.T., and Ascoli, G.A.
Quantitative morphometry of hippocampal pyramidal cells: differences between
anatomical classes and reconstructing laboratories.
Journal of Comparative Neurology 473:177-193, 2004.
NEURON hands-on course
Copyright © 1998-2018 by N.T. Carnevale and M.L. Hines,
all rights reserved.