-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtypegen.go
31 lines (17 loc) · 14.8 KB
/
typegen.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Code generated by "core generate -add-types"; DO NOT EDIT.
package chans
import (
"cogentcore.org/core/types"
)
var _ = types.AddType(&types.Type{Name: "github.com/emer/axon/v2/chans.AKParams", IDName: "ak-params", Doc: "AKParams control an A-type K channel, which is voltage gated with maximal\nactivation around -37 mV. It has two state variables, M (v-gated opening)\nand H (v-gated closing), which integrate with fast and slow time constants,\nrespectively. H relatively quickly hits an asymptotic level of inactivation\nfor sustained activity patterns.\nIt is particularly important for counteracting the excitatory effects of\nvoltage gated calcium channels which can otherwise drive runaway excitatory currents.\nSee AKsParams for a much simpler version that works fine when full AP-like spikes are\nnot simulated, as in our standard axon models.", Fields: []types.Field{{Name: "Gbar", Doc: "strength of AK current"}, {Name: "Beta", Doc: "multiplier for the beta term; 0.01446 for distal, 0.02039 for proximal dendrites"}, {Name: "Dm", Doc: "Dm factor: 0.5 for distal, 0.25 for proximal"}, {Name: "Koff", Doc: "offset for K, 1.8 for distal, 1.5 for proximal"}, {Name: "Voff", Doc: "voltage offset for alpha and beta functions: 1 for distal, 11 for proximal"}, {Name: "Hf", Doc: "h multiplier factor, 0.1133 for distal, 0.1112 for proximal"}, {Name: "pad"}, {Name: "pad1"}}})
var _ = types.AddType(&types.Type{Name: "github.com/emer/axon/v2/chans.AKsParams", IDName: "a-ks-params", Doc: "AKsParams provides a highly simplified stateless A-type K channel\nthat only has the voltage-gated activation (M) dynamic with a cutoff\nthat ends up capturing a close approximation to the much more complex AK function.\nThis is voltage gated with maximal activation around -37 mV.\nIt is particularly important for counteracting the excitatory effects of\nvoltage gated calcium channels which can otherwise drive runaway excitatory currents.", Directives: []types.Directive{{Tool: "gosl", Directive: "start", Args: []string{"chans"}}}, Fields: []types.Field{{Name: "Gbar", Doc: "strength of AK current"}, {Name: "Hf", Doc: "H factor as a constant multiplier on overall M factor result -- rescales M to level consistent with H being present at full strength"}, {Name: "Mf", Doc: "multiplier for M -- determines slope of function"}, {Name: "Voff", Doc: "voltage offset in biological units for M function"}, {Name: "Vmax"}, {Name: "pad"}, {Name: "pad1"}, {Name: "pad2"}}})
var _ = types.AddType(&types.Type{Name: "github.com/emer/axon/v2/chans.Chans", IDName: "chans", Doc: "Chans are ion channels used in computing point-neuron activation function", Directives: []types.Directive{{Tool: "go", Directive: "generate", Args: []string{"core", "generate", "-add-types"}}, {Tool: "gosl", Directive: "hlsl", Args: []string{"chans"}}, {Tool: "gosl", Directive: "end", Args: []string{"chans"}}, {Tool: "gosl", Directive: "start", Args: []string{"chans"}}}, Fields: []types.Field{{Name: "E", Doc: "excitatory sodium (Na) AMPA channels activated by synaptic glutamate"}, {Name: "L", Doc: "constant leak (potassium, K+) channels -- determines resting potential (typically higher than resting potential of K)"}, {Name: "I", Doc: "inhibitory chloride (Cl-) channels activated by synaptic GABA"}, {Name: "K", Doc: "gated / active potassium channels -- typically hyperpolarizing relative to leak / rest"}}})
var _ = types.AddType(&types.Type{Name: "github.com/emer/axon/v2/chans.GABABParams", IDName: "gabab-params", Doc: "GABABParams control the GABAB dynamics in PFC Maint neurons,\nbased on Brunel & Wang (2001) parameters.", Directives: []types.Directive{{Tool: "gosl", Directive: "start", Args: []string{"chans"}}}, Fields: []types.Field{{Name: "Gbar", Doc: "overall strength multiplier of GABA-B current. The 0.015 default is a high value that works well in smaller networks -- larger networks may benefit from lower levels (e.g., 0.012)."}, {Name: "RiseTau", Doc: "rise time for bi-exponential time dynamics of GABA-B"}, {Name: "DecayTau", Doc: "decay time for bi-exponential time dynamics of GABA-B"}, {Name: "Gbase", Doc: "baseline level of GABA-B channels open independent of inhibitory input (is added to spiking-produced conductance)"}, {Name: "GiSpike", Doc: "multiplier for converting Gi to equivalent GABA spikes"}, {Name: "MaxTime", Doc: "time offset when peak conductance occurs, in msec, computed from RiseTau and DecayTau"}, {Name: "TauFact", Doc: "time constant factor used in integration: (Decay / Rise) ^ (Rise / (Decay - Rise))"}, {Name: "RiseDt", Doc: "1/Tau"}, {Name: "DecayDt", Doc: "1/Tau"}, {Name: "pad"}, {Name: "pad1"}, {Name: "pad2"}}})
var _ = types.AddType(&types.Type{Name: "github.com/emer/axon/v2/chans.KirParams", IDName: "kir-params", Doc: "KirParams control the Kir potassium inwardly rectifying current,\nbased on the equations from Lindroos et al (2018).\nThe conductance is highest at low membrane potentials", Directives: []types.Directive{{Tool: "gosl", Directive: "start", Args: []string{"chans"}}}, Fields: []types.Field{{Name: "Gbar", Doc: "overall strength multiplier of Kir current."}, {Name: "MinfOff", Doc: "Asymptotic gating factor M, offset"}, {Name: "MinfTau", Doc: "Asymptotic gating factor M, time constant"}, {Name: "RiseOff", Doc: "Rise time constant as a function of voltage, offset"}, {Name: "RiseTau", Doc: "Rise time constant as a function of voltage, time constant factor"}, {Name: "DecayOff", Doc: "Decay time constant as a function of voltage, offset"}, {Name: "DecayTau", Doc: "Decay time constant as a function of voltage, time constant factor"}, {Name: "Mrest", Doc: "Mrest is Minf at resting membrane potential of -70, computed from other params"}}})
var _ = types.AddType(&types.Type{Name: "github.com/emer/axon/v2/chans.KNaParams", IDName: "k-na-params", Doc: "KNaParams implements sodium (Na) gated potassium (K) currents\nthat drive adaptation (accommodation) in neural firing.\nAs neurons spike, driving an influx of Na, this activates\nthe K channels, which, like leak channels, pull the membrane\npotential back down toward rest (or even below).", Directives: []types.Directive{{Tool: "gosl", Directive: "start", Args: []string{"chans"}}}, Fields: []types.Field{{Name: "On", Doc: "if On, use this component of K-Na adaptation"}, {Name: "Rise", Doc: "Rise rate of fast time-scale adaptation as function of Na concentration due to spiking -- directly multiplies -- 1/rise = tau for rise rate"}, {Name: "Max", Doc: "Maximum potential conductance of fast K channels -- divide nA biological value by 10 for the normalized units here"}, {Name: "Tau", Doc: "time constant in cycles for decay of adaptation, which should be milliseconds typically (tau is roughly how long it takes for value to change significantly -- 1.4x the half-life)"}, {Name: "Dt", Doc: "1/Tau rate constant"}, {Name: "pad"}, {Name: "pad1"}, {Name: "pad2"}}})
var _ = types.AddType(&types.Type{Name: "github.com/emer/axon/v2/chans.KNaMedSlow", IDName: "k-na-med-slow", Doc: "KNaMedSlow describes sodium-gated potassium channel adaptation mechanism.\nEvidence supports 2 different time constants:\nSlick (medium) and Slack (slow)", Fields: []types.Field{{Name: "On", Doc: "if On, apply K-Na adaptation"}, {Name: "TrialSlow", Doc: "engages an optional version of Slow that discretely turns on at start of new trial (NewState): nrn.GknaSlow += Slow.Max * nrn.SpkPrv -- achieves a strong form of adaptation"}, {Name: "pad"}, {Name: "pad1"}, {Name: "Med", Doc: "medium time-scale adaptation"}, {Name: "Slow", Doc: "slow time-scale adaptation"}}})
var _ = types.AddType(&types.Type{Name: "github.com/emer/axon/v2/chans.MahpParams", IDName: "mahp-params", Doc: "MahpParams implements an M-type medium afterhyperpolarizing (mAHP) channel,\nwhere m also stands for muscarinic due to the ACh inactivation of this channel.\nIt has a slow activation and deactivation time constant, and opens at a lowish\nmembrane potential.\nThere is one gating variable n updated over time with a tau that is also voltage dependent.\nThe infinite-time value of n is voltage dependent according to a logistic function\nof the membrane potential, centered at Voff with slope Vslope.", Directives: []types.Directive{{Tool: "gosl", Directive: "start", Args: []string{"chans"}}}, Fields: []types.Field{{Name: "Gbar", Doc: "strength of mAHP current"}, {Name: "Voff", Doc: "voltage offset (threshold) in biological units for infinite time N gating function -- where the gate is at 50% strength"}, {Name: "Vslope", Doc: "slope of the arget (infinite time) gating function"}, {Name: "TauMax", Doc: "maximum slow rate time constant in msec for activation / deactivation. The effective Tau is much slower -- 1/20th in original temp, and 1/60th in standard 37 C temp"}, {Name: "Tadj", Doc: "temperature adjustment factor: assume temp = 37 C, whereas original units were at 23 C"}, {Name: "DtMax", Doc: "1/Tau"}, {Name: "pad"}, {Name: "pad2"}}})
var _ = types.AddType(&types.Type{Name: "github.com/emer/axon/v2/chans.NMDAParams", IDName: "nmda-params", Doc: "NMDAParams control the NMDA dynamics, based on Jahr & Stevens (1990) equations\nwhich are widely used in models, from Brunel & Wang (2001) to Sanders et al. (2013).\nThe overall conductance is a function of a voltage-dependent postsynaptic factor based\non Mg ion blockage, and presynaptic Glu-based opening, which in a simple model just\nincrements", Directives: []types.Directive{{Tool: "gosl", Directive: "start", Args: []string{"chans"}}}, Fields: []types.Field{{Name: "Gbar", Doc: "overall multiplier for strength of NMDA current -- multiplies GnmdaSyn to get net conductance."}, {Name: "Tau", Doc: "decay time constant for NMDA channel activation -- rise time is 2 msec and not worth extra effort for biexponential. 30 fits the Urakubo et al (2008) model with ITau = 100, but 100 works better in practice is small networks so far."}, {Name: "ITau", Doc: "decay time constant for NMDA channel inhibition, which captures the Urakubo et al (2008) allosteric dynamics (100 fits their model well) -- set to 1 to eliminate that mechanism."}, {Name: "MgC", Doc: "magnesium ion concentration: Brunel & Wang (2001) and Sanders et al (2013) use 1 mM, based on Jahr & Stevens (1990). Urakubo et al (2008) use 1.5 mM. 1.4 with Voff = 5 works best so far in large models, 1.2, Voff = 0 best in smaller nets."}, {Name: "Voff", Doc: "offset in membrane potential in biological units for voltage-dependent functions. 5 corresponds to the -65 mV rest, -45 threshold of the Urakubo et al (2008) model. 5 was used before in a buggy version of NMDA equation -- 0 is new default."}, {Name: "Dt", Doc: "rate = 1 / tau"}, {Name: "IDt", Doc: "rate = 1 / tau"}, {Name: "MgFact", Doc: "MgFact = MgC / 3.57"}}})
var _ = types.AddType(&types.Type{Name: "github.com/emer/axon/v2/chans.SahpParams", IDName: "sahp-params", Doc: "SahpParams implements a slow afterhyperpolarizing (sAHP) channel,\nIt has a slowly accumulating calcium value, aggregated at the\ntheta cycle level, that then drives the logistic gating function,\nso that it only activates after a significant accumulation.\nAfter which point it decays.\nFor the theta-cycle updating, the normal m-type tau is all within\nthe scope of a single theta cycle, so we just omit the time integration\nof the n gating value, but tau is computed in any case.", Directives: []types.Directive{{Tool: "gosl", Directive: "start", Args: []string{"chans"}}}, Fields: []types.Field{{Name: "Gbar", Doc: "strength of sAHP current"}, {Name: "CaTau", Doc: "time constant for integrating Ca across theta cycles"}, {Name: "Off", Doc: "integrated Ca offset (threshold) for infinite time N gating function -- where the gate is at 50% strength"}, {Name: "Slope", Doc: "slope of the infinite time logistic gating function"}, {Name: "TauMax", Doc: "maximum slow rate time constant in msec for activation / deactivation. The effective Tau is much slower -- 1/20th in original temp, and 1/60th in standard 37 C temp"}, {Name: "CaDt", Doc: "1/Tau"}, {Name: "DtMax", Doc: "1/Tau"}, {Name: "pad"}}})
var _ = types.AddType(&types.Type{Name: "github.com/emer/axon/v2/chans.SKCaParams", IDName: "sk-ca-params", Doc: "SKCaParams describes the small-conductance calcium-activated potassium channel,\nactivated by intracellular stores in a way that drives pauses in firing,\nand can require inactivity to recharge the Ca available for release.\nThese intracellular stores can release quickly, have a slow decay once released,\nand the stores can take a while to rebuild, leading to rapidly triggered,\nlong-lasting pauses that don't recur until stores have rebuilt, which is the\nobserved pattern of firing of STNp pausing neurons.\nCaIn = intracellular stores available for release; CaR = released amount from stores\nCaM = K channel conductance gating factor driven by CaR binding,\ncomputed using the Hill equations described in Fujita et al (2012), Gunay et al (2008)\n(also Muddapu & Chakravarthy, 2021): X^h / (X^h + C50^h) where h ~= 4 (hard coded)", Directives: []types.Directive{{Tool: "gosl", Directive: "start", Args: []string{"chans"}}}, Fields: []types.Field{{Name: "Gbar", Doc: "overall strength of sKCa current -- inactive if 0"}, {Name: "C50", Doc: "50% Ca concentration baseline value in Hill equation -- set this to level that activates at reasonable levels of SKCaR"}, {Name: "ActTau", Doc: "K channel gating factor activation time constant -- roughly 5-15 msec in literature"}, {Name: "DeTau", Doc: "K channel gating factor deactivation time constant -- roughly 30-50 msec in literature"}, {Name: "KCaR", Doc: "proportion of CaIn intracellular stores that are released per spike, going into CaR"}, {Name: "CaRDecayTau", Doc: "SKCaR released calcium decay time constant"}, {Name: "CaInThr", Doc: "level of time-integrated spiking activity (CaSpkD) below which CaIn intracelluar stores are replenished -- a low threshold can be used to require minimal activity to recharge -- set to a high value (e.g., 10) for constant recharge."}, {Name: "CaInTau", Doc: "time constant in msec for storing CaIn when activity is below CaInThr"}, {Name: "ActDt", Doc: "rate = 1 / tau"}, {Name: "DeDt", Doc: "rate = 1 / tau"}, {Name: "CaRDecayDt", Doc: "rate = 1 / tau"}, {Name: "CaInDt", Doc: "rate = 1 / tau"}}})
var _ = types.AddType(&types.Type{Name: "github.com/emer/axon/v2/chans.VGCCParams", IDName: "vgcc-params", Doc: "VGCCParams control the standard L-type Ca channel\nAll functions based on Urakubo et al (2008).\nSource code available at http://kurodalab.bs.s.u-tokyo.ac.jp/info/STDP/Urakubo2008.tar.gz.\nIn particular look at the file MODEL/Poirazi_cell/CaL.g.", Directives: []types.Directive{{Tool: "gosl", Directive: "start", Args: []string{"chans"}}}, Fields: []types.Field{{Name: "Gbar", Doc: "strength of VGCC current -- 0.12 value is from Urakubo et al (2008) model -- best fits actual model behavior using axon equations (1.5 nominal in that model), 0.02 works better in practice for not getting stuck in high plateau firing"}, {Name: "Ca", Doc: "calcium from conductance factor -- important for learning contribution of VGCC"}, {Name: "pad"}, {Name: "pad1"}}})