Striatal Spiny Projection Neuron, inhibition enhances spatial specificity (Dorman et al 2018)

 Download zip file 
Help downloading and running models
Accession:245411
We use a computational model of a striatal spiny projection neuron to investigate dendritic spine calcium dynamics in response to spatiotemporal patterns of synaptic inputs. We show that spine calcium elevation is stimulus-specific, with supralinear calcium elevation in cooperatively stimulated spines. Intermediate calcium elevation occurs in neighboring non-stimulated dendritic spines, predicting heterosynaptic effects. Inhibitory synaptic inputs enhance the difference between peak calcium in stimulated spines, and peak calcium in non-stimulated spines, thereby enhancing stimulus specificity.
Reference:
1 . Dorman DB, Jedrzejewska-Szmek J, Blackwell KT (2018) Inhibition enhances spatially-specific calcium encoding of synaptic input patterns in a biologically constrained model. Elife, Kennedy, Mary B, ed. [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell;
Brain Region(s)/Organism: Basal ganglia;
Cell Type(s): Neostriatum spiny neuron;
Channel(s): Ca pump; Kir; I A; I A, slow; I CAN; I K,Ca; I Krp; I Na,t; I L high threshold; I R; I T low threshold; IK Bkca; IK Skca; Na/Ca exchanger;
Gap Junctions:
Receptor(s): AMPA; NMDA; GabaA;
Gene(s): Cav3.2 CACNA1H; Cav3.3 CACNA1I; Cav1.2 CACNA1C; Cav1.3 CACNA1D; Cav2.2 CACNA1B; Kv4.2 KCND2; Kir2.1 KCNJ2; Kv2.1 KCNB1;
Transmitter(s): Gaba; Glutamate;
Simulation Environment: GENESIS;
Model Concept(s): Calcium dynamics; Detailed Neuronal Models; Synaptic Integration; Synaptic Plasticity;
Implementer(s): Dorman, Daniel B ;
Search NeuronDB for information about:  GabaA; AMPA; NMDA; I Na,t; I L high threshold; I T low threshold; I A; I K,Ca; I CAN; I A, slow; Na/Ca exchanger; I Krp; I R; Ca pump; Kir; IK Bkca; IK Skca; Gaba; Glutamate;
# -*- coding: utf-8 -*-
"""
Script to Run GABA Variation of Constrained Upstate.
For each variation, edit the PSim_ConstrainUp_GABA.g" file
Runs simulations in parallel using number of pools specified

@author: dandorman
"""

import os
import multiprocessing as mp
import numpy as np
import scipy
from matplotlib import pyplot as plt
import time
import glob

command = "genesis PSim_ConstrainUp_GABA.g"
          
fn = command[8:]

tempdir = '.tempScripts'

if not os.path.exists(tempdir):
    os.makedirs(tempdir)


gabatypes = ["0","1"] #0 is fast, 1 is slow
gabadelays = ["-100e-3","-50e-3","-25e-3","-12.5e-3","-6.75e-3","0e-3",
              "6.75e-3","12.5e-3","25e-3","50e-3","100e-3"]
gabalocs = ["primdend1","primdend2","secdend11","secdend12","tertdend1_1","tertdend1_2","tertdend1_3","tertdend1_4",
            "tertdend1_5","tertdend1_6","tertdend1_7","tertdend1_8","tertdend1_9","tertdend1_10","tertdend1_11"]

def readwritesim(fn,gabatype,gabadelay,gabaloc):
    with open(fn,'r') as f:
        text=[]
        for line in f:
            if "int numstim=" in line:
                newline = "int numstim="+str(16)+"\n"
                text.append(newline)
            elif 'str stimcomp=' in line:
                newline = 'str stimcomp="tertdend1_'+str(8)+'"\n'
                text.append(newline)
            elif 'str GABAloc =' in line:
                newline = 'str GABAloc = "'+gabaloc+'"\n'
                text.append(newline)
            elif "float GABA_delay =" in line:
                newline = "float GABA_delay = "+gabadelay+"\n"
                text.append(newline)
            elif "int GABAtype =" in line:
                newline = "int GABAtype = "+gabatype+"\n"
                text.append(newline)
            else:
                text.append(line)
        newfn = tempdir + '/' + fn[:-2] + gabaloc + gabadelay + gabatype + '.g'
    with open(newfn,'w') as f:
        f.writelines(text)
    newcommand = 'genesis ' + newfn
    time.sleep(10)
    pool.apply_async(os.system,args=(newcommand,))
    time.sleep(10)
    return    

pool=mp.Pool(processes=16)
pool.apply_async(os.system,args=('genesis PSim_ConstrainUp_NoGABAControl.g',))

for gabatype in gabatypes:
    for gabadelay in ["0e-3"]: ##gabadelays:
        readwritesim(fn,gabatype,gabadelay,"tertdend1_8")
    #for gabaloc in gabalocs:
    #    readwritesim(fn,gabatype,"0e-3",gabaloc)