Uses of MIEN

Summary of the intent, implementation, and features of MIEN.

MIEN (Model Interaction Environment for Neuroscience) provides a framework for storing, integrating, and interacting with neuroscience data, including anatomy data, physiology data, abstract mathematical models, and detailed compartmental models. MIEN is not a compartmental model simulator, but it provides an interface to the Neuron simulator for evaluation of compartmental models.

Tasks that MIEN is ideally suited for include the following:

MIEN is especially well suited to constructing hybrid models where these abstract mathematical systems are used to drive or analyze detailed compartmental models of neurons. MIEN provides the following primary components:

MIEN implementation, extension, and the future of the MIEN project.

MIEN is written primarily in Python (version 2.5 required), making extensive use of the numpy extension package (version >=1.0 required). The GUI components also use the wxPython (version >=2.6 required) and PyOpenGL (version >=3.0 recommended). Some advanced features of the DSP block functions and the optimizer module require the full SciPy package (use versions compatible with numpy >1.0).

MIEN also incorporates some python extensions written in C, which will require a C compiler to build. Use of the MIEN GUI applications (with the possible exception of the DSP editor) doesn't require SciPy or compiled C extensions, although you will see lots of warnings about failing to import this or that module from mien.blocks if you don't have these. Evaluation of compartmental and hybrid models currently requires the Neuron simulator. Support for other simulators, notably GENESIS should be easily implemented, and may be added in the future. The preferred method of obtaining MIEN is via subversion, using the command "svn co http://mien.msu.montana.edu/svn/mien".

MIEN is designed for rapid customization. This is primarily accomplished by writing Python modules for the mien.blocks or mien.parsers packages. It is also possible to extend MIEN in C, and it is possible to write blocks in Matlab as well (this requires a licensed install of matlab, and the performance is much worse than with native python modules). It should also be possible to extend MIEN using any language that can be inlined into Python, or any library that can be wrapped with SWIG, but these methods of extension haven't been tested.

Currently I (Graham Cummins) am the primary developer on the MIEN project. It is probable that I will continue developing MIEN until August 2009. It is my hope that the MIEN code can at that point be passed to another developer or incorporated into another open source project at that time.

Use of MIEN to process anatomical data

One of the first tasks that MIEN was applied to was the problem of integrating anatomical and physiological data to generate a complete compartmental model. Here I will document the steps our lab used in this procedure. Firstly, appropriate data must be available. In our case, we had a number of reconstructions of filled, identified, invertebrate interneurons, and several intracellular recordings from these cells. The cells were filled using cobalt, and reconstructed using DIG (which produces output in the BBT format) and later Neurolucida. The physiology data included spike waveforms, recorded in the DataMAX format, and complex transfer impedance and F/I measurements, recorded as raw text.

The first step is to read the anatomy data and have a look at it. Using the cell viewer component, both types of data can be automatically read and displayed. For some of the cells, we then needed to remove some anomalies caused by digitizing errors (or, in the case of the BBT file format, file encoding errors). The editing features in the viewer make this inspection and touch up easy. Cells filled with cobalt are know to undergo shrinkage during the fixing process. We used the scaling tools in the cell viewer to approximately reverse the measured effects of cobalt shrinkage. To fine tune this process, we measured the positions of landmarks and key dimensions on unfixed cells of the same type, stained with florescent dies. These measurements were made using the stage encoders on a Lieca microscope. MIEN was used to read these measurements, make equivalent measurements on the digitized cells, and adjust scaling appropriately.

By visual inspection and comparison to the unfixed preps, we discovered that the cell bodies of some fixed cells had collapsed, decreasing in diameter and becoming less spherical, by amounts larger than the shrinkage of the dendrites. We added a customized function to MIEN to correct this cell-specific issue. This function required about 15 lines of python code to implement. Independently, we used MIEN to build a simplified cable model containing parametric models of ion channels thought to exist in cricket interneurons. We loaded the physiological data of spike waveforms and used the DSP tools to construct a model of the average observed axonal spike.

Next we constructed an abstract model that set the density and kinetic parameters of channels in our cable model, stimulated this model with different levels of current, and recorded spike output waveform and frequency. We produced an optimization routine using a genetic algorithm to take kinetics and densities as parameters and match waveform and F/I as cost function. This optimizer ran (automatically) on a distributed network of computers, and returned channel kinetics that reproduced the observed axonal spiking characteristics almost exactly. To integrate the physiology data with the anatomy, we first constructed an abstract model that adjusted passive electrical properties to fit the observed input and transfer impedances in regions of the cell far from the axon. We selected these parameters using a second optimizer. We then used the cell viewer to select regions of the anatomy corresponding to the electronic axon, the active, but non-electrogenic, proximal dendrite, and the approximately passive distal dendrite.

We used a cell constructor add-on to the XML editor for assigning channel models and densities in these regions. In the proximal dendrite, we used an exponential fall-off function for channel densities. This function, and the passive nature of the distal dendrite, were assumptions of our model, but the rate of fall-off was fit by a third optimizer so that the waveform and F/I behavior in the model axon remained fit to observation.

Finally, we added synaptic inputs to the model by using the probability density features of MIEN to estimate expected overlap between our interneuron and a population of sensory afferents (large numbers of anatomical reconstructions of these afferents were fortunately available). The result of this procedure was a complete physiological model of an interneuron, which could be provided with synaptic inputs and evaluated in the Neuron simulator. After assembling the first model, we were able to use MIEN to assemble three more models of similar interneurons in only a few hours per model.

 

Last edit: 05/29/09

Index