Synchronicity of fast-spiking interneurons balances medium-spiny neurons (Damodaran et al. 2014)

 Download zip file 
Help downloading and running models
This study investigates the role of feedforward and feedback inhibition in maintaining the balance between D1 and D2 MSNs of the striatum. The synchronized firing of FSIs are found to be critical in this mechanism and specifically the gap junction connections between FSIs.
1 . Damodaran S, Evans RC, Blackwell KT (2014) Synchronized firing of fast-spiking interneurons is critical to maintain balanced firing between direct and indirect pathway neurons of the striatum. J Neurophysiol 111:836-48 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism:
Cell Type(s): Neostriatum medium spiny direct pathway GABA cell; Neostriatum medium spiny indirect pathway GABA cell; Neostriatum fast spiking interneuron;
Gap Junctions: Gap junctions;
Receptor(s): NMDA; Gaba;
Simulation Environment: GENESIS;
Model Concept(s): Detailed Neuronal Models; Parkinson's;
Implementer(s): Blackwell, Avrama [avrama at]; Damodaran, Sriraman [dsriraman at];
Search NeuronDB for information about:  Neostriatum medium spiny direct pathway GABA cell; Neostriatum medium spiny indirect pathway GABA cell; NMDA; Gaba;

function makeOutput(cellPath, outputName, plotDt)

    str cellPath
    str outputName
    float plotDt
    str description
    int index

    str fileBasePath = "OUTDATA/"

   str filenameDATA = {fileBasePath}@{outputName}@".data"
// str filenameDATA = ""
//    str outputPath = "/output/"@{outputName}
  str outputPath = {outputName}
    str filenameINFO = {fileBasePath}@{outputName}@".info"
    str cellSoma
    if(!{exists /output})
        echo "Creating /output/"
        create neutral /output/        
    // Open the file in overwrite mode and write the simulation parameters

    echo "Writing simulation parameters to "{filenameINFO}
    openfile {filenameINFO} w
    writefile {filenameINFO} "nParams     2 0" // 2 numbers, 0 strings
    writefile {filenameINFO} "numCells     "{numCells}
    writefile {filenameINFO} "maxTime     "{maxTime}

    // Add info about noise level etc

    closefile {filenameINFO}
    echo "Setting clock 1 (output to file) to "{plotDt}"s"
    setclock 1 {plotDt}

    // Close file and reopen it as an asc_file object (append mode)
    // to add simulation data.
    if(!{exists {outputPath}})
      echo "Creating new asc_file object: "{outputPath}
      create asc_file {outputPath}
    create asc_file {outputPath}
    setfield {outputPath} leave_open 1 flush 1 append 1 notime 0 filename ""
    useclock {outputPath} 1
//    addmsg {cellPath}/soma {outputPath} SAVE Vm

    foreach cellSoma ({el {cellPath}[]})
        echo "Directing voltage of "{cellSoma}" to "{outputPath}
        addmsg {cellSoma}/soma {outputPath} SAVE Vm



function addCompartmentOutput(compartment, outputName)

  str compartment
  str outputName
  str outputPath = "/output/"@{outputName}

  echo "Directing voltage of "{compartment}" to "{getfield {outputPath} filename}

  addmsg {compartment} {outputPath} SAVE Vm



function clearOutput(outputName)
  str outputName

  str outputPath = "/output/"@{outputName}

  int ctr
  int nMsg = {getmsg {outputPath} -incoming -count}
  echo "Clearing output "{outputName}

  for(ctr = 0; ctr < nMsg; ctr = ctr + 1)
    deletemsg {outputPath} 0 -incoming

  // HERE THE asc_file should be closed!!