Skip to content

ModelDBRepository/233509

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

<html>
<p>//========================================================================================================================   
</p><p><strong>C++ CODE FOR IMPLEMENTING AN UNIFIED THALAMIC MODEL FOR THE GENERATION OF MULTIPLE DISTINCT OSCILLATIONS</strong>
</p>
<pre>
                                Guoshi Li
                                Department of Psychiatry
                                Univeristy of North Carolina at Chapel Hill
                                Chapel Hill, NC 27599
</pre>
<p>A full description of the model can be found in:
</p>
<p>Guoshi Li, Craig Henriquez and Flavio Frohlich (2017) Unified Thalamic Model Generates Multiple Distinct Oscillations with State-dependent Entrainment by Stimulation. PLOS Computational Biology.
<br/><a href="http://dx.doi.org/10.1371/journal.pcbi.1005797">http://dx.doi.org/10.1371/journal.pcbi.1005797</a>
</p>
<p>For questions, please email: <a href="mailto:guoshi_li@med.unc.edu">guoshi_li@med.unc.edu</a>
                                                                                        
</p><p>//========================================================================================================================
</p>
<p>Then thalamic model is implemented with C++ and simulation is run under Ubuntu Linux originally using the Eclipse program. A makefile was added so that you can type make to make the simulator in unix/linux.
  
</p><p>The thalamic network model contains 49 high-threshold bursting thalamocoritcal cells (HTCs), 144 regular relay-mode thalamocortical cells (RTCs), 64 local interneurons (INs) and 100 reticular cells (REs) each placed in a 2D grid.
 
</p><p>The package contains two folders:<br/>
"src" folder contains the source code for ionic and synapitc channels 
"data" folder to store data from network simulations 
</p>
<p>The main function is contained in Net.cpp. 
</p>
<p>Other major files are described as follows:
</p>
<p>Constants.h: Specify the parameters of the thalamic model<br/>
TC.cpp: Define TC cell class<br/>
IN.cpp:Define IN cell class<br/>
RE.cpp:Define RE cell class<br/>
TC.h:   Header file for TC cell object<br/>
IN.h:   Header file for IN cell object<br/>
RE.h:   Header file for RE cell object
</p>
<p>The variable "OSC" defined in Constants.h determines which oscillation state is simulated:<br/
1: Delta oscillation<br/>
2: Spindle oscillation<br/>
3: Alpha oscillaiton<br/>
4: Gamma oscillation
</p>
<p>The simulation step is set to 0.02 ms and the default simulation time is 3000 ms (3 sec; set by the varialbe "t_end" in Constants.h). To generate the same Figure 2 as in the paper, the following simulation time is recommended:
</p>
<p>Delta oscillaton:   3000 ms<br/>
Spindle oscillaton: 4000 ms <br/>
Alpha oscillaton:   2000 ms<br/>
Gamma oscillation:  2000 ms
</p>
<p/>The data saved in the "data" folder after simulation can be analyzed using the custom Matalb scripts located in the same folder. These scripts will also run under octave however the LFP in octave has a different result due to a different algorithm than used in matlab (see images folder). <br/>
The simulation time ("t_end" variable in Constants.h) needs to be equal to or larger than the recommended time (see above) for the m-files to run properly! Also, set the varialbe "FLAG_OSC" in each m-file to the corresponding simulated oscillation state so the figures are generated properly.     
<p/>PlotV.m:  Plot membrane voltages of representative neurons: <br/>
<img src="./images/PlotV.png" alt="screenshot" width="550">
<br/>Raster.m: Plot the spiking activities of the whole network
<br/><img src="./images/Raster.png" alt="screenshot" width="550">
<br/>
LFP.m:    Generate simulated local field potential (sLFP) with frequency power spectrum
<br/><img src="./images/LFP_matlab.png" alt="screenshot" width="550">
</p>

<p>//======================================================================================================================== 
</p>
<p>The default simulation is without stimulation! 
To turn on stimulation to the LGN, set "FLAG_STIMULATION_LGN_PULSE" in Constants.h to 1
To turn on stimulation to the TRN, set "FLAG_STIMULATION_TRN_PULSE" in Constants.h to 1
</p>
<p>When stimulation is on, pulsatile stimulus will be delivered to the LGN or TRN neurons and the stimulation frequency will increase from 1 Hz to 50 Hz (default). Each frequency step lasts for 1 second. Adjust the simulation time ("t_end") appropriately depending on the desired range of simulated frequency. To stimulate the network from 1 to 50 Hz, the simulation time needs to be 52,000 ms (52 seconds).  
</p>
<p/>20171109 Model updated to include a makefile and screenshots.
</html>

About

A unified thalamic model of multiple distinct oscillations (Li, Henriquez and Fröhlich 2017)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published