# Records
spine_records = [
{'variable':'cai','location':0.5,'unit':'mM'}
,{'variable':'gluti','location':0.5,'unit':'mM'}
,{'variable':'v','location':0.5,'unit':'mV'}
,{'variable':'ica','location':0.5,'unit':'mM'}
,{'variable':'iampa','point_process':'AMPA','location':0.5,'unit':'nA'}
,{'variable':'U_SE_factor','point_process':'AMPA','location':0.5,'unit':''}
,{'variable':'U_SE','point_process':'AMPA','location':0.5,'unit':''}
,{'variable':'inmda','point_process':'NMDA','location':0.5,'unit':'nA'}
,{'variable':'ica','point_process':'NMDA','location':0.5,'unit':'nA'}
,{'variable':'mgb','point_process':'NMDA','location':0.5,'unit':'nA'}
,{'variable':'iglut','location':0.5,'unit':'mM'}
,{'variable':'RM','point_process':'RMECB','location':0.5,'unit':'mM'}
,{'variable':'RMr','point_process':'RMECB','location':0.5,'unit':'mM'}# ,{'variable':'RMBLKe','point_process':'RMECB','location':0.5,'unit':'??'}
,{'variable':'RMBLK','point_process':'RMECB','location':0.5,'unit':'mM'}
,{'variable':'post_intra','point_process':'RMECB','location':0.5,'unit':'mM'}
,{'variable':'proBDNF','point_process':'BDNF','location':0.5,'unit':'mM'}
,{'variable':'fused_vesicles','point_process':'BDNF','location':0.5,'unit':'#'}
,{'variable':'mBDNF','point_process':'BDNF','location':0.5,'unit':'mM'}
,{'variable':'PC','point_process':'BDNF','location':0.5,'unit':'mM'}
,{'variable':'TrkB','point_process':'BDNF','location':0.5,'unit':'mM'}
,{'variable':'intracell_signaling','point_process':'BDNF','location':0.5,'unit':'mM'}
,{'variable':'g_factor','point_process':'AMPA','location':0.5,'unit':''}
]
Vrest = -70 # mV
Rm = 26000
RmDend = Rm
RaAll= 150
CmDend = 1.4
gna = 0.07
nash = 0
gkdr = 0.055
kdrsh = 0
gc = 1.e-5
gcalbar = 0.5
gcatbar = 0.2
gcanbar = 0.5
temperature = 35 # deg
erev_na = 55 # mV
erev_k = -90 # mV
check = False #True
IC_delay_to_spike = 1.3 # ms
gc = 52e-5; # gives a BPAP [Ca]i amp = 1.71 uM, from 0.1 to 1.81 uM
nspines = 12
nspines_2 = 5
sp_delay_env = 8
spine_point_processes=[
{'label':'RMECB',
'type':'RM_eCB',
'locations':[0.5],
'parameters':{'tau_RM': 7e3, #1800e3, # next 10e3 #ms
'theta_cai_RM': 0.046, # mM this is tuned to distinguish between LTP1:4 deltat=5ms and LTP1:1 deltat=-5ms
'sigma_cai_RM' : 0.01e-3, # mM
'alpha_cai_RMBLK': 1.5e-2, # mM/ms
'theta_cai_RMBLK' : 0.12, # mM
'sigma_cai_RMBLK' : 0.0001, # mM
'tau_RMBLK' : 1e5, # mM
'tau_RMLTP11':1800e3*1.2, # ms
'alpha_RMru':1.1,#1.0,#0.54,
'theta_RMru':0.15,
'sigma_RMru':0.001,
'tau_RM_RMr':1e3,
'alpha_RM_RMr':1,
'theta_RM_RMr': 0.02,
'sigma_RM_RMr': 0.001
}}, # to get 150% LTP as in Edlmann et al. 2015
{'label':'AMPA',
'type':'Wghkampa_preML',
'locations':[0.5],
'parameters':{'Pmax':4e-6,
'glut_factor': 40}},
{'label':'BDNF',
'type':'BDNF',
'locations':[0.5],
'parameters':{'theta_cai_BDNF': 0.1038,
'max_cai_BDNF': 0.16,
'max_BDNF_rel_delay' : 300e3,
'alpha_gAMPA': 1.5, #4.8,
'theta_gAMPA': 0.01,#0.038,
'sigma_gAMPA': 0.00001,#0.0015,
'shift_gAMPA': 0,
'v_BDNF':0.002*1.0,
'proBDNF_fraction':0.3,
'duration_BDNF_release':1500e3}},
{'label':'NMDA',
'type':'ghknmda',
'locations':[0.5],
'parameters':{'Pmax':4e-6*4.5,
'mg':0.0001,
'mgb_k':0.22,
'Area': 1.0}}]
# Spike-EPSP envelop
spike_delay_rnd = 8
Block_RMBLK = 0
PPR = True
time_on_initialization = 100e3 # ms 600e3 = 10 min
time_to_begin_induction = 20e3 # ms
nstim = 70
induction_freq = 0.5 # Hz
BPAP_stimulus_amplitude = 5 # nA
BPAP_stimulus_amplitude_branch = 0.08 # nA
BPAP_dep_stimulus_duration = 2.5 # ms
BPAP_hyp_stimulus_duration = 0 # ms
time_after_induction = 0 # ms
test_freq = 0.05 # Hz = 1/(20sec)
time_start_induction = time_on_initialization + time_to_begin_induction
test_post_point_to_plot_interval = 2*60*1e3 # ms = 2 min see Fig1B of Edelmann2015
time_of_expression = 1800e3 # ms = 30 min
activate_LTP_protocol = True
# time_delta = [-30,-20, -10, -5]
time_delta = [ -5, -5, -5, -5]
# time_delta = [-10, -10, -10, -10]
override_tstop = None
ca_tuning = False
if ca_tuning:
time_on_initialization = 1e3 # ms
time_to_begin_induction = 100 # ms
nstim = 35
induction_freq = 0.5 # Hz
BPAP_stimulus_amplitude = 0.35 # nA
BPAP_stimulus_amplitude_branch = 0.08 # nA
BPAP_dep_stimulus_duration = 3 # ms
BPAP_hyp_stimulus_duration = 0 # ms
time_after_induction = 0 # ms
test_freq = 0.05 # Hz = 1/(20sec)
time_start_induction = time_on_initialization + time_to_begin_induction
test_post_point_to_plot_interval = 2*60*1e3 # ms = 2 min see Fig1B of Edelmann2015
time_of_expression = 1800e3 # ms = 30 min
activate_LTP_protocol = True
time_delta = list(range(-15,16,5))#[-10, -5]#[-20, -15, -10, -5, 0, 5, 10, 15, 20] # ms [-10, -5, 10]#
override_tstop = 5e3
data_file = 'store_multi'
# Settings for Figures
# Figure list
figure_size = (6,6)
panels = {'vm spine':(0.05,0,0.3,0.3),
'cai':(0.05,0.4,0.3,0.3),
'use':(0.7,0,0.3,0.3),
'gfactor':(0.4,0.7,0.3,0.3),
# 'Spine EPSP':(0.7,0,0.3,0.3),
# 'Soma EPSP':(0.4,0.7,0.3,0.3),
# 'fused vesicles':(0.7,0.4,0.3,0.3)
}
panels_seq = ['vm spine','cai',
#'Spine EPSP','Soma EPSP',
'use','gfactor',#'use_trans',
# 'fused vesicles',None,
# 'rm','bdnf',
]
single_figures = {
'vm spine':(0.05,0,0.3,0.3),
'cai':(0.05,0.4,0.3,0.3),
'Cont EPSP':(0.7,0,0.3,0.3),
'Pot EPSP':(0.4,0.7,0.3,0.3),
'U_SE':(0.7,0.4,0.3,0.3),#'fused vesicles':(0.7,0.4,0.3,0.3),
'bdnf':(),
'trkb':(),
'use':(),
'rm':(),
'rmd':(),
'gfactor':()
}
summary_panels = {'EPSP_sl':[['#DC143C','d',2,14],['#00008B','s',1,14],['g','+',1,14]],
'STDP':['#DC143C','#00008B']}
# panels = {'vm_spine':(4,3,1),
# 'cai':(4,3,4),
# 'Cont_EPSP':(4,3,7),
# 'Pot_EPSP':(4,3,8),
# 'fused_vesicles':(4,3,10)
# }
paper_fig_panels = [
'LTP','vm_branch_pre','vm_branch_post'
,'rm','bdnf'
]
one_spine = [
# ['Spine_9/head_9','r'],
# ['Spine_8/head_8','k'],
# ['Spine_7/head_7','g'],
# ['Spine_6/head_6','c'],
# ['Spine_5/head_5','y'],
# ['Spine_4/head_4','b'],
# ['Spine_3/head_3','m'],
# ['Spine_2/head_2','k'],
# ['Spine_1/head_1','g'],
['Spine_0/head_0','k']
]
one_spine_soma = [
# ['Spine_9/head_9','r'],
# ['Spine_8/head_8','k'],
# ['Spine_7/head_7','g'],
# ['Spine_6/head_6','c'],
# ['Spine_5/head_5','y'],
# ['Spine_4/head_4','b'],
# ['Spine_3/head_3','m'],
# ['Spine_2/head_2','k'],
# ['Spine_1/head_1','g'],
['Spine_0/head_0','k'],
['soma','k']]
all_spines = [
['Spine_17/head_17','lightgreen'],
['Spine_16/head_16','lightgreen'],
['Spine_15/head_15','lightgreen'],
['Spine_14/head_14','lightgreen'],
['Spine_13/head_13','darkgreen'],
['Spine_12/head_12','lightcoral'],
['Spine_11/head_11','coral'],
['Spine_10/head_10','lime'],
['Spine_9/head_9','lime'],
['Spine_8/head_8','salmon'],
['Spine_7/head_7','g'],
['Spine_6/head_6','c'],
['Spine_5/head_5','y'],
['Spine_4/head_4','b'],
['Spine_3/head_3','m'],
['Spine_2/head_2','gray'],
['Spine_1/head_1','k'],
['Spine_0/head_0','r'],
]
all_spines_soma = [
['Spine_9/head_9','lime'],
['Spine_8/head_8','salmon'],
['Spine_7/head_7','g'],
['Spine_6/head_6','c'],
['Spine_5/head_5','y'],
['Spine_4/head_4','b'],
['Spine_3/head_3','m'],
['Spine_2/head_2','gray'],
['Spine_1/head_1','k'],
['Spine_0/head_0','r'],
['soma','r']
]
figure_list = {
'cai':{'title':'Spine $\mathrm{[Ca^{2+}]}$',
'varnames':[['cai','k']],
'hdf5_section':all_spines,
'location':0.5,
'legend':True,
'time_window':[['first_induction',
-40,
+80]],
'xunit':'ms',
'xlabel':'Time',
# 'ylim':[0,0.17],
'ylabel':'Concentration',
'thresholds':[spine_point_processes[0]['parameters']['theta_cai_RM'],
spine_point_processes[0]['parameters']['theta_cai_RMBLK'],
spine_point_processes[2]['parameters']['theta_cai_BDNF']]}
,'vm spine':{'title':'EPSP + BPAP',
'varnames':[['v','k']],
'hdf5_section':one_spine,
'location':0.5,
'xunit':'ms',
'legend':False,
'xlabel':'Time',
'ylim':[-72,0],
'ylabel':'Memb. pot.',
'time_window':[['first_induction',
-40,
+80]]
}
,'Cont EPSP':{'title':'EPSP before LTP',
'hdf5_section':all_spines_soma,
'varnames':['vm'],
'time_window':[['pre_induction',
-20,
+80]],
'xlabel':'Time',
'legend':False,
'xunit':'ms',
'ylabel':'Memb. pot.',
'unit':'mV'}
,'Pot EPSP':{'title':'EPSP after LTP',
'hdf5_section':all_spines_soma,
'varnames':['vm'],
'time_window':[['post_expression',
-20,
+80]],
'xlabel':'Time',
'xunit':'ms',
'ylabel':'Memb. pot.',
'unit':'mV'}
,'Spine EPSP':{'title':'EPSP at spine',
'hdf5_section':one_spine,
'varnames':['vm'],
'time_window':[['pre_induction',
-20,
+80],
['post_expression',
-20,
+80]],
'xlabel':'Time',
'legend':False,
'xunit':'ms',
'ylabel':'Memb. pot.',
'unit':'mV'}
,'Soma EPSP':{'title':'EPSP at soma',
'hdf5_section':[['soma','k']],
'varnames':['vm'],
'time_window':[['pre_induction',
-20,
+80],
['post_expression',
-20,
+80]],
'xlabel':'Time',
'legend':False,
'xunit':'ms',
'ylabel':'Memb. pot.',
'unit':'mV'}
,'fused vesicles':{'title':'Fused BDNF vesicles',
'varnames':[['fused_vesicles','k']],
'hdf5_section':all_spines,
'location':0.5,
'xunit':'min',
'legend':False,
'xlabel':'Time',
'ylabel':'Count',
# 'ylim':[0,70],
'time_window':[['full',
-20,
+80]],
}
,'vm_branch_pre':{'title':'Memb. pot. in branch',
'varnames':[['branch_base_v','Blues']],
'hdf5_section':['pyr2005'],
'location':0.5,
'time_window':[[
'pre_induction', # period
2, # index
-20, # pre time window
+100]], # post time window
'xunit':'ms',
'legend':False,
'xlabel':'Time',
'ylabel':'Voltage'}
# ,'vm_branch_post':{'title':'Memb. pot. in branch',
# 'varnames':[['branch_base_v','Blues']],
# 'hdf5_section':['pyr2005'],
# 'location':0.5,
# 'time_window':[[
# 'post_expression', # period
# -10, # index
# -20, # pre time window
# +100]], # post time window
# 'xunit':'ms',
# 'legend':False,
# 'xlabel':'Time',
# 'ylabel':'Voltage'}
,'LTP':{'title':'Plasticity',
'varnames':[],
'hdf5_section':['pyr2005'],
'xlabel':'Time',
'legend':False,
'ylabel':'Change',
'unit':'%'}
,'STDP':{'title':'STDP',
'varnames':[],
'hdf5_section':['Spine_9/head_9'],
'location':0.5,
'time_window':[['first_induction',
-20,
+200]],
'xunit':'ms',
'legend':False,
'xlabel':'Time',
'ylabel':'Change',
'unit':'%'}
,'PPR':{'title':'PPR',
'varnames':[],
'hdf5_section':['Spine_9/head_9'],
'location':0.5,
'time_window':[['first_induction',
-20,
+200]],
'xunit':'ms',
'legend':False,
'xlabel':'Time',
'ylabel':'Change',
'unit':'%'}
,'rm':{'title':'Presynaptic plasticity chain',
'varnames':[['RM','r'],['RMr','k']],
'hdf5_section':all_spines,
'xunit':'min',
'location':0.5,
'time_window':[['full',
-20,
+80]],
'xlabel':'Time',
'legend':False,
'ylabel':'Concentration'}
,'fullrm':{'title':'Presynaptic plasticity chain',
# 'varnames':[['RM','r'],['RMr','k'],['RMBLK','g'],['U_SE','b'],['post_intra','m']],
'varnames':[['RM','r'],['RMr','k'],['post_intra','m']],
'hdf5_section':all_spines,
'xunit':'min',
'location':0.5,
'time_window':[['full',
-20,
+80]],
'xlabel':'Time',
'legend':False,
'ylabel':'Concentration'}
,'rmd':{'title':'Presynaptic plasticity chain',
'varnames':[['RMBLK','g']],
'hdf5_section':all_spines,
'xunit':'min',
'location':0.5,
'time_window':[['full',
-20,
+80]],
'xlabel':'Time',
'legend':False,
'ylabel':'Concentration'}
,'use':{'title':'Glutammate release',
'varnames':[['U_SE','k']],
'hdf5_section':all_spines,
'xunit':'min',
'yunit':'\%',
'moltiplier':1000,
'location':0.5,
'time_window':[['full',
-20,
+80]],
'ylim':[98,162],
'xlabel':'Time',
'legend':False,
'ylabel':'Norm. rel.',
'numbers':True}
,'bdnf':{'title':'Released BDNF',
'varnames':[['proBDNF','k'],['mBDNF','r'],['PC','b']],
'hdf5_section':all_spines,
'xunit':'min',
'location':0.5,
'time_window':[['full',
-20,
+80]],
'xlabel':'Time',
'legend':False,
'thresholds':[spine_point_processes[2]['parameters']['theta_gAMPA']],
'ylabel':'Concentration'}
,'fullbdnf':{'title':'Post synaptic signaling',
'varnames':[['mBDNF','r'],['TrkB','g'],['intracell_signaling','y'],['g_factor','c']],
# 'varnames':[['intracell_signaling','y'],['g_factor','c']],
# 'varnames':[['g_factor','c']],
# 'varnames':[['mBDNF','r'],['TrkB','g'],['g_factor','c']],
'hdf5_section':all_spines,
'xunit':'min',
'location':0.5,
'time_window':[['full',
-20,
+80]],
'xlabel':'Time',
# 'ylim':(0,40e-3),
'legend':False,
'ylabel':'Concentration'}
,'trkb':{'title':'Postsynaptic TrkB',
'varnames':[['TrkB','g']],
'hdf5_section':all_spines,
'xunit':'min',
'location':0.5,
'time_window':[['full',
-20,
+80]],
'xlabel':'Time',
'legend':False,
'ylabel':'Concentration'}
,'gfactor':{'title':'Effective AMPA cond.',
'varnames':[['g_factor','c']],
'hdf5_section':all_spines,
'xunit':'min',
'yunit':'\%',
'moltiplier':100,
'location':0.5,
'time_window':[['full',
-20,
+80]],
'ylim':[98,230],
'legend':False,
'xlabel':'Time',
'ylabel':'Norm. cond.'}
# ,'Peak_EPSP':{'title':'EPSP Peak',
# 'varnames':[['v','Blues']],
# 'hdf5_section':['pyr2005/branch_base'],
# 'location':0.5,
# 'time_window':['first_test_post',#'first_induction',
# -60e3*10,
# 'end'],
# 'xunit':'min',
# 'xlabel':'Time',
# 'ylabel':'%',
# 'panel':(4,3,2)}
,'syn_eff':{'title':'Synaptic efficacy',
'varnames':[['U_SE_factor','b'],['g_factor','g']],
'hdf5_section':['Spine_0/head_0',
'Spine_1/head_1',
'Spine_2/head_2',
'Spine_3/head_3'],
'location':0.5,
'time_window':[['first_test_post',#'first_induction',
-20e3,
'end']],
'xunit':'min',
'xlabel':'Time',
'legend':False,
'ylabel':'Efficacy',
'panel':(4,3,5)}
,'control':{'title':'NMDA current in control',
'varnames':[['iampa','b'],['inmda','g']],
'hdf5_section':['Spine_9/head_9'],
'location':0.5,
'time_window':[['second_test_pre',
-20,
+200]],
'xunit':'ms',
'legend':False,
'xlabel':'Time',
'ylabel':'Current'}
,'post_expression':{'title':'Syn current potentiated',
'varnames':[['iampa','Blues'],['inmda','Reds']],
'hdf5_section':['Spine_9/head_9'],
'location':0.5,
'time_window':[['first_test_post',
-20,
+200]],
'xunit':'ms',
'legend':False,
'xlabel':'Time',
'ylabel':'Current'}
}
protocols = {
'LTP14':{
'BPAP_dep_stimulus_duration':2.5, # ms
'BPAP_hyp_stimulus_duration':0, # ms
'n_BPAP':4,
'activate_LTP_protocol':True,
'nstim':25,
'repeat_protocol':1,
'color':'r'}
# ,'LTP14_2':{
# 'BPAP_dep_stimulus_duration':2.5, # ms
# 'BPAP_hyp_stimulus_duration':0, # ms
# 'n_BPAP':4,
# 'activate_LTP_protocol':True,
# 'nstim':25,
# 'repeat_protocol':1,
# 'color':'r'}
# ,'1EPSP':{
# 'BPAP_dep_stimulus_duration':0, # ms
# 'BPAP_hyp_stimulus_duration':0, # ms
# 'activate_LTP_protocol':True,
# 'n_BPAP':0,
# 'nstim':70,
# 'repeat_protocol':1,
# 'color':'#FF4500'}
,'LTP11':{
'BPAP_dep_stimulus_duration':2.5, # ms
'BPAP_hyp_stimulus_duration':0, # ms
'n_BPAP':1,
'activate_LTP_protocol':True,
'nstim':70,
'repeat_protocol':1,
'color':'b'}
# ,'LTP14_RMBLK':{
# 'BPAP_dep_stimulus_duration':2.5, # ms
# 'BPAP_hyp_stimulus_duration':0, # ms
# 'n_BPAP':4,
# 'activate_LTP_protocol':True,
# 'nstim':25,
# 'Block_RMBLK':True,
# 'repeat_protocol':1,
# 'color':'r'}
# ,'LTP12':{
# 'BPAP_dep_stimulus_duration':2.5, # ms
# 'BPAP_hyp_stimulus_duration':0, # ms
# 'n_BPAP':2,
# 'activate_LTP_protocol':True,
# 'nstim':50,
# 'repeat_protocol':1,
# 'color':'g'}
# ,'4BPAPs':{
# 'BPAP_dep_stimulus_duration':2.5, # ms
# 'BPAP_hyp_stimulus_duration':0, # ms
# 'n_BPAP':4,
# 'nstim':25,
# 'activate_LTP_protocol':False,
# 'color':'r'}
# ,'2BPAPs':{
# 'BPAP_dep_stimulus_duration':3, # ms
# 'BPAP_hyp_stimulus_duration':0, # ms
# 'n_BPAP':2,
# 'nstim':0,
# 'activate_LTP_protocol':False,
# 'color':'r'}
# ,'1BPAP':{
# 'BPAP_dep_stimulus_duration':4, # ms
# 'BPAP_hyp_stimulus_duration':0, # ms
# 'activate_LTP_protocol':False,
# 'n_BPAP':1,
# 'nstim':0,
# 'repeat_protocol':1,
# 'color':'k'}
}
print((list(protocols.keys())))
# protocols = {'1EPSP':{
# 'BPAP_dep_stimulus_duration':0, # ms
# 'BPAP_hyp_stimulus_duration':0, # ms
# 'activate_LTP_protocol':True,
# 'color':'#FF4500'}
# }
# deltaT = 10 ms = post - pre
# blue = LTP14
# verde = LTP11
# rossa = solo 4 BPAPs, calcio da VGCC
# nera = solo 1 BPAP, calcio da VGCC
# arancio = solo 1 EPSP, calcio da NMDA