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

 Download zip file 
Help downloading and running models
Accession:156260
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.
Reference:
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;
Channel(s):
Gap Junctions: Gap junctions;
Receptor(s): NMDA; Gaba;
Gene(s):
Transmitter(s):
Simulation Environment: GENESIS;
Model Concept(s): Detailed Neuronal Models; Parkinson's;
Implementer(s): Blackwell, Avrama [avrama at gmu.edu]; Damodaran, Sriraman [dsriraman at gmail.com];
Search NeuronDB for information about:  Neostriatum medium spiny direct pathway GABA cell; Neostriatum medium spiny indirect pathway GABA cell; NMDA; Gaba;
/
striatalnetwork
Matlab_files
Inputwithcorrelation.asv *
Inputwithcorrelation.m *
Inputwithcorrelation.m~
InputwithCorrelation2.m *
InputwithCorrelation2.m~
makeDaughterInput.m *
makeDaughterInsignal.m
makeDaughterInsignal.m~
makeDaughterInsignal_no_upstate.m *
makeTrainInput.m *
makeTrainInsignal.m *
makeTrainInsignal.m~
poissonMaxTime.m *
writeInput.asv *
writeInput.m *
writeInput.m~
                            
%Notes for Dr. Blackwell from Sriram:
%1. What this file does:
% This file makes the input trains that would serve as the cortical and fs input
% for the SPcells. The duplicate and unique input signals are now combined in
% the genesis file SimFile.g. This file also has a variable which contains 
% unique random numbers, the function of which is described in the SimFile.g
% file. The noise and inout signals will be combined in this file for the 
% next round once the details of the input connection is finalized. 

function m = Inputwithcorrelation(numCells, corr_syn_Glu, nAMPA, nAMPA_u, ...
								  corr_syn_GABA, nGABA, nGABA_u, perc_single_repeats, upFreq, maxTime,allowVar, randSeed)
                                 
	rand('seed', randSeed);
	randSeed = rand('seed');
	downFreq = 1e-9;

	disp(['Setting random seed to ' num2str(randSeed)])
	disp(['All upstate input, freq ' num2str(upFreq)])

	path = [pwd '/INPUTDATA/'];
	fprintf('%s\n',path);

	nAMPA_d = nAMPA - nAMPA_u;
	nGABA_d = nGABA - nGABA_u;


	if(allowVar)
		disp('Generating  input with varying number of duplicates within a neuron')
  
		  dupAMPAInsignal = makeDaughterInput(corr_syn_Glu, nAMPA_d, ...
                                      upFreq, maxTime);

		dupGABAInsignal = makeDaughterInput(corr_syn_GABA, nGABA_d, ...
                                      upFreq, maxTime);
 
		for nCtr = 1:numCells

			% Generate input to neurons that are correlated within the neuron
			% but not correlated between neurons. This input is then mixed
			% with the population shared input.
			% Neuron specific input
  
			AMPAInsignal{nCtr} = makeDaughterInput(corr_syn_Glu, nAMPA_u, ...
                                                 upFreq, maxTime);

			GABAInsignal{nCtr} = makeDaughterInput(corr_syn_GABA, nGABA_u, ...
                                                 upFreq, maxTime);
		end

	else                                  
		disp('Generating input with constant number of duplicates within a neuron')  
  
		dupAMPAInsignal = makeTrainInput(corr_syn_Glu, perc_single_repeats, nAMPA_d, ...
                                   upFreq, maxTime);

		dupGABAInsignal = makeTrainInput(corr_syn_GABA, perc_single_repeats,  nGABA_d, ...
                                   upFreq, maxTime);

		for nCtr = 1:numCells

			% Generate input to neurons that are correlated within the neuron
			% but not correlated between neurons. This input is then mixed
			% with the population shared input.
			% Neuron specific input
  
			AMPAInsignal{nCtr} = makeTrainInput(corr_syn_Glu, perc_single_repeats, nAMPA_u, ...
                                            upFreq, maxTime);

			GABAInsignal{nCtr} = makeTrainInput(corr_syn_GABA, perc_single_repeats, nGABA_u, ...
                                            upFreq, maxTime);
		end
    end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        % Presently both makeDaughterInput and makeTrainInput send the inputs with padded zeros. 
        % Eventually clean it up to send it as matrix.
	writeInput([path 'AMPAinsignal_dup_'], dupAMPAInsignal);
	writeInput([path 'GABAinsignal_dup_'], dupGABAInsignal);

	for nCtr = 1:numCells
         temp_AMPA = [path 'AMPAinsignal_' num2str(nCtr) '_'];
         temp_GABA = [path 'GABAinsignal_' num2str(nCtr) '_'];
	     writeInput(temp_AMPA, AMPAInsignal{nCtr});
         writeInput(temp_GABA, GABAInsignal{nCtr});
	end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

	fid = fopen([path 'inputInfo.txt'], 'w');

	fprintf(fid, '%s\n', 'Inputwithcorrelation');
	fprintf(fid, '%f\n', corr_syn_Glu);
	fprintf(fid, '%f\n', corr_syn_GABA);
	fprintf(fid, '%f\n', upFreq);
	fprintf(fid, '%f\n', downFreq);
	fprintf(fid, '%f\n', maxTime);
	fprintf(fid, '%d\n', randSeed);
	fprintf(fid, '%d\n', numCells);
	
	fclose(fid);