Mesh Generator for Neurons
Author: Rogene M. Eichler West Version: 2.9.3 Dated: 21 February 1997
Copyright @ 1995-7 Rogene M. Eichler West All Rights Reserved
NEW: Surface area is conserved from the original morphology
files and the simulation output files.
Synopsis:
This code converts cell morphology descriptions in Eutectic NTS format into files suitable for numerical simulations. The output can be formatted for custom simulators, or the popular public domain neural simulators GENESIS and NEURON. The mesh size, or number of compart- ments, is determined by the electrotonic criteria specified by the user at run time. The compartments are numbered according to the methods of Hines (1984) and Eichler West and Wilcox (1996).
Compilation:
To compile: cc -O mesh*c -o mesh -lm To run: mesh The code has been tested with the cc and gcc compilers and on SGI, SUN, and Cray computing platforms.
Input Arguments:
File: Type the full file name. The file should reside in the same directory as the mesh executable code. Wild card characters (ie *) in the file name will not be recognized. The mesh generator reads datafiles in Eutectic NTS format. The x,y,z coordinates and diameters are given in microns. The data is organized in a depth- first tree structure. These point types are recognized: SOS, SCP, SOE, MTO, TTO, BTO, BAE, MAE, TAE, NE, BP, CP These point types are converted: ES -> NE, FS -> CP, SB -> CP These point types are ignored: OS, OCP, OE, DS, DCP, DE The datafiles should be "merged" using the Eutectic software before using this mesher. This software will attempt to match up *TO with *AE ends, but will only be successful if they fall within 10 microns of each other's coordinates. If the datafile is edited, one should take care that the edit retains a complete tree structure. The soft ware will check for the condition that *TO + BP = NE. (See Eichler West and Wilcox 1996) The number of Eutectic points is grabbed from the first line in the Eutectic file. If you alter the file by adding or deleting points, it is necessary to also change the number in this header. Rm: The membrane resistance (Ohm*cm2). Typical values range from 5,000 - 50,000. Ri: The internal (axial) resistance (Ohm*cm). Typical values range from 50 - 250. The maximum intracompartment radius range (microns): This criterion establishes a maximum on how much the radius can vary from one end of the compartment to the other. Typical values range from 0.1 - 1.0. Smaller values of RCrit produce more compartments. The maximum electrotonic length per compartment: This criterion sets a maximum on the electrotonic length (L) per compartment. Typical values range from 0.01 - 0.1 (Segev et al 1989), but should be selected based on the convergence behavior of the particular structure being simulated. It has been shown that structures with an overall L of 1.0 numerically converge sufficiently with compartments having an L of 0.1. Longer structures require smaller values of LCrit per compartment (Perkel and Mulloney 1978). Smaller values of LCrit produce more compartments. Choice of output format: Custom Code - radii.dat: a list of compartment radii (units cm) length.dat: a list of compartment lengths (units cm) connect.dat: a connectivity matrix 1.0 where neighboring region 0.0 else (including the diagonal) The matrix is written: do i = 1, comp_no do j = 1, comp_no write G(i,j) end do end do GENESIS - The cell file is named genesis-script.p and the units are microns. NEURON - The cell file is named neuron-script.dat and the units are microns. Choice of additional file options: SGI objects - graph.dat Used to create objects in OpenGL to animate simulations. Individual electrotonic lengths - compL.dat Contains the electrotonic length of each individual compartment. Electrotonic length from soma - LfS.dat The total electrotonic distance away from the soma is listed for each compartment. Distance from soma - DfS.dat The total distance away from the soma is listed in cm for each compartment.
General comments:
The resulting compartments will not be of uniform electro- tonic length. The soma compartment may exceed the LCrit. The radius criterium may result in compartments much smaller than LCrit. There are *much* more CPU efficient ways this code could be written. I have opted for readability so that future changes could be easily incorporated. This program will only need to be run once for each dataset presumably, so efficiency in time is not an important issue.
Development:
Several users have requested an option to output the soma as a stack of disks, rather than a sphere. This will be included in the next release. Also, Neurolucida files will be supported in the new release. NEURON formatting (see BUGS NOTE).
BUGS NOTE:
NEURONS users: I have not implemented the output formatting in 3-D coordinates! Electrotonically, I assume you will generate the correct solution but I am told that the graphics will not be pretty. I am not a NEURON user, so Beta test volunteers are appreciated and will increase the priority of further development. If your results are suspicious, please mail me a copy of the Eutectic file and the parameters that produced the questionable outputs. I will be happy to investigate the cause of the problem.
References:
Eichler West, R.M. and Wilcox G.L. (1996) "A renum- bering method to decrease matrix banding in equations des cribing branched neuron-like structures." J Neuroscience Methods. (In Press.) {Minnesota Supercomputer Institute Research Report UMSI 95/167} Hines, M. (1984) "Efficient computation of branched nerve equations." Int. J. Biomed. Comp. 15:69-76. Perkel, D.H. and Mulloney, B. (1978) "Electrotonic properties of neurons: steady-state compartmental model." J Neurophysiol. 41:627-639. Segev, I., Fleshman, J.W., and Burke, E. (1989) "Compartmental models of complex neurons." In: C. Koch and I. Segev (eds) Methods in Neuronal Modeling. (pp 63- 96). MIT Press, Cambridge, Massachusetts.
Acknowledgements:
Thanks first and foremost to Dr. George L. Wilcox (Univer- sity of Minnesota) for his vision of hackers taking over the world of biology and his support towards making it happen! I appreciate the help of Dave Beeman and Nathan Urban with formatting and beta testing the GENESIS outputs. Erik De Schutter suggested that the surface area should be conserved from the original morphology files. 1995-1996: Computing facilities were provided by the Minnesota Super- computer Institute, the Laboratory for Computational Sciences and Engineering (LCS&E) at the University of Minnesota, the Computer Science Department at the Univer- sity of Minnesota, the Army High Performance Computing Research Center, and West Research. I received financial support at various intervals during the course of the code development from a Minnesota Super- computer Institute / Cray Research grant, the Graduate Program in Neuroscience at the University of Minnesota, the Army High Performance Computing Research Center, and West Research. 1996-1997: Computing facilities were provided by the Born Bunge Foundation, Universitaire Instelling Antwerpen (Belgium). I received financial support from a joint postdoctoral appointment between the labs of Erik De Schutter (UIA) and Jim Bower (Caltech).
For more information, the author can be contacted at:
rogene@med.umn.edu rogene@bbf.uia.ac.be rogene@bbb.caltech.edu Address during original development: Graduate Program in Neuroscience University of Minnesota Minneapolis, Minnesota 55455 USA Current addresses (starting Aug 1996): 1. Theoretical Neurobiology Born Bunge Foundation Universitaire Instelling Antwerpen - UIA Universiteitsplein 1 B2610 Antwerp BELGIUM 2. Division of Biology 216-76 California Institute of Technology Pasadena, CA 91125 USA