MRCI: a flexible real-time dynamic clamp system for electrophysiology experiments

https://doi.org/10.1016/j.jneumeth.2003.08.002Get rights and content

Abstract

We present a real-time simulation system that enables modeled dynamical systems to interact with physical experimental systems, and is specifically aimed towards execution of the dynamic clamp protocol. Model reference current injection (MRCI) operates under Real-Time Linux (RT-Linux or RTL) and provides a simple equation-oriented language for describing dynamical system models. Features include scripting of commands to implement repeatable protocols, the ability to output pre-computed waveforms through any variable or parameter of the model, the means to conduct time measurements and assess the computational performance of the real-time system, and an installation program that installs the software and accompanying device drivers with minimal input from the user. Tested models operate as fast as 30 kHz, with actual maximum rates dependent on model complexity. We present sample models that exhibit the main features of the modeling language. Experiments demonstrate the abilities of the system by creating a hybrid network of real and simulated neurons, and playing a pre-defined synaptic waveform into a synaptic conductance variable. We conclude by introducing a waveform reconstruction technique that is useful for establishing the presence of significant experimental error in implementations of the dynamic clamp protocol.

Introduction

Voltage-clamp and current-injection techniques are common tools in cellular electrophysiology. Sharp et al. (1993) introduced the dynamic clamp, the technique of real-time simulation of ion-channel conductances and their associated ionic currents, which are injected into an excitable cell. This technique enjoys use in a variety of applications, including endowing individual neurons with artificial conductances (Sharp et al., 1993, Turrigiano et al., 1996, Hutcheon et al., 1996), creating artificial networks of real neurons (Sharp et al., 1996, Elson et al., 1998) or cardiac myocytes (Verheijck et al., 1998), and coupling computational cell models to in vitro cells (Renaud-LeMasson et al., 1993, LeMasson et al., 1995, Wilders et al., 1996, Kumar et al., 1995).

Past implementations of the dynamic clamp have relied on an approach where the simulation software is run on a desktop operating system such as Microsoft Windows. It has been demonstrated that such an approach introduces an excessive amount of cycle-to-cycle jitter, which significantly affects the speed and accuracy of the real-time computation required for the dynamic clamp technique (see Christini et al., 1999, for review). Recently, several laboratories have presented new techniques for implementing this protocol. Pinto et al. (2001) introduced a Windows-based approach that still does not eliminate the jitter problem, but does measure and account for the duration of each computational cycle. Christini et al. (1999) proposed the real-time operating system Real-Time Linux (commonly referred to as RT-Linux or RTL) as a software platform for applying real-time computing to biological experiments. All of the RTL variants have latencies in the microsecond range, where latency is defined as additional delay in the computational cycle, introduced by software and/or data acquisition operations. Both our lab (Butera et al., 2001) as well as others (Dorval et al., 2001), have implemented dynamic clamp techniques based upon RTL. Our system is called MRCI, which stands for Model Reference Current Injection. Performance evaluations of MRCI (Butera et al., 2001) found that our RTL-based dynamic clamp could reliably operate as fast as 50 kHz. However, this rate was achieved with an early version of MRCI that utilized a hand-coded C software implementation of a model. The model performance in recent versions is not as fast because of added features, potential inefficiencies in machine-generated C code produced by the MRCI translator, and a modular design that separates the model from the run-time system, as described in Appendix A.

While both our previous work (Butera et al., 2001) and Dorval et al. (2001) demonstrate that RTL is a viable real-time computing platform, implementing a computational model still required considerable technical skills, such as proficiency in the C programming language and familiarity with Linux kernel programming.

However, the scientist in the lab is most likely to be interested in the mathematical model and its properties, and does not want to worry about numerical algorithms or other details of computer programming. In the case of the dynamic clamp technique, the questions of selecting an integration algorithm and the particular software implementation are technical issues and do not belong to the problem domain. In this paper, we will describe and demonstrate the capabilities of MRCI, our dynamic clamp model specification and simulation environment. MRCI offers improvements in model specification, ease of installation, and built-in features compared to existing published dynamic clamp systems.

Beginning with Version 1.0.0, MRCI includes a translator for a general and flexible language which can be used for describing dynamical systems with ordinary differential equations; its data acquisition driver supports two analog input and two analog output channels, using the E-series PCI and ISA boards manufactured by National Instruments.

The interface to the MRCI computational engine has many facilities to aid the experimenter in understanding the dynamics of the simulated model. Some of these are the ability to perform data logging of any variable in the system; the scripting of command sequences for precise implementation of complex protocols; the ability to load waveform tables and “play” the waveform into any parameter or state variable; the real-time modification of any variable or parameter by the user, and on-the-fly switching from one model to another without restarting the system.

A technical description of the software architecture of MRCI is provided in Appendix A; more information is available in the user manual on the MRCI project’s web site, located at http://www.neuro.gatech.edu/mrci. The software that comprises the MRCI system is distributed under the terms of the General Public License of the Free Software Foundation.

Section snippets

Methods

The computational system consists of a Dell Optiplex (Dell Computer, Round Rock, TX) 500 MHz Pentium III. The PC contains a PCI-6052E multi-function data acquisition (DAQ) board (National Instruments, Austin, TX) with a BNC-2090 coaxial cable interface. This board has 16-bit analog input (dynamic range scalable from ±0.1 to ±10 V) and output (±10 V) channels. For the examples presented in this paper, the computer was interfaced to an Axoclamp 2-B (Axon Instruments, Foster City, CA)

