Documentation ¶
Overview ¶
Package chans provides standard neural conductance channels for computing a point-neuron approximation based on the standard equivalent RC circuit model of a neuron (i.e., basic Ohms law equations). Includes excitatory, leak, inhibition, and dynamic potassium channels.
Index ¶
- func VFmBio(vm float32) float32
- func VToBio(vm float32) float32
- type AKParams
- func (ap *AKParams) AlphaFmVK(vbio, k float32) float32
- func (ap *AKParams) BetaFmVK(vbio, k float32) float32
- func (ap *AKParams) DMHFmV(v, m, h float32) (float32, float32)
- func (ap *AKParams) Defaults()
- func (ap *AKParams) Distal()
- func (ap *AKParams) Gak(m, h float32) float32
- func (ap *AKParams) HFmV(vbio float32) float32
- func (ap *AKParams) HTauFmV(vbio float32) float32
- func (ap *AKParams) KFmV(vbio float32) float32
- func (ap *AKParams) MFmAlpha(alpha float32) float32
- func (ap *AKParams) MTauFmAlphaBeta(alpha, beta float32) float32
- func (ap *AKParams) Proximal()
- func (ap *AKParams) Update()
- type AKsParams
- type Chans
- type GABABParams
- func (gp *GABABParams) BiExp(g, x float32) (dG, dX float32)
- func (gp *GABABParams) Defaults()
- func (gp *GABABParams) GABAB(gabaB, gabaBx, gi float32) (g, x float32)
- func (gp *GABABParams) GFmS(s float32) float32
- func (gp *GABABParams) GFmV(v float32) float32
- func (gp *GABABParams) GgabaB(gabaB, vm float32) float32
- func (gp *GABABParams) Update()
- type NMDAParams
- func (np *NMDAParams) CaFmV(v float32) float32
- func (np *NMDAParams) CaFmVbio(vbio float32) float32
- func (np *NMDAParams) Defaults()
- func (np *NMDAParams) Gnmda(nmda, vm float32) float32
- func (np *NMDAParams) MgGFmV(v float32) float32
- func (np *NMDAParams) MgGFmVbio(vbio float32) float32
- func (np *NMDAParams) NMDASyn(nmda, raw float32) float32
- func (np *NMDAParams) SnmdaFmSpike(spike float32, snmdaO, snmdaI *float32)
- func (np *NMDAParams) Update()
- func (np *NMDAParams) VFactors(v float32) (mgg, cav float32)
- type VGCCParams
- func (np *VGCCParams) DMHFmV(v, m, h float32) (float32, float32)
- func (np *VGCCParams) Defaults()
- func (np *VGCCParams) GFmV(v float32) float32
- func (np *VGCCParams) Gvgcc(vm, m, h float32) float32
- func (np *VGCCParams) HFmV(vbio float32) float32
- func (np *VGCCParams) MFmV(vbio float32) float32
- func (np *VGCCParams) Update()
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AKParams ¶ added in v1.2.96
type AKParams struct { Gbar float32 `def:"2,0.01" desc:"strength of AK current"` Beta float32 `def:"0.01446,02039" desc:"multiplier for the beta term; 0.01446 for distal, 0.02039 for proximal dendrites"` Dm float32 `def:"0.5,0.25" desc:"Dm factor: 0.5 for distal, 0.25 for proximal"` Koff float32 `def:"1.8,1.5" desc:"offset for K, 1.8 for distal, 1.5 for proximal"` Voff float32 `def:"1,11" desc:"voltage offset for alpha and beta functions: 1 for distal, 11 for proximal"` Hf float32 `def:"0.1133,0.1112" desc:"h multiplier factor, 0.1133 for distal, 0.1112 for proximal"` }
AKParams control an A-type K channel, which is voltage gated with maximal activation around -37 mV. It has two state variables, M (v-gated opening) and H (v-gated closing), which integrate with fast and slow time constants, respectively. H relatively quickly hits an asymptotic level of inactivation for sustained activity patterns. It is particularly important for counteracting the excitatory effects of voltage gated calcium channels which can otherwise drive runaway excitatory currents. See AKsParams for a much simpler version that works fine when full AP-like spikes are not simulated, as in our standard axon models.
func (*AKParams) AlphaFmVK ¶ added in v1.2.96
AlphaFmVK returns the Alpha function from vbio (not normalized, must not exceed 0)
func (*AKParams) BetaFmVK ¶ added in v1.2.96
BetaFmVK returns the Beta function from vbio (not normalized, must not exceed 0)
func (*AKParams) DMHFmV ¶ added in v1.2.96
DMHFmV returns the change at msec update scale in M, H factors as a function of V normalized (0-1)
func (*AKParams) Defaults ¶ added in v1.2.96
func (ap *AKParams) Defaults()
Defaults sets the parameters for distal dendrites
func (*AKParams) Distal ¶ added in v1.2.96
func (ap *AKParams) Distal()
Distal sets the parameters for distal dendrites
func (*AKParams) HFmV ¶ added in v1.2.96
HFmV returns the H gate value from vbio (not normalized, must not exceed 0)
func (*AKParams) HTauFmV ¶ added in v1.2.96
HTauFmV returns the HTau rate constant in msec from vbio (not normalized, must not exceed 0)
func (*AKParams) KFmV ¶ added in v1.2.96
KFmV returns the K value from vbio (not normalized, must not exceed 0)
func (*AKParams) MTauFmAlphaBeta ¶ added in v1.2.96
MTauFmAlphaBeta returns the MTau rate constant in msec from alpha, beta
type AKsParams ¶ added in v1.3.23
type AKsParams struct { Gbar float32 `def:"2,0.01" desc:"strength of AK current"` Hf float32 `` /* 151-byte string literal not displayed */ Mf float32 `def:"0.075" desc:"multiplier for M -- determines slope of function"` Voff float32 `def:"2" desc:"voltage offset in biological units for M function"` Vmax float32 `def:-37" desc:"voltage level of maximum channel opening -- stays flat above that"` }
AKsParams provides a highly simplified stateless A-type K channel that only has the voltage-gated activation (M) dynamic with a cutoff that ends up capturing a close approximation to the much more complex AK function. This is voltage gated with maximal activation around -37 mV. It is particularly important for counteracting the excitatory effects of voltage gated calcium channels which can otherwise drive runaway excitatory currents.
func (*AKsParams) Defaults ¶ added in v1.3.23
func (ap *AKsParams) Defaults()
Defaults sets the parameters for distal dendrites
func (*AKsParams) Gak ¶ added in v1.3.23
Gak returns the conductance as a function of normalized Vm GBar * MFmVnorm(v)
type Chans ¶
type Chans struct { E float32 `desc:"excitatory sodium (Na) AMPA channels activated by synaptic glutamate"` L float32 `desc:"constant leak (potassium, K+) channels -- determines resting potential (typically higher than resting potential of K)"` I float32 `desc:"inhibitory chloride (Cl-) channels activated by synaptic GABA"` K float32 `desc:"gated / active potassium channels -- typically hyperpolarizing relative to leak / rest"` }
Chans are ion channels used in computing point-neuron activation function
func (*Chans) SetFmMinusOther ¶
SetFmMinusOther sets all the values from given value minus other Chans
func (*Chans) SetFmOtherMinus ¶
SetFmOtherMinus sets all the values from other Chans minus given value
type GABABParams ¶ added in v1.2.96
type GABABParams struct { RiseTau float32 `def:"45" desc:"rise time for bi-exponential time dynamics of GABA-B"` DecayTau float32 `def:"50" desc:"decay time for bi-exponential time dynamics of GABA-B"` Gbar float32 `def:"0,0.2" desc:"overall strength multiplier of GABA-B current"` Gbase float32 `` /* 130-byte string literal not displayed */ GiSpike float32 `def:"10" desc:"multiplier for converting Gi to equivalent GABA spikes"` MaxTime float32 `inactive:"+" desc:"time offset when peak conductance occurs, in msec, computed from RiseTau and DecayTau"` TauFact float32 `view:"-" desc:"time constant factor used in integration: (Decay / Rise) ^ (Rise / (Decay - Rise))"` }
GABABParams control the GABAB dynamics in PFC Maint neurons, based on Brunel & Wang (2001) parameters.
func (*GABABParams) BiExp ¶ added in v1.2.96
func (gp *GABABParams) BiExp(g, x float32) (dG, dX float32)
BiExp computes bi-exponential update, returns dG and dX deltas to add to g and x
func (*GABABParams) Defaults ¶ added in v1.2.96
func (gp *GABABParams) Defaults()
func (*GABABParams) GABAB ¶ added in v1.2.96
func (gp *GABABParams) GABAB(gabaB, gabaBx, gi float32) (g, x float32)
GABAB returns the updated GABA-B / GIRK activation and underlying x value based on current values and gi inhibitory conductance (proxy for GABA spikes)
func (*GABABParams) GFmS ¶ added in v1.2.96
func (gp *GABABParams) GFmS(s float32) float32
GFmS returns the GABA-B conductance as a function of GABA spiking rate, based on normalized spiking factor (i.e., Gi from FFFB etc)
func (*GABABParams) GFmV ¶ added in v1.2.96
func (gp *GABABParams) GFmV(v float32) float32
GFmV returns the GABA-B conductance as a function of normalized membrane potential
func (*GABABParams) GgabaB ¶ added in v1.2.96
func (gp *GABABParams) GgabaB(gabaB, vm float32) float32
GgabaB returns the overall net GABAB / GIRK conductance including Gbar, Gbase, and voltage-gating
func (*GABABParams) Update ¶ added in v1.2.96
func (gp *GABABParams) Update()
type NMDAParams ¶ added in v1.2.96
type NMDAParams struct { Gbar float32 `` /* 172-byte string literal not displayed */ Tau float32 `` /* 256-byte string literal not displayed */ ITau float32 `` /* 196-byte string literal not displayed */ MgC float32 `` /* 257-byte string literal not displayed */ Voff float32 `` /* 209-byte string literal not displayed */ Dt float32 `view:"-" json:"-" xml:"-" desc:"rate = 1 / tau"` IDt float32 `view:"-" json:"-" xml:"-" desc:"rate = 1 / tau"` MgFact float32 `view:"-" json:"-" xml:"-" desc:"MgFact = MgC / 3.57"` }
NMDAParams control the NMDA dynamics, based on Jahr & Stevens (1990) equations which are widely used in models, from Brunel & Wang (2001) to Sanders et al. (2013). The overall conductance is a function of a voltage-dependent postsynaptic factor based on Mg ion blockage, and presynaptic Glu-based opening, which in a simple model just increments
func (*NMDAParams) CaFmV ¶ added in v1.3.1
func (np *NMDAParams) CaFmV(v float32) float32
CaFmV returns the calcium current factor as a function of normalized membrane potential -- this factor is needed for computing the calcium current * MgGFmV
func (*NMDAParams) CaFmVbio ¶ added in v1.3.1
func (np *NMDAParams) CaFmVbio(vbio float32) float32
CaFmVbio returns the calcium current factor as a function of biological membrane potential -- this factor is needed for computing the calcium current * MgGFmV. This is the same function used in VGCC for their conductance factor.
func (*NMDAParams) Defaults ¶ added in v1.2.96
func (np *NMDAParams) Defaults()
func (*NMDAParams) Gnmda ¶ added in v1.2.96
func (np *NMDAParams) Gnmda(nmda, vm float32) float32
Gnmda returns the NMDA net conductance from nmda Glu binding and Vm including the GBar factor
func (*NMDAParams) MgGFmV ¶ added in v1.3.1
func (np *NMDAParams) MgGFmV(v float32) float32
MgGFmV returns the NMDA conductance as a function of normalized membrane potential based on Mg ion blocking
func (*NMDAParams) MgGFmVbio ¶ added in v1.3.1
func (np *NMDAParams) MgGFmVbio(vbio float32) float32
MgGFmVbio returns the NMDA conductance as a function of biological membrane potential based on Mg ion blocking
func (*NMDAParams) NMDASyn ¶ added in v1.3.1
func (np *NMDAParams) NMDASyn(nmda, raw float32) float32
NMDASyn returns the updated synaptic NMDA Glu binding based on new raw spike-driven Glu binding.
func (*NMDAParams) SnmdaFmSpike ¶ added in v1.3.5
func (np *NMDAParams) SnmdaFmSpike(spike float32, snmdaO, snmdaI *float32)
SnmdaFmSpike updates sender-based NMDA channel opening based on neural spiking using the inhibition and decay factors. These dynamics closely match the Urakubo et al (2008) allosteric NMDA receptor behavior, with ITau = 100, Tau = 30
func (*NMDAParams) Update ¶ added in v1.2.97
func (np *NMDAParams) Update()
func (*NMDAParams) VFactors ¶ added in v1.3.1
func (np *NMDAParams) VFactors(v float32) (mgg, cav float32)
VFactors returns MgGFmV and CaFmV based on normalized membrane potential. Just does the voltage conversion once.
type VGCCParams ¶ added in v1.2.96
type VGCCParams struct {
Gbar float32 `def:"0.02,0.12" desc:"strength of VGCC current -- 0.12 value from Urakubo et al (2008) model"`
}
VGCCParams control the standard L-type Ca channel
func (*VGCCParams) DMHFmV ¶ added in v1.2.96
func (np *VGCCParams) DMHFmV(v, m, h float32) (float32, float32)
DMHFmV returns the change at msec update scale in M, H factors as a function of V normalized (0-1)
func (*VGCCParams) Defaults ¶ added in v1.2.96
func (np *VGCCParams) Defaults()
func (*VGCCParams) GFmV ¶ added in v1.2.96
func (np *VGCCParams) GFmV(v float32) float32
GFmV returns the VGCC conductance as a function of normalized membrane potential
func (*VGCCParams) Gvgcc ¶ added in v1.2.96
func (np *VGCCParams) Gvgcc(vm, m, h float32) float32
Gvgcc returns the VGCC net conductance from m, h activation and vm
func (*VGCCParams) HFmV ¶ added in v1.2.96
func (np *VGCCParams) HFmV(vbio float32) float32
HFmV returns the H gate function from vbio (not normalized, must not exceed 0)
func (*VGCCParams) MFmV ¶ added in v1.2.96
func (np *VGCCParams) MFmV(vbio float32) float32
MFmV returns the M gate function from vbio (not normalized, must not exceed 0)
func (*VGCCParams) Update ¶ added in v1.3.23
func (np *VGCCParams) Update()
Directories ¶
Path | Synopsis |
---|---|
gababplot plots an equation updating over time in a etable.Table and Plot2D. This is a good starting point for any plotting to explore specific equations.
|
gababplot plots an equation updating over time in a etable.Table and Plot2D. This is a good starting point for any plotting to explore specific equations. |