Hello,
I am carrying out some experiments with an artificial model of a single neuron. The aim of the experiment is to build a relationship model of the biophysical properties of the neuron and the characteristics of the firings produced.
Hence I would like to be able to calculate some parameters of the response that I plot like the action potential width & threshold, frequency of the spiking and firing latency.
I tried to go through the posts from the forum to see if I can find some help, but I wasn't really able to get any. May be I missed some posts, but Could you please help me out with this? I am quite new to NEURON and any advice and help on this would be of a great help for me!
Thanks a lot
Nim
Question on analyzing graphs of spikes
-
ted
- Site Admin
- Posts: 6398
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: Question on analyzing graphs of spikes
All things are possible through programming. What programming experience do you have (with anything, not just NEURON)?
-
mgnimisha
Re: Question on analyzing graphs of spikes
I am quite fluent at C++, I have just started using NEURON for the past month.
-
ted
- Site Admin
- Posts: 6398
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: Question on analyzing graphs of spikes
Excellent--you are already miles ahead!
NEURON uses two interpreted programming languages: hoc and Python. hoc is most like C, so I'd suggest sticking with that for now. You will want to read chapters 12 and 13 in The NEURON Book, which discuss basic syntax and object-oriented programming in hoc, respectively. If you don't have the book, then read these old drafts of those chapters
http://www.neuron.yale.edu/ftp/ted/book ... xedref.pdf
http://www.neuron.yale.edu/ftp/ted/book ... xedref.pdf
And when you encounter anything new, be sure to read about it in the online Programmer's Reference (see the link at http://www.neuron.yale.edu/neuron/).
2. Second, write out your algorithm in pseudocode.
3. Third, translate the pseudocode into a hoc code implementation of your algorithm. If you want to produce code that is compact and efficient, let me suggest that you try to reuse things that already exist in hoc. Before you write any hoc code, and maybe even before you start to think about algorithms, you should read about the Vector class and its methods, especially record, indwhere, and indvwhere. When it comes to measuring spike frequency and latency, you will want to know about the NetCon class and especially its record method.
4. Finally, test your hoc code and verify that the measurement makes sense.
NEURON uses two interpreted programming languages: hoc and Python. hoc is most like C, so I'd suggest sticking with that for now. You will want to read chapters 12 and 13 in The NEURON Book, which discuss basic syntax and object-oriented programming in hoc, respectively. If you don't have the book, then read these old drafts of those chapters
http://www.neuron.yale.edu/ftp/ted/book ... xedref.pdf
http://www.neuron.yale.edu/ftp/ted/book ... xedref.pdf
And when you encounter anything new, be sure to read about it in the online Programmer's Reference (see the link at http://www.neuron.yale.edu/neuron/).
1. First, come up with operational definitions of these measurements. For example, if you were telling someone how to measure spike width, exactly what would you tell that person to do? If you have a good background in experimental neuroscience--real wet-lab experimentation--this will probably be easy for you. If you don't have a solid background in experimental neuroscience, then don't just make up something that you think is plausible--find out what is "accepted practice" by reading the experimental literature and/or talking to experimentalists. In particular, be very cautious about the operational definition of "threshold." In the opinion of many, the only unambiguous definition is "stimulus threshold," which means "the smallest amount of charge that must be injected to trigger a spike."I would like to be able to calculate some parameters of the response that I plot like the action potential width & threshold, frequency of the spiking and firing latency.
2. Second, write out your algorithm in pseudocode.
3. Third, translate the pseudocode into a hoc code implementation of your algorithm. If you want to produce code that is compact and efficient, let me suggest that you try to reuse things that already exist in hoc. Before you write any hoc code, and maybe even before you start to think about algorithms, you should read about the Vector class and its methods, especially record, indwhere, and indvwhere. When it comes to measuring spike frequency and latency, you will want to know about the NetCon class and especially its record method.
4. Finally, test your hoc code and verify that the measurement makes sense.