Stochastic gating as a function of external variable (light, membrane tension)
Posted: Tue May 14, 2019 6:30 am
I would like to implement a mechanism that reflects ion channels gated by an external parameter, such as light intensity or membrane tension. The rate's dependency on the external parameter is not simply linear (quadratic, cubic), as in the case of gating triggered by binding one (two, three) ligand molecules. Instead, the external parameter influences the energy of the open and closed states similar to the impact of voltage on voltage-gated ion channels.
In the mean-field, deterministic case, there is no problem. I can write a .mod file where rates depend on the external parameter:
~ C <-> O ( maxrate/(exp(-(extPara- s_half_o)/k_o) + 1), maxrate/(exp((extPara- s_half_c)/k_c) + 1) )
and then provide a time varying extPara via vector.play from the .hoc file:
svec.play(&extPara_mec,tvec,1)
But there are only about 20 externally gated channels in a given cell. So actual channel counts and stochasticity really matter. I am also interested in parameters, such as, "time to first opening" and cannot simply add a noise term to an average current.
I was hoping to use the Channel Builder to create a stochastic (point process) version of the mechanism, but as far as I can see, the GUI restricts the impact of external parameters to the case of ligands.
Does the Channel Builder provide a way to implement a channel using gating transitions with exponential dependence on external variables?
If the functional forms of the transition rates are fixed, could I create a table of rates and pick the relevant entry based on the value of an external parameter?
If the Channel Builder cannot provide a solution, is there a tried and true way to implement stochastic gating with an NMODL mechanism? I am aware of some implementations, that have been recommended earlier in the forum, e.g.the stochastic Ih for Kole et al. 2006. However, I have the feeling that the published implementation is close to the intended statistics only if the number of transitions per time step is much much smaller the total number of channels. That is likely with very small time steps and very many channels. In my particular case, the channel count is small and I would like to implement a mechanism that generalizes well for arbitrary channel numbers and also arbitrary gating schemes, not just C<->O. Therefore I was looking for a general implementation of stochastic gating but could not find one.
Any ideas on either Channel Builder with external variables or NMODL mechanisms for stochastic gating of a general gating scheme with dependence on external variables?
Thanks!
Andreas
In the mean-field, deterministic case, there is no problem. I can write a .mod file where rates depend on the external parameter:
~ C <-> O ( maxrate/(exp(-(extPara- s_half_o)/k_o) + 1), maxrate/(exp((extPara- s_half_c)/k_c) + 1) )
and then provide a time varying extPara via vector.play from the .hoc file:
svec.play(&extPara_mec,tvec,1)
But there are only about 20 externally gated channels in a given cell. So actual channel counts and stochasticity really matter. I am also interested in parameters, such as, "time to first opening" and cannot simply add a noise term to an average current.
I was hoping to use the Channel Builder to create a stochastic (point process) version of the mechanism, but as far as I can see, the GUI restricts the impact of external parameters to the case of ligands.
Does the Channel Builder provide a way to implement a channel using gating transitions with exponential dependence on external variables?
If the functional forms of the transition rates are fixed, could I create a table of rates and pick the relevant entry based on the value of an external parameter?
If the Channel Builder cannot provide a solution, is there a tried and true way to implement stochastic gating with an NMODL mechanism? I am aware of some implementations, that have been recommended earlier in the forum, e.g.the stochastic Ih for Kole et al. 2006. However, I have the feeling that the published implementation is close to the intended statistics only if the number of transitions per time step is much much smaller the total number of channels. That is likely with very small time steps and very many channels. In my particular case, the channel count is small and I would like to implement a mechanism that generalizes well for arbitrary channel numbers and also arbitrary gating schemes, not just C<->O. Therefore I was looking for a general implementation of stochastic gating but could not find one.
Any ideas on either Channel Builder with external variables or NMODL mechanisms for stochastic gating of a general gating scheme with dependence on external variables?
Thanks!
Andreas