Skip to content
Salvador Dura-Bernal edited this page Aug 19, 2020 · 8 revisions


You can use the online version of the NetPyNE GUI at Note that this has a limited number of simultaneous users, so if it is busy please try again at a later time.


NetPyNE ( 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 views available at the top of the screen in the menu view: Edit view and Explore view.

View Menu:

Edit view:

Explore view:

From the Edit view it is possible to define the network and all the rules that will be used for its generation. Network definition comprises 7 different sections divided in different tabs and available from the expandable left side bar:

  • Populations
  • Cell Rules
  • Synapses
  • Connectivity Rules
  • Stimulation sources
  • Stimulation targets
  • Simulation configuration

At the bottom of the left side bar you can find the Python console that will let you 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.examples.tut3 import netParams, simConfig

To execute the cell just press Shift + Enter.

  • Select one of the tutorials available from the menu Tutorial.

The top-right button behaviour (e.g. instantiate only or instantiate and simulate) is driven by the Model->Explore view options, where the user can decide to set automatic instantiation and/or simulation.

Once you have defined your network you can click on the top-right corner button to explore its structural properties and visualise its morphology in 3D.

The button in the top-right corner it's used to orchestrate the transition between edit and explore view (and vice versa). The view menu address exactly the same functionality handled by the button, letting you switch between them with the menu rather than the button.

The top-right button behaviour and the View menu behaviour is set by the Model->Explore view options menu, where the user can configure to automatically instantiate and/or simulate when the user uses the top-right button or click on Explore in the menu View. If both instantiate and simulate are set to manual the user will have to instantiate and simulate through the menu Model. Please note that the first time the model is defined, even if the instantiation is set to manual and we click on explore this will trigger an instantiation since we need at least one instantiation of the current model in order to explore the model itself.

The larger the model the longer the instantiation will take. Once you click on Explore the network will be loaded and you will be able to explore it.

Once in the Explore view, the only component opened by default will be the 3D Representation tab. In the top-right corner of this component you will find an icon that 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 left side bar you can choose among a range of available plots to inspect the structural properties of your network.

Once in the Explore view, clicking on the menu 'Model->Simulate network' you can proceed with a simulation of the network.

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. You can now choose among a range of available plots to inspect the simulation results and analyse them. ).

Now the user can move back and forth between the Edit and the Explore view, change the definition of the network and depending on the Explore view options (automatic/manual instatiation/simulation), the model will be instantiated and/or simulated automatically or will require a manual operation triggered by the user using the Model menu.

Finally below a description of all the options available with our new menu. Once clicked on the icon these are the options available:

  • NetPyNE
    • About: Some information about NetPyNE-UI.
    • Contribute: Useful links if you want to contribute to this project.
  • File
    • New -> Blank: request a new kernel to laod a new model.
    • Open: Loads a JSON that might contain any of the following
      • High-level network parameters (netParams) -- populates most of the Define network tab.
      • Simulation configuration (simConfig) -- populates the 2 bottom configuration cards in the Define network tab.
      • Instantiated network ( -- parameters of all the cells and connections used to visualise and simulate the network in the Create and simualate tab.
      • Simulation results (sim.simData) -- simulation outputs required for the analysis plots.
    • Save: Save the network parameters (netParams), simulation configuaration (simConfig), instantiated network and/or simulation results to a JSON file.
    • Import: Import from a python script.
    • Export: Export from a python script.
    • Workspace: Through the upload/download options will allows us to load/download files to/from our workspace.
  • View
    • Edit: Move to the edit view.
    • Explore: Move to the explore view.
  • Model
    • Create network: Instantiate the network defined in the Edit view.
    • Simulate network: Simulate (will also instantiate if this has not been done) the network defined in the Edit view.
    • Explore view options: Let us set automatic/manual instantiation/simulation when switching between the Edit and Explore view.
  • Tutorials : Some tutorials pre-loaded to play with.
  • Help : Some useful links to documentation.

Below is an example where the user imports netParams and simConfig from a Python script:

Here, the user exports netParams and simConfig to a Python script: