Design, execute and upload a simulation

This tutorial covers designing and executing simulations, which will be a frequent task. Before designing specific simulations for a model, users will likely want to create some datasets to specify the cells and size of the model, the numbers and weights of its connections, and the kinetics of its synapses. However, those steps are not necessary for this example ringdemo network because those data sets have already been created and are included in the download; therefore the steps are detailed in the appendix. This tutorial will simply show how to view the datasets that have already been created, for the purpose of understanding all the components of the model before designing and executing a simulation (Figures [fig:tutNewRun]-[fig:tutNewRun3]).

  1. Within the ’Tools’ menu, choose the ’Cell Numbers’ option (Figure [fig:tutNewRun:01]).
  2. A dialog box will open, allowing users to view the Cell Numbers datasets associated with this model repository.
  3. From the popup menu at top, choose number #100 to display the dataset that will be used to set the types and numbers of cells in the ringdemo network (Figure [fig:tutNewRun:02]). The table will refresh, showing two rows with information about the two cell types in our model (Figure [fig:tutNewRun:03]). The left-most column lists the name users have given the cell in their model. The next column lists the name of the cell template file to use for this cell, from the list of cell template code files in our model repository. The third column gives the number of that cell type to include in the model. The last column is only relevant for 3D models with layers, listing the layer in which that cell type is found (starting from layer 0). After viewing, close the window.
  4. Next, from the ’Tools’ menu, choose ’Connections’ (Figure [fig:tutNewRun:04]). From the popup menu at top, choose number #100 to display the connectivity dataset to use (Figure [fig:tutNewRun:05]). A matrix will appear, including all the cell types in the network. Down the left side of the matrix (the row labels) are given the presynaptic cells, while the top row (the column labels) gives the postsynaptic cells. At the intersection of each presynaptic and postsynaptic cell, there are entries for the average number of connections from all cells of that presynaptic type onto one postsynaptic cell of that type (aka, the convergence), the number of synapses comprising one connection, and the weight of each synapse. After viewing the connection information, close the connection tool.
  5. Finally, from the ’Tools’ menu choose ’Synapses’ (Figure [fig:tutNewRun:06]) and a table will appear. From the popup menu at the top left, choose dataset #100 to view the synapse data for the model (Figure [fig:tutNewRun:07]). Only one postsynaptic cell at a time will be displayed; choose from the pop-up menu at the top middle of the table (Figure [fig:tutNewRun:08]) to specify which post-synaptic cell to view. Then the table will display the possible presynaptic cell types for that postsynaptic cell, along with entries for the rise and decay time constants of the synapse and the reversal potential of the synapse (Figure [fig:tutNewRun:09]). When finished, close the window. The next steps show how to design a simulation that uses these datasets.
  6. To design a new simulation, from the Runs menu choose ’Design Run’ (Figure [fig:tutNewRun:10]). The property fields in the SimTracker will become editable (Figure [fig:tutNewRun:11]).
  7. Enter a unique name for the simulation (allowed characters include letters, numbers, and the underscore character), such as MyFirstRingDemo (Figure [fig:tutNewRun:11]).
  8. Optionally, enter comments about the simulation. It is often helpful to users if they note the specific question or idea that triggered them to run this particular simulation.
  9. Specify the code version to use for this simulation. Usually, this will be the most recent version of the code. The list of available code versions will correspond to each time users ’committed’ a version of the code in their model code repository and will also list the comments they entered when committing that code version. Select the most recent version, #9 (Figure [fig:tutNewRun:12]).
  10. Specify the machine to use for running the simulation. For users to run this simulation on their own computers, they must find the unique name of their computer from the list and select it (Figure [fig:tutNewRun:13]). Then, in the field to the right of the machine name, specify the number of processors to be used to execute the run. On a personal computer, users can either set this to 1 or, to run the network in parallel, set it to the total number of cores (aka processors) on their machines.
  11. Select from the various menus for simulation control to specify the stimulation, connectivity algorithm, cell numbers, connection numbers, and synapse kinetics for the model. For this ringdemo network, choose the following settings (Figure [fig:tutNewRun:14]):
    • Stimulation: pulse
    • Connectivity: ring
    • Cell set: 100
    • Connection set: 100
    • Synapse set: 100
  12. In the table on the right side of the SimTracker, specify additional properties for simulation control, including the scale (size) of the model network, the length of time the simulation should last, the temporal resolution, whether to print specific results files, and many other options (the options that appear in this table can be customized by choosing ’Parameters’ from the ’Settings’ menu). Because this ringdemo network is so small, it can run it at full scale. Set the following parameters and leave the remainder set to their defaults (Figure [fig:tutNewRun:15]):
    • Scale: 1
    • Sim. Duration: 101
    • Temporal Resolution: 0.025
  13. Upon finishing the specification of simulation properties, click the ’Save Run’ button that appeared when upon starting to design the simulation (Figure [fig:tutNewRun:16]). The simulation will now appear in the list of simulations at the top of the SimTracker. The property fields will become uneditable (to change the run prior to execution, choose ’Edit Run’ from the ’Runs’ menu). The process for executing a simulation differs somewhat depending on whether users are executing it on their personal computers, using the NSG portal, or accessing a supercomputer independently of the NSG portal. The following list details the process for using a personal computer. For instructions on using the NSG portal or a supercomputer directly, see the Appendix.
  14. To execute the simulation, select its row from the table at the top of the SimTracker, and then from the ’Runs’ menu choose ’Execute Run’ (Figure [fig:tutNewRun:17]).
  15. The computer’s CPU may become very active and users who are using MATLAB scripts to run the SimTracker, will see the MATLAB status bar display ’Busy’ until the simulation completes (Figure [fig:tutNewRun:18]). Additionally, a NEURON window may pop up (Figure [fig:tutNewRun:19]).
  16. When the simulation finishes, a dialog box will appear that states ’The run has been executed’ (Figure [fig:tutNewRun:20]). Once this message appears, continue to the next step.
  17. Select the simulation in the SimTracker (make sure to view the ’Not Ran’ view) and, from the ’Runs’ menu, choose ’Upload Run’ to display the results of the run in the SimTracker (Figure [fig:tutNewRun:21]).
  18. Once the simulation is successfully uploaded to the SimTracker, a dialog box will appear stating that ’Results have been uploaded.’ (Figure [fig:tutNewRun:22]) The SimTracker table will switch to the ’Ran’ view (Figure [fig:tutNewRun:23]). In both the list of runs and the form view below, SimTracker will show the executed simulation’s run time, number of spikes, and execution date (Figure [fig:tutNewRun:24]). After the simulation has been executed and uploaded, it is time to analyze the results (Figure [fig:tutAnalyzeStep]).

Tutorials