Modeling language

This section briefly describes the MRCI modeling language; it is somewhat technical, and readers primarily interested in installing and running the system should skip to the next section. A more complete description of the modeling language is available in the user manual. The model equations to be evaluated and/or integrated comprise a dynamical system. The language used to describe these equations is a form of a structured mathematical description, which can be extended with constructs of the

User interaction

The user starts MRCI by invoking the MRCI start-up script and giving it the name of a model description file, which is compiled and loaded as a MRCI system module. The user interface to the MRCI application is a command-line interpreter interface which resembles the Unix shell: it prompts for commands and executes them until an end-of-line symbol is read (or the user issues an exit command); if called with a script file name, it reads and executes a script from that file.

The script language is

An example session

We will now proceed to describe an example work session with MRCI to supplement the information given in the previous section. We will use the model shown below, and manipulate its quantities while the computational engine is running. This model is identical in functionality to the single conductance model shown earlier, except that table lookups and the multiply–add–update algorithm are used for computational efficiency. For this session, we assume that MRCI is run from the user’s home

Experimental examples

The MRCI User’s Manual has a detailed tutorial, ranging from bench-top testing of an isolated system to actual experiments. The tutorial is based on a Morris–Lecar excitable cell model (Morris and Lecar, 1981), which receives input from up to two external cells. A commented listing of this model is presented in Appendix B. Any deviations from the parameters listed in the file are specified in the figure captions.

For our first example, we connected the MRCI system to motoneuron B5 of the buccal

Performance analysis

There are two major issues that must be considered when analyzing the performance of the MRCI system: sources of error associated with measurement, acquisition, and particular aspects of the electrophysiology experiment (such as DC offset and bridge balance), and the computational performance of the MRCI software.

Summary and future work

We have presented a powerful and easy to use system for implementing interactive models of real-time dynamical systems. The installation script and model specification language help overcome two of the major obstacles that dynamic clamp users have found when trying to use Linux-based dynamic clamp systems (Dorval et al., 2001, Butera et al., 2001): ease of installation and ease of model specification. Future work includes, in order of priority:

  • 1.

    Porting MRCI to the RTAI real-time Linux extension (

Acknowledgements

The authors wish to thank Simeon Sessley for patience with testing new versions of the MRCI software. The MRCI modeling language is derived from the modeling language used by the Gnans program, which was written by Bengt Mårtensson at the Institute for Dynamical Systems. Some source code is shared between the translators used by MRCI and Gnans. This project is supported by grants from the James S. McDonnell Foundation and National Science Foundation (DBI-998774) to RJB and a Georgia Tech

References (22)

  • V Gauck et al.

    The control of rate and timing of spikes in the deep cerebellar nuclei by inhibition

    J. Neurosci.

    (2000)
  • Cited by (38)

    • Efficient hardware implementation of the subthalamic nucleus–external globus pallidus oscillation system and its dynamics investigation

      2017, Neural Networks
      Citation Excerpt :

      The proposed architecture allows for the applications in the closed-loop electrophysiological experiment to explore brain dynamics at the cellular and microcircuit levels. Electrophysiological experiment is one of the broadest and most successful applications which use intracellular experimental techniques including voltage clamp and dynamic clamp (Raikov, Preyer, & Butera, 2004; Williams & Mitchell, 2008). As demonstrated, the proposed HOSTN model can regenerate the biological dynamics accurately under a stimulation, which makes them especially attractive to closed-loop dynamic-clamping experiment.

    • Cell-specific Dynamic Clamp analysis of the role of funny I<inf>f</inf> current in cardiac pacemaking

      2016, Progress in Biophysics and Molecular Biology
      Citation Excerpt :

      RT-Linux, compared to Windows, has the advantage of running two processes, a real-time process (top priority, guaranteed timing) and the standard Linux operating system (low priority, interruptible by the real-time process), as set out in detail by Christini et al. (1999). The ‘Real-Time eXperiment Interface’ (RTXI, Lin et al., 2010; Ortega et al., 2014) was developed starting from RTLDC (Real-time Linux dynamic controller, Dorval et al., 2001) and MRCI (Model reference current injection, Raikov et al., 2004). RTXI is open-source and free; it uses a modular architecture, which allows the construction of complex experimental protocols using a combination of built-in, community-shared, and self-made modules.

    • Real-time kinetic modeling of voltage-gated ion channels using dynamic clamp

      2008, Biophysical Journal
      Citation Excerpt :

      Equally important is the advance we made in terms of software implementation. To date, most efforts in writing dynamic-clamp software have focused on real-time operating systems (28,29,48) or on real-time hardware (49), with few—and relatively slow—Windows implementations (50). The reason for adopting a real-time operating system, generally at the price of sacrificing a convenient graphical user interface, is the need for consistent real-time performance.

    View all citing articles on Scopus
    1

    Ivan Raikov is an undergraduate student in the College of Computing.

    2

    Amanda Preyer is a graduate student in the School of Electrical and Computer Engineering.

    3

    Robert Butera is an Assistant Professor in the School of Electrical and Computer Engineering and School of Biomedical Engineering.

    View full text