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