"""\
Add a single synapse to the neuron model to test calcium and plasticity
"""
from __future__ import print_function, division
import moose
from moose_nerp.prototypes import (connect,
plasticity,
logutil)
log = logutil.Logger()
def plasticity_test(model, syncomp, syn_pop, stimtimes):
plast={}
stimtab={}
if model.calYN and model.plasYN:
neu = moose.Neutral('/input')
for neurtype in model.neurontypes():
stimtab[neurtype]=moose.TimeTable('%s/TimTab%s' % (neu.path, neurtype))
stimtab[neurtype].vector = stimtimes
syntype = model.CaPlasticityParams.Plas_syn.Name
print(syntype,neurtype,syncomp)
synchan=moose.element(syn_pop[neurtype][syntype][syncomp])
log.info('Synapse added to {.path}', synchan)
connect.synconn(synchan,0,stimtab[neurtype], model.param_syn)
###Synaptic Plasticity
plast[neurtype] = plasticity.plasticity(synchan,model.CaPlasticityParams.Plas_syn)
return plast, stimtab