genesis > echo {findsolvefield /main /main/main/basket activation} ** Error - unknown or unavailable field activation for basket.
This means that we cannot set that field during simulation, so we have to use messages created before the SETUP call instead. A small trick is to set the coordinates of neutral elements, then have messages transport the coordinate values to the activation field of the synaptic channels.
genesis > // point 1 genesis > create neutral /messengers genesis > create neutral /messengers/n1 genesis > setfield /messengers/n1 x 0.0 y 0.0 z 0.0 genesis > addmsg /messengers/n1 /main/soma/basket ACTIVATION x genesis > addmsg /messengers/n1 /main/main[0-4]/basket ACTIVATION y genesis > addmsg /messengers/n1 /main/main[5-8]/basket ACTIVATION z
To activate the messages, we set the coordinate values for the neutral element for a single step of the simulation. Hsolve automatically fetches the new values and uses them to calculate the new conductance of the synaptic channel:
genesis > // point 2 genesis > step 0.2 -time genesis > setfield /messengers/n1 x 1.0 y 1.0 z 1.0 genesis > step genesis > setfield /messengers/n1 x 0.0 y 0.0 z 0.0 genesis > step 0.2 -time genesis > setfield /messengers/n1 x 1.0 y 1.0 z 1.0 genesis > step genesis > setfield /messengers/n1 x 0.0 y 0.0 z 0.0 genesis > step 0.2 -time
NOTE: Of course hsolve does store the activation field, but in an optimized and recalculated form. That is why it is not accessible with findsolvefield. |
NOTE: The Purkinje cell tutorial that comes with the Genesis source code contains a Purkinje cell model with 4000 compartments that is simulated with hsolve[3]. Besides being a good example of graphical output using hsolve, various 'experiments' are implemented with the findsolvefield command and the script_out object. If you want to dig into the code of the tutorial, the gctrace and gftrace commands will prove useful. |