Dear Ted
For a while now I have been trying to think of a strategy in order to solve both the intracellular and extracellular electric distribution of a neuron. In essence, when exciting a neuron extracellularly this will induce an intracellular voltage. This can be easily simulated for a passive neuron (just apply the voltage using "insert extracellular").
It becomes more of a challenge though for an active membrane. I am aware that normally such effects are neglected (maybe even for the right reasons), but if somebody would want to solve the overall problem then an iterative procedure would be needed (i.e., apply the extracellular field -> calculate the intracellular membrane voltage -> extrapolate outside -> correct the extracellular voltage ->redo).
I was thinking of doing this using an interface between MATLAB and NEURON. MATLAB would be used to call NEURON and calculate the extracellular field whereas NEURON would solve for the intracellular processes at each time step. Obviously, in order to be accurate, small time-steps would be required.
I wanted to ask you about your opinion. Do you think this is the most efficient strategy for the case at hand? Would you propose something more effective? Do you know anybody that has looked at a similar case?
As always, for your time and effort I am thankful.
All the best, Costas
combining Matlab + NEURON for extracellular fields
-
- Site Admin
- Posts: 6384
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: iterative solution for intra-/extra-cellular voltage
First, I must apologize for not replying earlier, but this was lost in my "to-do" list.
By the way, it seems appropriate to split your post from November 27, and my reply, into
a new thread--which I will do after you have a chance to reply.
Are you referring to the effects of cell membrane currents on the extracellular field?costas wrote:For a while now I have been trying to think of a strategy in order to solve both the intracellular and extracellular electric distribution of a neuron. In essence, when exciting a neuron extracellularly this will induce an intracellular voltage. This can be easily simulated for a passive neuron (just apply the voltage using "insert extracellular").
It becomes more of a challenge though for an active membrane. I am aware that normally such effects are neglected
By the way, it seems appropriate to split your post from November 27, and my reply, into
a new thread--which I will do after you have a chance to reply.
Dear Ted
That is correct - I have written a code that (I think/hope) works now and accounts for the following effects: (a) node-stimulating electrode interactions, and (b) node-node interactions. The way I do this is that for each time-step I read the membrane current at all nodes, calculate (through Ohm's law) the contribution of the membrane current jj on the extracellular voltage of all other nodes (except jj) and sum all contributions for all nodes to define the final extracellular voltage on each one of them.
At the moment I am testing the code and it seems to be working.
(1) Would it be possible for me to send you the codes via EMail for you to take a look at them? They are small and I have written a lot of comments so that it is clear what I do. I would be very thankful...
(2) Another thing, I am trying to apply this method for more complicated morphologies, i.e. at the moment I am using a model neuron that consists only of a soma and a dendrite. The way I do this is that I reconstruct the morphology in Matlab, find the coordinates of each node and use them to calculate the distance between the stimulating electrode and the nodes as well as between all nodes to each other. Through Ohm's law this allows me to define the resistance between any two points externally. Obviously, this strategy becomes inefficient for more detailed neurons (which is where I am heading) because it requires reconstructing a detailed morphology in Matlab and assumes that the routine that I use in Matlab to find out the coordinates of all nodes is (i) identical to NEURON's and (ii) correct. I wanted to ask if there is a NEURON command/procedure that would allow me to find the coordinates of all nodes (something along the lines of x3d()). This would then allow me to conduct all calculations within NEURON...
(3) Is there somewhere a list or table of the units of all built-in variables used in NEURON? It would be useful if there was such a thing (I am still not sure all my unit conversions are correct...)
As always, for your time I am thankful.
All the best, Costas
That is correct - I have written a code that (I think/hope) works now and accounts for the following effects: (a) node-stimulating electrode interactions, and (b) node-node interactions. The way I do this is that for each time-step I read the membrane current at all nodes, calculate (through Ohm's law) the contribution of the membrane current jj on the extracellular voltage of all other nodes (except jj) and sum all contributions for all nodes to define the final extracellular voltage on each one of them.
At the moment I am testing the code and it seems to be working.
(1) Would it be possible for me to send you the codes via EMail for you to take a look at them? They are small and I have written a lot of comments so that it is clear what I do. I would be very thankful...
(2) Another thing, I am trying to apply this method for more complicated morphologies, i.e. at the moment I am using a model neuron that consists only of a soma and a dendrite. The way I do this is that I reconstruct the morphology in Matlab, find the coordinates of each node and use them to calculate the distance between the stimulating electrode and the nodes as well as between all nodes to each other. Through Ohm's law this allows me to define the resistance between any two points externally. Obviously, this strategy becomes inefficient for more detailed neurons (which is where I am heading) because it requires reconstructing a detailed morphology in Matlab and assumes that the routine that I use in Matlab to find out the coordinates of all nodes is (i) identical to NEURON's and (ii) correct. I wanted to ask if there is a NEURON command/procedure that would allow me to find the coordinates of all nodes (something along the lines of x3d()). This would then allow me to conduct all calculations within NEURON...
(3) Is there somewhere a list or table of the units of all built-in variables used in NEURON? It would be useful if there was such a thing (I am still not sure all my unit conversions are correct...)
As always, for your time I am thankful.
All the best, Costas
-
- Site Admin
- Posts: 6384
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
If I say yes, how will I be able to turn down requests from everybody else who wants me to(1) Would it be possible for me to send you the codes via EMail for you to take a look at them? They are small and I have written a lot of comments so that it is clear what I do.
check their code? I'd never have time to get anything done--like checking my own code,
which has enough errors to keep me quite busy already . . .
NEURON has no built-in feature like that. However, seeI wanted to ask if there is a NEURON command/procedure that would allow me to find the coordinates of all nodes
Extracellular stimulation and recording
in the
Hot tips
area of the Forum.
SeeIs there somewhere a list or table of the units of all built-in variables used in NEURON?
What units are used in NEURON?
in the
Hot tips
area of the Forum.