GENESIS: Documentation

Related Documentation:
Contributed By:
Dave Beeman (dbeeman@dogstar.colorado.edu)
Based on fplot.py for plotting the membrane potential from the G-3 implementation of tutorial4 written by Karthikeyan Subramanian (kartikznov@gmail.com)

G3Plot (Ver. 0.55)

This is a preliminary version of a collection of stand-alone Python-based graphical utilities for plotting the output of GENESIS simulations. The simulations use the asc_file object to write simulation variables to a file, with one line per step of the output clock. These scripts may also be useful as prototypes of graphical objects that could be more directly incorporated into the GENESIS GUI G-Tube.

These scripts make use of the powerful scientific graphics capability of Matplotlib, which easily generates a wide variety of plots, accompanied by a Navigation Toolbar that allows for panning and zooming of plots, and saving to publication quality PNG format images.

To run these scripts, you need Python Ver. 2.5 or later, and the Matplotlib library for Python. The installation instructions explain other requirememts, such as NumPy (numerical libraries for Python) that are usually installed along with Python on most Linux systems.

The main script of this package, G3Plot.py, also requires wxPython, the Python implemention of the wxWidgets widget set now used by GENESIS.

The use of these Python libraries is described in the Frontiers in Neuroinformatics special issue on Python in Neuroscience.

Python scripts

Brief description of the scripts and their usage:

Other related files

BUGS and ‘features’

Under Fedora 12 Linux, the scripts plotVm.py and rasterplot.py produce the warning message:

/usr/lib64/python2.6/site-packages/matplotlib/backends/backend_gtk.py:621: DeprecationWarning: Use the new widget gtk.Tooltip   self.tooltips = gtk.Tooltips()

G3Plot.py does not produce this warning, but does not show the (x,y) coordinates of the cursor in the Navigation Toolbar. This is a very handy feature of plotVm.py, when measuring action potential times and amplitudes.

Note: G3Plot.py uses the Matplotlib backend API for embedding in wxPython, matplotlib.backends.backend_wxagg NavigationToolbar2WxAgg. The other scripts, which do not use wxPython, use matplotlib.pyplot.figure, which has the Toolbar built in. Possibly, there is a setting to enable this feature hidden somewhere in NavigationToolbar2WxAgg.

References