Computer Assisted Neurophysiology by a Distributed Java Program

Share Embed


Descrição do Produto

COMPUTERS AND BIOMEDICAL RESEARCH ARTICLE NO.

31, 465–475 (1998)

CO981494

Computer Assisted Neurophysiology by a Distributed Java Program Luc Jeandenans,* Michel Gautero,* Franc¸ois Grize,* Igor V. Tetko,†‡ and Alessandro E. P. Villa† *Institut d’Informatique, Colle`ge prope´deutique, and †Laboratoire de Neuro-heuristique, Institut de Physiologie, Universite´ de Lausanne, Lausanne, Switzerland; and ‡Department of Biomedical Applications, IBPC-Academy of Sciences of Ukraine, Kiev 660, Ukraine

Received February 26, 1998

We have developed a distributed software package which allows neurophysiologists to have at hand a set of network and graphic tools in order to perform the analysis of data collected from the electrical activity of neurons, studied in the experimental laboratory. This system is built around three major components. First, the experimental data are processed in order to select specific data files from the networked computer and display the spike trains as raster dots. The second part selects one type of analysis (e.g., cross-correlation, out of a set of possible choices) after configuration of some specific parameters. Finally, the third component deals with the results of data analyses, which are selected and displayed on a multi-parameter graphic ‘‘ring binder.’’ We have used the Java programming language to implement this application. This recent object-oriented language offers platform-independent software tools including graphic package and standard network protocols.  1998 Academic Press

INTRODUCTION A better understanding of higher functions such as perception, motor planning, or retrieval of memories can only be achieved by testing new hypotheses of how the brain encodes and transmits information. The study of brain information processing can be based on theoretical models, on simulation results, or on experimental observations and the related analyses. The experimental approach is gaining a renewed interest since modern technological advances allow the recording of tens of neurons simultaneously in behaving animals (1, 2). Indeed, multiple dimensions of sensory and behaviorally relevant stimuli are processed by thousands of neurons distributed over many areas of the brain. That neurons convey a temporal code has been well known since early electrophysiological studies led to recognition that spike trains—the time series formed by the sequences of time intervals between spikes—were related to meaningful physiological variables (3, 4). Most methods of spike train analysis require a computational environment and programming know-how that limit their use 465 0010-4809/98 $25.00 Copyright  1998 by Academic Press All rights of reproduction in any form reserved.

466

JEANDENANS ET AL.

for routine investigation in many neurophysiology laboratories. Moreover, the analysis programs were developed on a large variety of computer platforms and several data formats are in use. Such a variety of platforms was usually accompanied by customized choices of the operating system, file management, and graphic interface. The computational power gained by personal computers in 1997 at affordable prices (i.e., at less than $5000 U.S. per unit) and the communication facilities provided by worldwide digital networks have dramatically modified the environment of investigation in neurophysiology. A global computational approach to such experimental studies, termed computer-assisted neurophysiology (CAN), was suggested (5). In recent years several comprehensive software packages including spike train analyses have been developed, such as XNBC (6), Neural Data Analysis (Laboratory for Higher Brain Functions, Department of Physiology, Hebrew University, Jerusalem, Israel), and Stranger (Biographics, Inc., Winston-Salem, NC). This paper presents the principal features of an approach to CAN based on a new programming environment. Many ideas for the development of our approach have been inspired by the above-mentioned packages. We present a new software, called SPANAKE (a particular acronym of spike and analysis), as an evolving approach which should benefit in the future contributions of several investigators. A key feature of our program is its network-oriented scaffold aimed to allow a user to handle data collected in one site to be processed at another site by means of an analytical method processing the data files on a sever-based mode. Most analytical methods are time consuming and have been developed and optimized over several years. By means of enhanced network tools of the Java programming language (7), it was possible to use a computational kernel written in C11 and installed on a remote server. All operations are executed in SPANAKE from one platform, either a terminal or a personal computer, and are transparent for the end user. The user interacts with a graphic manager controlling the data flow from the experiment (time series files) to the analysis programs, and from these programs (result files) to the graphic output. These features contribute to build a ‘‘virtual laboratory’’ as a working place for the neurophysiologist investigator. LAYOUT OF THE SOFTWARE The overall objective of this project is to create an integrated multiplatform software which allows the neuroscience research scientist to perform a comprehensive series of electrophysiological data analyses without lengthy and specific training in computer science. It could also be used as a control panel for neurophysiology tasks after experiments. SPANAKE manages the selection of data, generally in form of time series corresponding to spike trains, from a local computer connected to the experimental setup as well as from remote computers. After the selection, the data could be displayed as dot rasters and transmitted to specific analysis programs running on a dedicated server. After launching of one selected analysis, we can store and retrieve the results for display. Fig. 1 summarizes this data flow and shows that the work needed to recover process and display the results of an experiment can involve a large number of computers.

COMPUTER-ASSISTED NEUROPHYSIOLOGY

467

FIG. 1. Diagram of the data flow handled by SPANAKE illustrating the interactions between spike data files (SDF), display, and analysis result files (ARF).

Human interaction with the operating systems of the computers involved at each stage of this data flow is not only a waste of time but also a source of many errors: incorrect manipulations can all too easily happen, especially when the user has to work on many different systems. The first objective was therefore to use SPANAKE as the control panel for all these operations. SPANAKE works in the client/server mode: a dialogue box allows the user to select a specific computer over the network (specified as Internet host), and subsequently the local user’s computer interrogates the servers for each of the tasks referred to above and establishes all required communication channels in a ‘‘transparent’’ way, after receiving the necessary authorizations. The remote machines hosting the programs for analyses must play the role of servers, and we have actually developed a proprietary protocol based on the usual client/server mechanisms, i.e., sockets. DATA PROCESSING We tested the software on multiple spike trains recorded from the cerebral cortex of anesthetized (8) and freely moving rats (9). Spike trains are stored, as discrete time series, in readable standardized format files. These are ASCII files and therefore they can easily be moved around the computer network. We have chosen the file format proposed by Abeles (10), briefly summarized as follows. The data are coded by triplets of numbers: two numbers describe the event type and its qualifier, and the third describes its time of occurrence. The time is

468

JEANDENANS ET AL.

FIG. 2. This file reads as follows. In the first line the units of time are given in milliseconds (delimited by quote marks). The second and third lines are comments (delimited by quote marks). These comments can be used as descriptors in the graphic output. The fourth line begins with a special code indicating the start of the data collection. Actual data started 14 ms later with a spike occurrence (event_type 5 1) of cell number 7 (event_qualifier 5 7). The next event was a spike from cell number 10 (coded as A in hexadecimal notation) which occurred 29 (14 1 15) ms after the start of recording. The third actual event was a stimulus (event_type 5 63) with particular characteristics (pitch and location coded according a scheme corresponding to the event_qualifier C05 in hexadecimal notation) occurring 49 (14 1 15 1 20) ms since the start of recording. The same applies for the other events. Note that special codes are used to indicate the stop of acquisition and the end of file.

expressed as an interval from the previous event. The first lines of one such data file are displayed in Fig. 2. Several laboratories throughout the world have been using data files coded according to this scheme. Therefore, this format offers a potential standard for data exchange in collaboration between laboratories. In SPANAKE, raw data files can be selected singly or as groups for analysis, following an interactive menu for choosing specific time series analyses. In addition, these files can be displayed as dot rasters aligned according to a selected trigger event and customized time scales (Fig. 3) ‘‘master’’ dot display and interactively change the onset of the trigger event with respect to the time axis origin. These files can be selected and collected from linked network sites. The layout management of the dot rasters allows one to change quickly and easily parameters of the display like the places of cell on the output frame, the number of graphics on the frame and per line, the start time, and the total duration. The content of the data file is loaded into memory of the local computer. This file transfer via the network is a particularly important point because of the growing traffic load in computer networks which often provokes low transfer rates. It is handled by means of a specific feature of the Java language. The files are compressed before being transferred and decompressed on the end computer. Compression and decompression of the data stream are then effected transparently and efficiently. ANALYTICAL METHODS Selection of an Available Program Several analytical methods such as gravity clustering (11), spatiotemporal patterns of spike detection algorithms (12–14), and joint peri-stimulus-time histogram (15) have been developed to detect and reveal the existence of temporally

COMPUTER-ASSISTED NEUROPHYSIOLOGY

469

FIG. 3. An example of the raster display of 12 simultaneously recorded neurons aligned to the onset of a stimulus (vertical line). The time scale was set to 1000 ms. The vertical scale represents 100 repetitions of the same stimulus sweep.

organized patterns of activity in simultaneously recorded spike trains. In addition, recent developments of spike train analysis in the framework of nonlinear dynamical systems (16–18) have suggested additional tools for studying the dynamics of experimentally recorded cell assemblies. There are two essential requirements for implementing computationally de-

470

JEANDENANS ET AL.

manding methods to analyze spike trains. On the one hand, they need speed and therefore an efficient programming language, like C, C11 which is not necessarily the language of a graphic or networking tool, as such needed here. On the other hand, they need high-performance computers. These two specific characteristics often lead to specific application developments on different closed platforms, so that while one analysis program should be implemented in language X1 on a network machine Y1, another one could be implemented in language X2 on a machine Y2. So, it is necessary to establish a link between SPANAKE and the customized specialized programs in order to communicate all information (i.e., data files and parameters) needed to launch these programs from the interface, and finally to recover the results. This process should be ‘‘transparent’’ in order to let the user focus on the precise configuration of preprocessing parameters of a selected analysis handled through an interactive menu. A server is launched on the computer running the analysis program. This proprietary server is able to recognize the authorized clients and establish the links following the standard socket-based procedures. It is essential for SPANAKE to be able to access programs written in languages other than Java. We cannot expect users to abandon customized software for complex data analysis and rewrite it in the language chosen by us. Java offers a solution to this problem because it enables programs written in C or C11 to be interfaced through a Java-written control procedure. More unusual is the fact that Java also defines the reverse communication protocol, namely the possibility for a program written in C or C11 to dialogue with the program written in Java. We can therefore ensure bidirectional communication between the different applications. This communication is effected independently from a physical computer platform, in a manner that is transparent to the end user. Note that the relative slowness of Java, a new language which is still not optimized, is not a drawback because the computationally intensive programs for data analysis were written in C or C11. Adding a New Program It is possible to call an executable program using the Java programming language. This represents the simplest solution for the user. A method in the Java Developer Kit (19) runtime class enables Java to execute any external applications: the user who already has his program does not have to perform any extra work. However, the communication between the program launched in this way and SPANAKE is limited, and the possibilities of two-way communication between the user interface and the analysis program cannot be implemented. The Java programming language also offers flexibility by using dynamic libraries. A library can be seen as a compiled program from which the input point has simply been withdrawn, i.e., the point which is executed at first when the program is launched. A program using a library can call upon all the declarations made in the latter. A dynamic library has the additional feature that it can be linked to a program when the latter is executed and not when it is compiled.

COMPUTER-ASSISTED NEUROPHYSIOLOGY

471

A dialogue window allows the user to define (i) the name of the analysis, (ii) a brief text describing the analysis, (iii) the name of the Java dynamic library containing the analysis, and (iv) the complete path (through the network) of the directory which hosts this Java dynamic library. A procedure written in a different language is usually referred to as a ‘‘native method’’. The Java program must declare the native method which loads the dynamic library whose name of the dynamic library can be chosen arbitrarily. For instance, working with a Unix operating system such as Solaris (Sun Corp.), the real name of the library generated by the compilation will be ‘‘libXhelloY.so,’’ whereas in a Windows system (Microsoft Corp.), it will be ‘‘XhelloY.dll.’’ As demonstrated here the final library names depend on the operating system. However, the names are effected by Java during the compilation, meaning that the same native code can be used across any platform with Java. The name of the native method is also entered in the program code. Therefore the programmer must respect some simple, but strict rules declaring the name of the method in a consistent way throughout the program calls. RESULTS MANAGEMENT The processing of the time series analyses may generate several graphic files containing up to several hundreds of curves. These curves can be displayed after single or multiple file selection. After loading, the graphics are available on several pages, and a browsing system allows navigation through these pages. On each page, it is possible to determine the number of graphics to be displayed, to zoom independently, and to print (Figs. 4 and 5). The graphic metafiles are based on a very simple format based on a series of x, y coordinates, thus allowing the possibility to enhance the display package for future analyses. The layout of the ‘‘ring binder’’ that we have implemented in SPANAKE benefits from a clear separation between the visual aspects and event management. This improvement is implemented without jeopardizing the parallel structure that we introduced into the display. Each page of the ‘‘ring binder’’ is constructed in a separate thread, which is defined as platform-independent in Java. The last task of such thread is to launch the construction of the next page by calling the result display window. When this window receives the message and all pages have been constructed, the process stops. In this way, the computer is not overloaded by the simultaneous initialization of dozens of threads (most machines are still mono-processors). Thus, a page can be displayed as soon as it has been constructed and it becomes possible to navigate freely between all the constructed pages. This feature allows the user to visualize some data files while at the same time selecting some other files for analysis, or to launch an analysis while visualizing some results from another analysis. DISCUSSION We have presented the outlines of a software package, SPANAKE, designed to allow neurophysiologists to work in a user-friendly computer environment. The main points of our software are its programming language, Java, and its use

472

JEANDENANS ET AL.

FIG. 4. Display of dynamical system analysis according to the Grassberger–Procaccia algorithm (17). The correlation integral is plotted versus the radius r, in the natural logarithmic scale for embedding dimensions 1 to 8. Note that one display is zoomed and the lines are parallel across a region called the scaling region.

COMPUTER-ASSISTED NEUROPHYSIOLOGY

473

FIG. 5. Display of autorenewal density analysis (20). The horizontal axis is time (ms) and the vertical axis in scaled in rate units (spikes/s). Horizontal and vertical bars on each display indicate the scale.

across a computer network via the Internet protocol. This software offers an effective tool to neurophysiologists involved in computer-demanding analyses because its modular features allow for easy update and extension. An additional advantage is that investigators can use a distributed architecture based on powerful remote computers for data analysis, and local computers for management and display. These features create a ‘‘virtual laboratory’’ workplace, where several investigators can share data, results, methods of analysis, or all of them at the same time. The degree of interchange depends only on the individuals because the

474

JEANDENANS ET AL.

software is transparent to these choices. We stress that an original characteristic of our package is its modular organization and open construction, thus allowing a new partner in a research project to easily add a new analytical method by simply compiling the algorithmic program with the proper dynamic Java library and running a SPANAKE server on that computer. The Java programming language allows SPANAKE to be run on multiple platforms without recompilation and makes use of programs compiled using native C/C11 for computing demanding tasks. However, dynamic configuration of a customized program for time series analyses may need a quiet large number of parameters, passed as strings in the actual communication protocol. The socket-based client/server solution should be considered a temporary solution, and we look forward to replacing it with communication interfaces based either on the RMI protocol specifically designed for Java or on the CORBA protocol, which is becoming a standard for distributive programming. These protocols permit one to transfer complex objects comprising data and functions and represent an opening for future developments based on JINI (Sun Corp.) for dynamic interface loading. The use of the Java language and the standard Java Developer Kit (19) enables us to envision the conversion of the graphic application into an applet which is accessible from any Java-compatible Web browser. Then it is possible to envision the use of SPANAKE Web-browser utilities for Intranet applications. Resource access (like data files on a disk) for Java applets is restricted from Web navigators and access to analytical methods servers is performed only under the proper authorization and using the SPANAKE proprietary protocol. These two features ensure the protection of local devices and the reception of data on a secured server. Furthermore, transmission could be ensured by the data encryption facilities provided by the Java language. The complete SPANAKE program relies on the standard security and authorization procedures offered by the file transfer protocol on the Internet, thus deferring security matters to the users and the system managers of their computers. ACKNOWLEDGMENTS We thank Brian Hyland and Marco Tomassini for providing useful comments and suggestions to improve the manuscript. This research was partially supported by European Grant INTAS 98.168 and Swiss Grant FNRS 2150-045689.95.

REFERENCES 1. Skaggs, W. E., and McNaughton, B. L. Replay of neuronal firing sequences in rat hippocampus during sleep following spatial experience. Science 271, 1870 (1996). 2. Nicolelis, M. A. L., Ghazanfar, A. A., Faggin, B. M., Votaw, S., and Oliveira, L. M.O. Reconstructing the engram—Simultaneous, multisite, many single neuron recordings. Neuron 18, 529 (1997). 3. Perkel, D. H., and Bullock, T. H. Neural coding. Neurosci. Res. Program Bull. 6, 221 (1965). 4. Segundo, J. P., and Perkel, D. H. The nerve cell as an analyzer of spike trains. UCLA Forum Med. Sci. 11, 349 (1969).

COMPUTER-ASSISTED NEUROPHYSIOLOGY

475

5. Villa, A. E. P., Zurita, P., and Jeandrevin, S. Sirene: Interactive artificial network modeling in computer assisted neurophysiology. In ‘‘Neural Networks from Models to Applications’’ (L. Personnaz and G. Dreyfus, Eds.), pp. 627–633. I.D.S.E.T., Paris, 1989. 6. Vibert, J. F., Pakdaman, K., Boussard, E., and Av-Ron, E. XNBC: A simulation tool. Application to the study of neural coding using hybrid networks. Biosyst. 40, 211 (1997). 7. Gosling, J., Joy, B., and Steele, G. ‘‘The Java Language Specification.’’ Addison–Wesley, New York, 1996. 8. Villa, A. E. P., Tetko, I. V., Dutoit, P., de Ribaupierre, Y., and de Ribaupierre, F. Corticofugal modulation of functional connectivity within the auditory thalamus of rat, guinea pig and cat revealed by cooling deactivation. J. Neurosci. Meth. (1998). 9. Villa, A. E. P., Hyland, B., Tetko, I. V., and Najem, A. Dynamical cell assemblies in the rat auditory cortex in a reaction-time task. Biosyst. (1998). 10. Abeles, M. ‘‘Corticotronics: Neural Circuits of the Cerebral Cortex.’’ Cambridge Univ. Press, Cambridge, UK, 1991. 11. Gerstein, G. L., Perkel, D. H., and Dayhoff, J. E. Cooperative firing activity in simultaneously recorded populations of neurons: Detection and measurement. J. Neurosci. 5, 881 (1985). 12. Dayhoff, J. E., and Gerstein, G. L. Favored patterns in spike trains. I. Detection. J. Neurophysiol. 49, 1334 (1983). 13. Abeles, M., and Gerstein, G. L. Detecting spatiotemporal firing patterns among simultaneously recorded single neurons. J. Neurophysiol. 60, 909 (1988). 14. Tetko I. V., and Villa, A. E. P. Fast combinatorial methods for estimation of complex temporal patterns of spikes. Biol. Cybern. 76, 397 (1997). 15. Aertsen, A. M. H. J., Gerstein, G. L., Habib, M. K., and Palm, G. Dynamics of neuronal firing correlation: Modulation of ‘‘effective connectivity.’’ J. Neurophysiol. 61, 900 (1989). 16. Aihara, K., Takabe, T., and Toyoda, M. Chaotic neural networks. Phys. Lett. A 144, 333 (1990). 17. Celletti, A., and Villa, A. E. P. Determination of chaotic attractors in the rat brain. J. Statist. Phys. 84, 1379 (1996). 18. Pei, X., and Moss, F. Characterization of low-dimensional dynamics in the crayfish caudal photoreceptor. Nature 379, 618 (1996). 19. Gosling, J., and Yellin, F. ‘‘JDK: The Java Application Programming Interface,’’ Vols. 1, 2. Addison–Wesley, New York, 1996. 20. Abeles, M. Quantification, smoothing, and confidence limits for single unit histogram. J. Neurosci. Meth. 5, 317 (1982).

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.