Page 1 of 1

Adding myelin to realistic morphology

Posted: Mon Jul 18, 2016 10:27 am
by Aman_Aberra

I'm working with cortical cell models with realistic morphologies that include the axon and its collaterals, and I'm applying extracellular stimulation via e_extracellular (using the xtra mechanism written by Ted). As is, the cell models are unmyelinated, but I'd like to add myelin to their existing axon morphologies. The cell models I'm working with all have a single section between branch points, so that every section originates from a bifurcation and ends in a bifurcation or termination. For each section of the axon, I want to set the bifurcation point as a node of Ranvier, calculate the internodal length based on the diameter at some point and the internodal length:diameter ratio (e.g. 100), and add the appropriate number of myelinated internodal "sections" and nodes in between the beginning and end of the section. I can think of several approaches to implement this, but they all seem to have problems, so I was hoping to get some advice on the best approach or alternatives. It's important that I retain the 3d morphology for extracellular stimulation, so I want to avoid adding or removing sections in a way that would change the coordinates. But for assigning extracellular potentials, I believe I should only need the coordinates of the nodes, assuming the myelin is perfectly insulating (for now).

These are the ideas I've had so far and their associated problems:

1) Modify compartments within each section to make them myelinated or nodal.
Problem: node much shorter than compartment lengths (1 µm vs. ~20 µm), can't set length of individual compartments, and setting all compartments to 1 µm would be too computationally expensive.
2) Use only last coordinate of each section, set to node (L= 1 µm), and simulate myelin section before node by modifying axial resistance
Problem: segments have 2 axial resistors, so modifying Ra in this way adds a myelinated section of the same length before and after the segment
3) Collapse each each section into last coordinates and set to node, as in 2, but disconnect children, add myelin section before it, and reconnect section w/ its children. Iterate through tree.
Problem: I think this would change the geometry unless I was careful about retaining the coordinates of the segments and assigning them to the myelin correctly

Re: Adding myelin to realistic morphology

Posted: Mon Jul 18, 2016 12:51 pm
by ted
Each node of Ranvier should be represented by a section, and each myelinated internode should be represented by a section.

A separate matter: do not use the CellBuilder's formula to calculate the nseg for each internode. That formula assumes a simple cable in an extracellular medium that presents negligible resistance to the longitudinal flow of current outside of the axon. Those assumptions are violated when extracellular is used to represent the effects of myelination; in such cases, the only robust strategy at this time is to adjust nseg empirically.

Re: Adding myelin to realistic morphology

Posted: Mon Jul 18, 2016 1:59 pm
by Aman_Aberra
Okay, that's what I intended to do with the 3rd approach. I think what I'll have to do is save the pt3d coordinates of regions I want to myelinate in vectors, then disconnect/delete these sections from their parent and child sections, create a new myelinated internodal section and a nodal section and assign it pt3d coordinates from the vectors, and reconnect them to the appropriate parent and child section. Does this approach sound reasonable, or am I missing any potential pitfalls?


Re: Adding myelin to realistic morphology

Posted: Tue Jul 19, 2016 10:53 pm
by ted
The process sounds tedious, but that or something else that produces an equivalent result is unavoidable if you're dealing with morphometric data from a real axon. I'm not sure I like the idea of all that breaking apart and reconnecting, and would consider a couple of alternatives.

One would be to split the cell into two hoc files--one that defines the axon itself, and another that defines the rest of the cell. Then edit the axon's hoc file, inserting the necessary node sections. Finally do
load_file("rest_of_cell.hoc") // which contains everything except the axon proper
and follow with a single connect statement that attaches the proximal end of the axon to the soma or dendrite or initial segment (which is part of rest_of_the_cell). Of course that leaves you with the problem of having to decide what pt3dadd statements to use to define each of the node sections.

The other alternative would be to do something like this pseudocode:

Code: Select all

for each axon section {
  create a new node section with length = 1 um
  and diameter = diameter of the axon section
  connect the 0 end of this node to the 1 end of the axon section
This algorithm is very easily implemented.

I can already imagine the groans of voices saying "That's cheating! You can't do that! It's not exactly the same as having the node inline between the parent section and the child section(s)!" To which my reply is: the effect on simulation results will be negligible. Besides, the approximation is no worse than the inherent imprecision in the data itself. After all, the use of 1 um long nodes is itself an approximation, not to mention the error in node diameter or fiber diameter measurements, or the uncertainty about the detailed electrical properties of myelin.

Re: Adding myelin to realistic morphology

Posted: Wed Jul 20, 2016 10:37 am
by Aman_Aberra
I'm mostly working with the Blue Brain cell models right now, which are written in templates, so the first approach isn't ideal, but the second one I think could work. I'm also primarily using extracellular stimulation, and bifurcations are a site of depolarization, so I'm worried this might change the depolarization mechanism at these points, since there would be 3 branches leaving the parent node, rather than 2. I'll try it out though; it should be easy to test. Thanks, Ted.