Developed to run within MATLAB, sigTOOL provides a programming and analysis environment for processing neuroscience data.


A graphical-user interface to this environment provides the end-user with a self-contained application for waveform and spike-train analysis. User-written extensions to this application can be added to the interface on-the-fly without the need to modify any of the existing code. sigTOOL is an open-source package and is free to academic and not-for-profit users.
DATA IMPORT
sigTOOL provides the tools to import data into MATLAB from many commonly used proprietory data files. These include:
ABF Molecular Devices Inc (Axon Instruments) format used by e.g. pClamp, AxoScope, ClampFit software (ABF version 10 and earlier)
CFS Cambridge Electronic Design Ltd– Signal software
MAP Alpha Omega
NEX Nex Technologies – NeuroExplorer software
NEV Cyberkinetics Inc
PLX Plexon Instruments
SMR/SON Cambridge Electronic Design Ltd– Spike2 software
DATA ANALYSIS
Many standard analysis methods have been built into sigTOOL. These provide facilities for analyzing waveform and spike-train data and presently include:
WAVEFORM: Averaging (mean and median), auto- and cross-correlation, power spectral analysis, coherence estimation, digital filtering (IIR and FIR), resampling and amplitude distribution. Independent component analysis (ICA) is supported via FastICA and Icasso [3].
SPIKE TRAINS: Interspike interval distributions, Poincaré plots, stimulus driven peri-event time histograms, rasters and frequencygrams, event auto- and cross- correlations, joint peri-stimulus time histograms and spike-triggered averaging. Automatic spike recognition is supported through an interface to the Wave_clus spike sorting package [4]. In addition, spike trains can be transformed to rate histograms allowing any of the waveform analysis routines above to be applied to them.
DATA STORAGE
Imported data are represented in the standard MATLAB (MAT) file format and memory mapped from disc to virtual memory in the PC. This allows very large data sets to be represented as ‘virtual’ matrices in the MATLAB environment and accessed using standard MATLAB syntax. The host operating system will manage data tranfer between disc and RAM. Data has been organized on disc, and in PC memory, to maximize speed. and to take full advantage of MATLAB’s speed-optimized matrix manipulation routines. This organization also increases the likelihood that computations will be performed in CPU cache memory, offering a further ~10x speed improvement [5].
DATA TYPES
sigTOOL supports waveform data that has been sampled continuously or episodically. Multiplexed channels (e.g. from tetrode recordings) are also supported together with event data (e.g. TTL pulses or levels). Each event or waveform epoch can be associated with a set of marker values (e.g. a set of numeric or character values). The marker values can also be replaced with more complex metadata for use in neuroinformatics databases. A single common structure has been developed to support all of these data types. This highly versatile structure can readily be used to support other data formats e.g. image data from a video recording can be incorporated directly into a sigTOOL data file together with electrophysiological data.
DATA VISUALIZATION
sigTOOL provides a strip-chart style data display for the data. This is embedded in an interactive graphical user interface, the sigTOOL GUI, that provides access to the sigTOOL data analysis routines through its menus.
DATA MANIPULATION
sigTOOL is heavily object-oriented: data channels and analysis results are both represented as MATLAB objects. The methods for the channel objects provide an easy interface to the data stored on disc for those users who wish to add their own analysis routines. For result objects, the methods automatically provide access to the sigTOOL data export functions. Curve fitting is supported via EzyFit [6].
EXPORTING RESULTS
Graphical results can be exported in a number of bitmapped (BMP, TIF) or vector formats (PDF, EPS and Adobe Illustrator). Results may also be viewed as numerical values in an internal sigTOOL spreadsheet allowing cut & paste to external analysis software. On Windows platforms, direct output of results to external software is supported via ActiveX (to Microsoft Excel, Systat SigmaPlot and OriginLabs Origin software).
THE sigTOOL GUI
The sigTOOL graphical-user interface provides access to all of the data import, analysis and export facilities. The user needs no knowledge of sigTOOL or of MATLAB to use this interface. The GUI also provides mechanisms for batch processing multiple files and has a ‘History’ function to record user commands.
REQUIREMENTS
sigTOOL requires MATLAB R2006a (Version 7.2) or later for full compatability. Many components can be used with earlier versions (back to Version 6). sigTOOL has been tested on Microsoft Windows XP, Apple Mac OS10.4 and Fedora Core 7/8 Linux. Some components require the MATLAB Signal Processing Toolbox. Spike sorting via Wave_clus requires the Wavelet Toolbox and, for principal component analysis, the Statistics Toolbox.
REFERENCES
1 http://www.mathworks.com/
2 http://www.neuroshare.org/
3 FastICA by Hugo Gävert, Jarmo Hurri, Jaakko Särelä and Aapo Hyvärinen. Icasso by Johan Himberg. http://www.cis.hut.fi/projects/ica/fastica/
4 http://www.vis.caltech.edu/~rodri/Wave_clus/Wave_clus_home.htm
5 http://www.mathworks.com/company/newsletters
/news_notes/june07/patterns.html
6 EzyFit by Frederic Moisy: http://www.fast.u-psud.fr/ezyfit/
M.Lidierth (2009). sigTOOL: a MATLAB-based environment for sharing laboratory-developed software to analyze biological signals. Journal of Neuroscience Methods 178, 188-196.
You may visit the project’s page here.

Post to Twitter Post to Yahoo Buzz Post to Delicious Post to Digg Post to Facebook Post to Google Buzz Post to LinkedIn Post to Slashdot Post to StumbleUpon Post to Technorati