Striatal NN model of MSNs and FSIs investigated effects of dopamine depletion (Damodaran et al 2015)

 Download zip file 
Help downloading and running models
Accession:169984
This study investigates the mechanisms that are affected in the striatal network after dopamine depletion and identifies potential therapeutic targets to restore normal activity.
Reference:
1 . Damodaran S, Cressman JR, Jedrzejewski-Szmek Z, Blackwell KT (2015) Desynchronization of Fast-Spiking Interneurons Reduces beta-Band Oscillations and Imbalance in Firing in the Dopamine-Depleted Striatum. J Neurosci 35:1149-59 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network; Neuron or other electrically excitable cell; Axon; Dendrite;
Brain Region(s)/Organism:
Cell Type(s): Neostriatum spiny direct pathway neuron; Neostriatum spiny indirect pathway neuron; Neostriatum fast spiking interneuron;
Channel(s): I Sodium; I Potassium; Kir;
Gap Junctions: Gap junctions;
Receptor(s): D1; D2; GabaA; Glutamate;
Gene(s):
Transmitter(s): Gaba; Glutamate;
Simulation Environment: GENESIS;
Model Concept(s): Synchronization; Detailed Neuronal Models; Parkinson's;
Implementer(s): Damodaran, Sriraman [dsriraman at gmail.com];
Search NeuronDB for information about:  Neostriatum spiny direct pathway neuron; Neostriatum spiny indirect pathway neuron; D1; D2; GabaA; Glutamate; I Sodium; I Potassium; Kir; Gaba; Glutamate;
/
DamodaranEtAl2015
spine
MSspine.g
randomize2-2.g
SPnet_test.g
                            
//randomize2-2.g
//both AMPA and GABA synaptic inputs to fs cell

function rannum_unique (tablename)
  str tablename

  int i

  int last={getfield inputs X_A->xmax}
  int index={trunc {rand 0 {n{channelType}}} }
  int filenum={getfield {tablename} X_A->table[{index}]}
  setfield {tablename} X_A->table[{index}] {getfield {tablename} X_A->table[{last}]}
  setfield {tablename} X_A->xmax {last-1}

  return {filenum}

end

/*This function is used when there are fewer input files than synapses.
All synapses get inputs, but some are duplicates, introducing correlation. */
function randomize2 (fileroot, GABAtert, GABAsec, GABAprim, Gluprim, Glusec, Glutert, type, corr)
  str fileroot, type
  int GABAtert, GABAsec, GABAprim
  int Gluprim, Glusec, Glutert
  float corr

  int loop1, loop2
  int rannum, i, last, j, k
  int numfiles

  // initialize total number of inputs and files
  int totalinputs
  totalinputs=(Gluprim+GABAprim)*7+(Glusec+GABAsec)*24+(Glutert+GABAtert)*96
  numfiles=totalinputs*(1-corr) +corr
  int loops=totalinputs/numfiles
  echo "totalinputs=" {totalinputs} "corr=" {corr} "numfiles=" {numfiles} "loops=" {loops}

  //create table to store filenumbers
  if ({exists inputs})
      delete inputs
  end
  create tabchannel inputs
  disable inputs
  call inputs TABCREATE X {totalinputs-1} 0 {totalinputs-1}
  j=0
  for (k=0; k<loops; k=k+1)
    for (i=0; i<numfiles; i=i+1)
        setfield inputs X_A->table[{j}] {i}
        j=j+1
    end
  end
  int remaining=totalinputs-j
  echo "j=" {j} "remaining=" {remaining} 
  if (remaining>0)
    int startfile={round {rand -0.499 {numfiles-remaining}} }
    for (i=startfile; i<(startfile+remaining); i=i+1)
      setfield inputs X_A->table[{j}] {i}
      j=j+1
    end
    echo "startfile=" {startfile} "endfile=" {i-1} "last j" {j-1}
  end

  //Choose input files randomly for each compartment 2
  if ({Gluprim} == 1)
    rannum={rannum_unique inputs }
    make_input /fs/soma/AMPA_channel soma_ampa_{type} {fileroot}{rannum}
  end
  for (j=1; j<={GABAprim}; j=j+1)
      rannum = {rannum_unique inputs }
	  make_input /fs/soma/GABA_channel soma_gaba{j}_{type} {fileroot}{rannum} 
  end
 
  //making synaptic inputs to primary dendrites
  for (loop1=1; loop1 < 4 ; loop1 = loop1+1) 
    if ({Gluprim} == 1)
      rannum={rannum_unique inputs }
      make_input /fs/primdend{loop1}/AMPA_channel primdend{loop1}_ampa_{type} {fileroot}{rannum}
      rannum={rannum_unique inputs }
      make_input /fs/primdend{loop1}/prim_dend2/AMPA_channel primdend{loop1}s2_ampa_{type} {fileroot}{rannum}
    end
    for (j=1; j<={GABAprim}; j=j+1)
      rannum={rannum_unique inputs }
      make_input /fs/primdend{loop1}/GABA_channel primdend{loop1}_gaba{j}_{type} {fileroot}{rannum}
      rannum={rannum_unique inputs }
      make_input /fs/primdend{loop1}/prim_dend2/GABA_channel primdend{loop1}s2_gaba{j}_{type} {fileroot}{rannum} 
    end
  end
 
