This project is the result of a research work and its associated publication is:

Pablo Martinez-Canada, Milad Hobbi Mobarhan, Geir Halnes, Marianne Fyhn, Christian Morillas, Francisco Pelayo and Gaute T. Einevoll (2018), Biophysical Network Modeling of the dLGN Circuit: Effects of Cortical Feedback on Spatial Response Properties of Relay Cells, in PLOS Computational Biology.

The software is licensed under GNU General Public License (file 'LICENSE'). The source code was developed by P. Martinez-Canada (, first during his research stay at the Centre for Integrative Neuroplasticity (CINPLA), from the University of Oslo (Norway), and later at Centro de Investigacion Tecnologias de la Informacion y de las Comunicaciones (CITIC) of the University of Granada (Spain). Some pieces of the code were adapted from the original code by Thomas Heiberg (

Note: this code is also available from github:


The source code has been tested with:

After installing these software packages, compile mod files in folders Geir2011, TC_neuron and cortex_neurons using the command nrnivmodl.

Directory structure

Scripts for simulation are located in folder thalamocortical. Scripts for plotting and analyzing results are in thalamocortical/plots. Simulation results are saved to thalamocortical/results.

Scripts for simulation are listed below.

Descriptions of neuron models are included in the following files.

Other files located in folder 'thalamocortical' are:

Configuration of model parameters and simulation

Some general parameters of the model (e.g., number of cells, visual angle) and parameters of the simulation (e.g., simulation time) can be modified at the beginning of the simulation scripts and, between lines "Start of parameters" and "End of parameters". Parameters to customize the input stimuli are found in

Simulation scripts can be executed in two different ways. First, using directly the Python interpreter (e.g., python A second way is to use mpirun to run a script in parallel (e.g., mpirun -np 8 python, in which -np 8 specifies the number of processes to launch). Before running a simulation of, it is necessary to simulate first both ON and OFF responses of ganglion cells. After simulation, execute the different scripts in thalamocortical/plots to show the simulation results (e.g., python