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:
  1. Use the data to create a model cell.
  2. 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.
  3. Turn on Continuous Export (if you haven't already).
  4. Bring up a Shape Plot.
  5. 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).
  6. 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

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.