Skip to content
Dario edited this page Nov 27, 2018 · 28 revisions

Welcome to the NetPyNE-UI Documentation!

NetPyNE (www.netpyne.org) is a high-level Python interface to NEURON that facilitates the development, parallel simulation and analysis of biological neuronal networks. NetPyNE-UI is a simple user interface that can be used to control NetPyNE in a graphical environment. The UI splits the workflows in two tabs available at the top of the screen: define your network and create network.

From the first tab it is possible to define the network and all the rules that will be used for its generation. Network definition comprises 7 different sections:

  • Populations
  • Cell Rules
  • Synapses
  • Connectivity Rules
  • Stimulation sources
  • Stimulation targets
  • Configuration

At the bottom of the screen two consoles, a Javascript and a Python one, will let you interact programmatically with the environment. In particular through the Python console it is possible to interact programmatically with the NetPyNE model. Any changes made through the Python console will reflect immediately to the UI and vice versa.

If you would like to import an example into the UI you can copy and paste the following lines into one cell of the Python console to load a network from a tutorial.

from netpyne_ui.tests.tut3 import netParams, simConfig
netpyne_geppetto.netParams=netParams
netpyne_geppetto.simConfig=simConfig

To execute the cell just press Shift + Enter.

Once you have defined your network you can click on the second tab at the top of the screen to explore its structural properties and visualise its morphology in 3D. This will result in NetPyNE instantiating the network and a confirmation dialog will prompt you to confirm. The larger the model the longer the instantiation will take.

Once you confirm you the network will be loaded and you will be able to explore it.

The icon on the top left corner will let you open a control panel to inspect in a tabular form all the populations and single cells that were created from your network definition.

For each cell or population you can (in order) show or hide the element, change its colour, assign a random one, or zoom.

From the plot menu (the bottom icon on the left column) you can choose among a range of available plots to inspect the structural properties of your network.

Once in the second tab, clicking on the rocket icon on the top right corner of the ui you can proceed with a simulation of the network.

A confirmation dialog will once again prompt you to confirm presenting the option to run the simulation in parallel specifying the number of cores (this requires having MPI installed). Once you confirm the network simulation will be loaded and you will be able to analyse it. The larger the model the longer the simulation will take.

From the same plot menu (the bottom icon on the left column) you can now choose among a range of available plots to inspect the simulation results and analyse them. Moving back to the first tab you can change the definition of your network, from the definition tab you can jump to back to the second tab where you can re-sync the new network defined with the one instantiated clicking on the sync icon on the top right corner of the UI, above the rocket icon.

Finally below a description of all the options available with our new AppBar, available with the hamburger icon on the top left corner. Once clicked on the icon these are the options available:

  • New : Clean the current model and let the user define or load a new one.
  • Open : Loads a JSON that might contain any of the following:
    • HLS (high level specification “what would populate the define tab”).
    • Instantiated network (the parameters that are use in the second tab to visualise the network).
    • Simulation results (the plots).
    • Simulation configuration (the simConfig card in define network).
  • Save : Allows the user to save an HLS/Instantiated network/simulation results/simulation configuration in a JSON file.
  • Import : It allows the user to import the netParams and/or simConfig stored in a python file.
  • Export : It allows the user to export the netParams and/or simConfig storing them in a python file.
  • Import Template : This option takes a single cell created through Neuron (.hoc or .py), convert and place it into the NetPyNE model. Once this has been done it's possible to check and visualise what has been imported going to the CellRule section to see the template imported and translated into netpyne (sections, mechanism, diam, conductivity, etc).

Below an example with the user trying to import netParams and simConfig through a python script,

or export it to the folder as specified in the configuration section in the first tab (called simConfig in NetPyNE).

Clone this wiki locally