Different questions regarding HOC- and NEURON
Posted: Thu Nov 22, 2018 5:34 am
Hey,
At the moment i try to learn HOC with a Tutorial provided by the MIT as i will need to make NEURON-Simulation in my thesis. Thereby some questions came up, you may can help me with:
Firstly, it was striking that in HOC you always have to declare "objectvariables" with for example "objectvar stim". What is the benefit of doing this? Why is it not enough to just write "stim = newIClamp(0.5)? Also i recognized that in HOC (or in the HOC tutorial i am doing) an "objectvariable" seems to be something different than in Python, as in the HOC Tutorial the term "objectvariable" revers to something what would be an object/instance in Python. Is that correct? In the same way, does in HOC the term "template" means the same as the term "class" in Python?
Another point that confused me was the following code within the MIT NEURON Tutorial:
Why does one has to create "soma, dend" two times? Is the method "proc init()" not able to work with something that was declared outside of the function?
My other question is in regard to the simulations itself:
In the tutorial it is written: "To avoid the transient phase, its a good idea to let the simulation run for a while before performing the experimental manipulations. In the example above, we wait 100 ms before injecting current"
Why does NEURON simulate the transient phase? It is to make the simulation biologically more realistic? Without the transient phase one could start the simulation immediatly...
My questions might seem "very basic" to the most of you, but anyways it would help me a lot if someone would answer.
Kind Regards,
Bonic
At the moment i try to learn HOC with a Tutorial provided by the MIT as i will need to make NEURON-Simulation in my thesis. Thereby some questions came up, you may can help me with:
Firstly, it was striking that in HOC you always have to declare "objectvariables" with for example "objectvar stim". What is the benefit of doing this? Why is it not enough to just write "stim = newIClamp(0.5)? Also i recognized that in HOC (or in the HOC tutorial i am doing) an "objectvariable" seems to be something different than in Python, as in the HOC Tutorial the term "objectvariable" revers to something what would be an object/instance in Python. Is that correct? In the same way, does in HOC the term "template" means the same as the term "class" in Python?
Another point that confused me was the following code within the MIT NEURON Tutorial:
Code: Select all
"begintemplate STHcell
public soma, dend
create some, dend[1]
proc init() {
ndend = 2
create soma, dend[ndend]
soma{ ...etc. etc.
My other question is in regard to the simulations itself:
In the tutorial it is written: "To avoid the transient phase, its a good idea to let the simulation run for a while before performing the experimental manipulations. In the example above, we wait 100 ms before injecting current"
Why does NEURON simulate the transient phase? It is to make the simulation biologically more realistic? Without the transient phase one could start the simulation immediatly...
My questions might seem "very basic" to the most of you, but anyways it would help me a lot if someone would answer.
Kind Regards,
Bonic