Effects of spinal cord stimulation on WDR dorsal horn network (Zhang et al 2014)

 Download zip file 
Help downloading and running models
Accession:168414
" ... To study the mechanisms underlying SCS (Spinal cord stimulation), we constructed a biophysically-based network model of the dorsal horn circuit consisting of interconnected dorsal horn interneurons and a wide dynamic range (WDR) projection neuron and representations of both local and surround receptive field inhibition. We validated the network model by reproducing cellular and network responses relevant to pain processing including wind-up, A-fiber mediated inhibition, and surround receptive field inhibition. ..." See paper for more.
Reference:
1 . Zhang TC, Janik JJ, Grill WM (2014) Modeling effects of spinal cord stimulation on wide-dynamic range dorsal horn neurons: influence of stimulation frequency and GABAergic inhibition. J Neurophysiol 112:552-67 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism:
Cell Type(s): Wide dynamic range neuron;
Channel(s):
Gap Junctions:
Receptor(s): GabaA; AMPA; NMDA; Glutamate; Glycine;
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s):
Implementer(s): Zhang, Tianhe [tz5@duke.edu];
Search NeuronDB for information about:  GabaA; AMPA; NMDA; Glutamate; Glycine;
/
ZhangEtAl2014
A Fiber Inhibition
Analyzer.m
CellTemplates.hoc
CellTemplates_OneEX_Multiconn_ERev_TenthKCA.txt
CellTempList.dat *
CellTypeVector.txt *
CellVector.txt *
ClusterDemo.q
Connectivities_Surround_ERev_70.xls
Coordinates_Trial.xlsx *
DelayVector.txt *
EX_Cell_filenames.dat *
EX_Cell_filenamesH.dat *
EX_Cell_filenamesM.dat *
ExpParams_Prefinal.xls
Fig5_Spikes.mat
Fig5_Spikes_Grouped.mat
FromVector.txt *
IN_Cell_SynapseID.dat
IN_Cell_Synapses_OneEX_Zone2_SCS.txt *
interneuron.hoc *
MakeNetwork.hoc
nrnmech.dll *
RunSim_EP.hoc
RunSim_NoEP.hoc
S_NetStim_SynapseID.dat *
SG_Cell_filenames.dat *
SG_Cell_filenamesH.dat *
SG_Cell_filenamesM.dat *
SG_Cell_SynapseID.dat *
SG_Cell_Synapses_OneEX_Zone2_SCS.txt *
SGSCS_Cell_filenames.dat *
SGSCS_Cell_filenamesH.dat *
SGSCS_Cell_filenamesM.dat *
SGSCS_Cell_SynapseID.dat *
SGSCS_Cell_Synapses_OneEX_Zone2_SCS.txt *
Shell.hoc
Shell_NoEP.hoc
SpikeStatsVector.txt
SpikeTimesVector.txt
SynapseVector.txt *
T_Cell_filenames.dat *
T_Cell_filenamesH.dat *
T_Cell_filenamesM.dat *
T_Cell_SynapseID.dat *
T_Cell_Synapses_OneEX_Zone2_SCS.txt *
ThresholdVector.txt *
ToVector.txt *
WeightVector.txt
XVector.txt *
YVector.txt *
ZVector.txt *
                            
function DidItWork = Analyzer(NumCells, filenameA, filenameB, filenameC, filenameD, PlotTitle, dt)
%Analyzer.m
%Function "Processes" data generated using NEURON network simulation
%programs.  Each .dat file is presumably the spike raster for each neuron,
%BUT this can be changed according to the simulation desired.
%INPUTS: 
%NumCells = number of cells for which there is data.
%filenameA = file 1 to open for analysis.
%filenameB = file 2 to open for analysis
%PlotTitle = title for spike plot.
%dt: delta t used in NEURON to run simulations.
%OUTPUTS:
%All relevant data.
%DidItWork Checksum, if needed.

for a = 1:NumCells
    
    fid = fopen([filenameA '_' num2str(a) '.dat']);
    TempVar = fread(fid, 'double');
    assignin('base', [filenameA '_' num2str(a) '_Vm'], TempVar); %Spike Timing.  X-axis in plots
    assignin('base', [filenameA '_' num2str(a) '_Time'], ((1:length(TempVar))-1).*dt); %Index to time via multiplication by dt.
    fclose(fid);
    fidB = fopen([filenameB '_' num2str(a) '.dat']);
    TempVar2 = fread(fidB, 'double');
    assignin('base', [filenameB '_' num2str(a) '_Vm'], TempVar2); %Spike Timing.  X-axis in plots
    assignin('base', [filenameB '_' num2str(a) '_Time'], ((1:length(TempVar2))-1).*dt); %Index to time via multiplication by dt.
    fclose(fidB);
    fidC = fopen([filenameC '_' num2str(a) '.dat']);
    TempVar3 = fread(fidC, 'double');
    assignin('base', [filenameC '_' num2str(a) '_Vm'], TempVar3); %Spike Timing.  X-axis in plots
    assignin('base', [filenameC '_' num2str(a) '_Time'], ((1:length(TempVar3))-1).*dt); %Index to time via multiplication by dt.
    fclose(fidC);
    fidD = fopen([filenameD '_' num2str(a) '.dat']);
    TempVar4 = fread(fidD, 'double');
    assignin('base', [filenameD '_' num2str(a) '_Vm'], TempVar4); %Spike Timing.  X-axis in plots
    assignin('base', [filenameD '_' num2str(a) '_Time'], ((1:length(TempVar4))-1).*dt); %Index to time via multiplication by dt.
    fclose(fidD);
    disp('PRINT')
    
end
figure(1)
for a = 1:NumCells

assignin('base', 'TVector', evalin('base', [char(filenameA) '_' num2str(1) '_Time']));

clf
hold on
subplot(4,1,1)
plot(evalin('base', [filenameA '_' num2str(a) '_Time']), evalin('base',[char(filenameA) '_' num2str(a) '_Vm']), '-r')
subplot(4,1,2)
plot(evalin('base', [filenameB '_' num2str(a) '_Time']), evalin('base',[char(filenameB) '_' num2str(a) '_Vm']), '-g')
ylabel('Vm (mV) ')
subplot(4,1,3)
plot(evalin('base', [filenameC '_' num2str(a) '_Time']), evalin('base',[char(filenameC) '_' num2str(a) '_Vm']), '-b')
subplot(4,1,4)
plot(evalin('base', [filenameD '_' num2str(a) '_Time']), evalin('base',[char(filenameD) '_' num2str(a) '_Vm']), '-b')
xlabel('Time (ms)')
axis([0 length(evalin('base',[char(filenameB) '_' num2str(a) '_Vm'])).*dt -80 40])
title([PlotTitle ' Cell ' num2str(a) ' Voltage'])
saveas(gcf, [char(filenameA) '_Pair_' num2str(a) '_Vm.png'], 'png')
end

DidItWork = 1;


Loading data, please wait...