GraupnerBrunel2012CaPlasticitySynHandler

class GraupnerBrunel2012CaPlasticitySynHandler

The GraupnerBrunel2012CaPlasticitySynHandler handles synapseswith Ca-based plasticity as per Higgins et al. 2014 and Graupner and Brunel 2012.Note 1: Here, Ca ('chemical Ca') is updated only at each pre-spike, pre-spike+delayD and post-spike! So it is inaccurate to use it for say Ca-dependent K channels in the electrical compartment, for which you use are advised to use the CaPool i.e. 'electrical Ca'.Note 2: Ca here is post-synaptic 'chemical Ca' common for all synapses in this SynHandler, so weights of all pre-synapses connected to this SynHandler get updated at each pre-spike, pre-spike+delayD and post-spike! So if all pre-synaptic weights start out the same, they remain the same!! If you want to consider each pre-synapse independently, have independent SynHandlers for each synapse. If these SynHandlers are in the same electrical compartment, you're essentially assuming these are on different spines, with their own 'chemical Ca' which won't match the 'electrical Ca' of the compartment (=dendrite). If you put each SynHandler with a single synapse in its own electrical compartment (=spine), only then can you have an 'electrical Ca' corresponding to the 'chemical Ca'.Three priority queues are used to manage pre, post, and pre+delayD spikes.

setNumSynapse()

(destination message field) Assigns number of field entries in field array.

getNumSynapse()

(destination message field) Requests number of field entries in field array.The requesting Element must provide a handler for the returned value.

addPostSpike()

(destination message field) Handles arriving spike messages from post-synaptic neuron, inserts into postEvent queue.

setCa()

(destination message field) Assigns field value.

getCa()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setCaInit()

(destination message field) Assigns field value.

getCaInit()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTauCa()

(destination message field) Assigns field value.

getTauCa()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTauSyn()

(destination message field) Assigns field value.

getTauSyn()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setCaPre()

(destination message field) Assigns field value.

getCaPre()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setCaPost()

(destination message field) Assigns field value.

getCaPost()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setDelayD()

(destination message field) Assigns field value.

getDelayD()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setThetaP()

(destination message field) Assigns field value.

getThetaP()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setThetaD()

(destination message field) Assigns field value.

getThetaD()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setGammaP()

(destination message field) Assigns field value.

getGammaP()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setGammaD()

(destination message field) Assigns field value.

getGammaD()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setWeightMax()

(destination message field) Assigns field value.

getWeightMax()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setWeightMin()

(destination message field) Assigns field value.

getWeightMin()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setWeightScale()

(destination message field) Assigns field value.

getWeightScale()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setNoisy()

(destination message field) Assigns field value.

getNoisy()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setNoiseSD()

(destination message field) Assigns field value.

getNoiseSD()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setBistable()

(destination message field) Assigns field value.

getBistable()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

Ca

double (value field) Ca is a post-synaptic decaying variable as a proxy for Ca concentrationand receives an impulse whenever a pre- or post- spike occurs.Caution: Ca is updated via an event-based rule, so it is only updated and validwhen a pre- or post- spike has occured, or at time delayD after a pre-spike.Do not use it to control a Ca dependent current, etc.See notes in the class Description: all pre-synapses get updated via the same post-synaptic Ca.

CaInit

double (value field) CaInit is the initial value for Ca

tauCa

double (value field) tauCa is the time constant for decay of Ca

tauSyn

double (value field) tauSyn is the time constant for synaptic weight evolution equation

CaPre

double (value field) CaPre is added to Ca on every pre-spike

CaPost

double (value field) CaPost is added to Ca on every post-spike

delayD

double (value field) Time delay D after pre-spike, when Ca is increased by Capre. delayD represents NMDA rise time.

thetaP

double (value field) Potentiation threshold for CaUser must ensure thetaP>thetaD, else simulation results will be wrong.

thetaD

double (value field) Depression threshold for CaUser must ensure thetaP>thetaD, else simulation results will be wrong.

gammaP

double (value field) gammaP is the potentiation factor for synaptic weight increase if Ca>thetaP

gammaD

double (value field) gammaD is the depression factor for synaptic weight decrease if Ca>thetaD

weightMax

double (value field) An upper bound on the weight

weightMin

double (value field) A lower bound on the weight

weightScale

double (value field) Scale all pre-synaptic weights by weightScale before adding to activation (default 1.0)In the terminology of the paper Higgins et al 2012, weight is synaptic efficacy,while weightScale*weight is what finally is added to activation variable.

noisy

bool (value field) If true, turn noise on as per noiseSD

noiseSD

double (value field) Standard deviation of noise added to Ca

bistable

bool (value field) If true, the synapse is bistable as in GraupnerBrunel2012 paper.The effect of potential on the weight update is usually ignorable if Ca is above thetaP and thetaD most of the time.