ModelDB is moving. Check out our new site at https://modeldb.science. The corresponding page is https://modeldb.science/150284.

Multiscale simulation of the striatal medium spiny neuron (Mattioni & Le Novere 2013)

 Download zip file 
Help downloading and running models
Accession:150284
"… We present a new event-driven algorithm to synchronize different neuronal models, which decreases computational time and avoids superfluous synchronizations. The algorithm is implemented in the TimeScales framework. We demonstrate its use by simulating a new multiscale model of the Medium Spiny Neuron of the Neostriatum. The model comprises over a thousand dendritic spines, where the electrical model interacts with the respective instances of a biochemical model. Our results show that a multiscale model is able to exhibit changes of synaptic plasticity as a result of the interaction between electrical and biochemical signaling. …"
Reference:
1 . Mattioni M, Le Novère N (2013) Integration of biochemical and electrical signaling-multiscale model of the medium spiny neuron of the striatum. PLoS One 8:e66811 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell; Synapse;
Brain Region(s)/Organism: Striatum;
Cell Type(s): Neostriatum medium spiny direct pathway GABA cell;
Channel(s): I Na,p; I Na,t; I T low threshold; I A; I K,Ca; I CAN; I Calcium; I A, slow; I Krp; I R; I Q;
Gap Junctions:
Receptor(s):
Gene(s): Kv4.2 KCND2; Kv1.2 KCNA2; Cav1.3 CACNA1D; Cav1.2 CACNA1C; Kv2.1 KCNB1;
Transmitter(s):
Simulation Environment: NEURON; Python;
Model Concept(s): Synaptic Plasticity; Signaling pathways; Calcium dynamics; Multiscale;
Implementer(s): Mattioni, Michele [mattioni at ebi.ac.uk];
Search NeuronDB for information about:  Neostriatum medium spiny direct pathway GABA cell; I Na,p; I Na,t; I T low threshold; I A; I K,Ca; I CAN; I Calcium; I A, slow; I Krp; I R; I Q;
#helpers/plot_different_freqs.py

import tables
import matplotlib.pyplot as plt

dirs = {'cpm_8Hz' : './Data/30-04-2011/Sim_0/',
        'cpm_20Hz' : './Data/29-04-2011/Sim_2/',
        'cpm_40Hz' : './Data/29-04-2011/Sim_1/',
        'cpm_40Hz_long' : './Data/25-06-2011/Sim_0/',
        'cpm_50Hz' : './Data/29-04-2011/Sim_0/',
        }


def plot_freq(freqHz):
	key = "cpm_%s" %freqHz
	h5_filename = dirs[key] + 'storage.h5'
	h5f = tables.openFile(h5_filename)
	x = h5f.root.results.WeightRef.x.read()
	Hz = h5f.root.results.WeightRef.spine559.weight.read()
	plt.plot(x, Hz, label=freqHz)
	plt.plot(x, Hz, ',', color='black')
	plt.legend(loc=0)
	plt.xlabel("Time [ms]")
	plt.ylabel("Weight a.u.")
	plt.xlim(0, 21000)
	plt.savefig('Frequencies_weight.pdf')
	plt.savefig('Frequencies_weight.png')

def plot_voltage(freqHz):
	key = "cpm_%s" %freqHz
	h5_filename = dirs[key] + 'storage.h5'
	h5f = tables.openFile(h5_filename)
	x = h5f.root.results.VecRef.x.read()
	v = h5f.root.results.VecRef.spine559_head.v
	plt.plot(x, v, label=freqHz)
	#plt.plot(x, Hz, ',', color='black')
	plt.legend(loc=0)
	plt.xlabel("Time [ms]")
	plt.ylabel("Voltage [mV]")
	plt.xlim(0, 25000)
	plt.ylim(-90,0)
	plt.savefig('Frequencies_voltage.png')
	plt.savefig('Frequencies_voltage.pdf')
	
def plot_voltage_560(freqHz):
	key = "cpm_%s" %freqHz
	h5_filename = dirs[key] + 'storage.h5'
	h5f = tables.openFile(h5_filename)
	x = h5f.root.results.VecRef.x.read()
	v = h5f.root.results.VecRef.spine560_head.v
	plt.plot(x, v, label=freqHz)
	#plt.plot(x, Hz, ',', color='black')
	plt.legend(loc=0)
	plt.xlabel("Time [ms]")
	plt.ylabel("Voltage [mV]")
	plt.xlim(0, 25000)
	plt.ylim(-90,0)
	plt.savefig('Frequencies_voltage_560.png')
	plt.savefig('Frequencies_voltage_560.pdf')

ordered_freqs = ['8Hz', '20Hz', '40Hz', '40Hz_long', '50Hz']

for freq in ordered_freqs:
	plot_freq(freq)

plt.figure()

for freq in ordered_freqs:
	plot_voltage(freq)

plt.show()

Loading data, please wait...