Data structure for Neuron

Post Reply
lakrix
Posts: 3
Joined: Wed Feb 17, 2016 5:37 am

Data structure for Neuron

Post by lakrix »

Hi, What type of data structure is used when building Neuron in different programming languages? Currently I'm working on building a data structure for neurons which allows searching with spartial coordinates (x,y,z).The data structure should be memory efficient for searching through a huge network of R^3 coordinates maybe 100,000-500,000 coordinates. I have looked at k-d tree which looks good is there any good data structure for fast random and sequential access out there? The programming language will be C++ or C. I have looked into k-d - tree and R^*-tree is there some more efficient data structure out there?

id x y z

1 0.1 0.05 0.3

2 0.3 0.22 2.3

3 0.1 0.2 3.3

and so on

Thanks in advance.
ted
Site Admin
Posts: 6286
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Data structure for Neuron

Post by ted »

You're asking about the file formats used for morphometric data. Microbrightfield has their own proprietary formats for their tool Neurolucida; you might find documentation about those formats at MBF's web site. SWC is a widely-used non-proprietary format; look here http://research.mssm.edu/cnic/swc.html and here http://diademchallenge.org/faq.html.
lakrix
Posts: 3
Joined: Wed Feb 17, 2016 5:37 am

Re: Data structure for Neuron

Post by lakrix »

Im not looking for the format of the file. We want to use SWC files but the thing I'm asking is how you build the implementation of the neuron network. What types of data structures are best for implementing with a SWC file if you want the structure to be memory efficient and be able to search with spatial coordinates. We have looked into using Octree https://en.wikipedia.org/wiki/Octree and it seem like a good ide. But we want to know want data structure are used to build Neuron software program?

thanks in advance
ted
Site Admin
Posts: 6286
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Data structure for Neuron

Post by ted »

NEURON uses one dimensional cables to represent the electrical properties of biological neurons. These cables may be assembled into singly connected branched architectures. The properties of each unbranched neurite can be represented either using a stylized specification (length and diameter) or as a series of x,y,z,diameter 4-tuples. You'll want to read this
https://www.neuron.yale.edu/neuron/stat ... metry.html

Connections between cells in a network are logical connections. Location and orientation of any cell is not a factor in the simulation; if two cells are close enough to each other to interact, either by extrasynaptic spread of a chemical signal or through ephaptic interactions, the equations that describe that interaction must be added to the model e.g. by using a special programming language (NMODL) to implement the representation of generation, diffusion, and destruction of the chemical signal, or in the case of ephaptic interactions by using the Linear Circuit class to construct an equivalent circuit that represents the coupling between the cells.

Might Octree be useful to any of this? Who knows? It hasn't been necessary for anything so far.
lakrix
Posts: 3
Joined: Wed Feb 17, 2016 5:37 am

Re: Data structure for Neuron

Post by lakrix »

Thanks for answering. Ye we might investigate how neuron can be implemented with an octree in c++ to gain memory efficiency. Do you have any information of typical simulation workflow i.e. how morphology analysis comes before actual simulations, to build the network?
ted
Site Admin
Posts: 6286
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Data structure for Neuron

Post by ted »

Network architecture is typically specified algorithmically, based on conceptual notions of network structure, without reference to the messy details of the structure of real tissue. Models whose architectures are "grown according to rules," such as the recent large scale olfactory bulb models by Migliore, Shepherd, Hines, Wu et al. are exceptions; they use their own empirically-based rules that govern cell shape and position, and what synaptic connections are made; you'll find citations and source code in ModelDB. You may also find some relevant stuff in papers from the European brain project, e.g. Markram et al., Cell 163:1-37, 2015.
Post Reply