//making inputs to secondary  dendrites.
for (loop1 = 1; loop1 < 7; loop1= loop1+1)  
    for (j=1; j<={Glusec}; j=j+1)
        rannum={rannum_unique inputs }
        make_input /fs/secdend{loop1}/AMPA_channel secdend{loop1}_ampa{j}_{type} {fileroot}{rannum} 
    end

  for (j=1; j<={GABAsec}; j=j+1)
    rannum={rannum_unique inputs }
    make_input /fs/secdend{loop1}/GABA_channel secdend{loop1}_gaba{j}_{type} {fileroot}{rannum} 
  end

  for (loop2 = 2; loop2 < 5; loop2 = loop2+1)
    for (j=1; j<={Glusec}; j=j+1)
        rannum={rannum_unique inputs }
        make_input /fs/secdend{loop1}/sec_dend{loop2}/AMPA_channel secdend{loop1}s{loop2}_ampa{j}_{type} {fileroot}{rannum}
    end

    for (j=1; j<={GABAsec}; j=j+1)
        rannum={rannum_unique inputs }
        make_input /fs/secdend{loop1}/sec_dend{loop2}/GABA_channel secdend{loop1}s{loop2}_gaba{j}_{type} {fileroot}{rannum}
    end
  end
end

//making synaptic inputs to tertiary dendrites
for (loop1 = 1; loop1 < 13; loop1= loop1+1)
    for (j=1; j<={Glutert}; j=j+1)
        rannum={rannum_unique inputs }
        make_input /fs/tertdend{loop1}/AMPA_channel tertdend{loop1}_ampa{j}_{type} {fileroot}{rannum}
    end
    if ({GABAtert} == 1)
      rannum={rannum_unique inputs }
      make_input /fs/tertdend{loop1}/GABA_channel tertdend{loop1}_gaba_{type} {fileroot}{rannum}
    end

  for (loop2 = 2; loop2 < 9; loop2 = loop2+1)
    for (j=1; j<={Glutert}; j=j+1)
      rannum={rannum_unique inputs }
      make_input /fs/tertdend{loop1}/tert_dend{loop2}/AMPA_channel tertdend{loop1}s{loop2}_ampa{j}_{type} {fileroot}{rannum}
    end

    if ({GABAtert} == 1)
      rannum={rannum_unique inputs }
      make_input /fs/tertdend{loop1}/tert_dend{loop2}/GABA_channel tertdend{loop1}s{loop2}_gaba_{type} {fileroot}{rannum}
    end
  end
end

echo "last=" {getfield inputs X_A->xmax}
end
























Loading data, please wait...