Team:ETHZ Basel/Achievements/Matlab Toolbox

From 2010.igem.org

(Difference between revisions)
(Tracking the E. lemming from Saved Images)
(Tracking the E. lemming from Saved Images)
Line 41: Line 41:
== Examples ==
== Examples ==
=== Tracking the E. lemming from Saved Images ===
=== Tracking the E. lemming from Saved Images ===
-
[[Image:imageStreamJoystick.jpg|thumb|280px|Screenshot of the model.]]This example shows how to continuously load saved microscope files from the disk, and to detect and track the cells on them. Furthermore the user can select one cell for which the movement direction is visualized and for which the path is plotted. This model is available as a joystick input and a keyboard input version.
+
[[Image:imageStreamJoystick.jpg|thumb|250px|Screenshot of the model in the joystick input version.]]This example shows how to continuously load saved microscope files from the disk, and to detect and track the cells on them. Furthermore the user can select one cell for which the movement direction is visualized and for which the path is plotted. This model is available as a joystick input and a keyboard input version.
 +
<br clear="all" />
=== Simulating the E. lemming ===
=== Simulating the E. lemming ===

Revision as of 16:54, 17 October 2010

Lemming Toolbox (Matlab/Simulink)

Background

During the iGem competition we developed several fast algorithms (e.g. for cell detection and tracking), complex models, as well as novel visualization, user input and microscope control approaches. Already during their development we took serious efforts to construct all parts in a modular and interchangeable way to deal with the combinatorial diversity of the questions our models as well as the information processing had to answer. Besides the various modules which can easily be reused by people experienced in programming, we also developed a graphical block representation of the various modules based on Simulink. This graphical user interface (GUI) can also be used by people with no or only little programming knowledge to solve complex tasks. These tasks do not have to be necessarily related to our iGem project, but can e.g. include the simulation of wild type chemotaxis, the detection of various cell types or the transfer of image data between a microscope and Matlab. We bundled all for other people useful Matlab and Simulink files into an easy to use Matlab Toolbox, which we named the Lemming Toolbox. This Lemming Toolbox was also used extensively during our project and speeded up the in-silico part significantly due to its modular design, which allowed for fast reassembly of program parts to solve urgent last-minute questions.

Since science is based on the open availability of information and approaches, we decided to give something back to the Systems and Synthetic Biology community by cleaning and documenting the Lemming Toolkit and making it available as Open Source under the GNU General Public License (see [1]). In the following we give a short overview about the abilities and requirements of the software, as well as providing free download possibilities. Finally we shortly present the various systems (Simulink models) build with the help of the Lemming Toolkit, for which we also provide download possibilities. We hope that the Lemming Toolkit can help other researches as well as future iGem participants to faster solve their tasks.

Features

The Lemming toolbox has, amongst others, the following features:

  • Two molecular ODE models of the chemotaxis pathway, based on the published models of Spiro et al. (1997) and Mello & Tu (2003).
  • A stochastic model of the movement of E. coli generating paths for an E. coli cell for time varying bias signals.
  • Various image sources, e.g. modules loading saved microscope images, generating microscope look-alike images from simulations, or pulling images in real-time from a microscope(1).
  • Fast cell detection and tracking algorithms compatible with all image sources.
  • Visualization methods for real-time post-processing and displaying microscope images, together with an intuitive representation of the results of upstream modules like cell detection.
  • Various user input possibilities, like real-time control of modules with either a joystick or the keyboard.
  • Modules enabling the control of a automated microscope with Matlab scripts(1).
  • Either accessible to Matlab scripts, realized as a broad set of standardized Matlab functions, or by an...
  • Intuitive graphical user interface based on Simulink, which can fully be combined with other Simulink toolboxes.
  • Modular and expandable design.
  • Open Source under the GNU General Public License.
  • Platform independent.

(1)This functionality is only usable with one of the various supported microscopes and an installation of μManager and μPlateImager. A finished version of μPlateImager will be published soon, but a beta version can be obtained for free by writing a request to moritz.lang@bsse.ethz.ch. μManager is a third party open source program available under [2].

Requirements

The following requirements are only necessary to be able to use all features of the Lemming Toolbox. Most modules can still be used even if one or several of the requirements are not fulfilled. In such cases, we recommand to simply download the Toolbox and test the corresponding modules. We tried to make this list comprehensive, however we cannot guarantee that we did not miss one or several requirements. The following requirements we are aware of:

  • Matlab R2007b or higher (not tested with lower versions).
  • Installed Image Processing Toolbox.
  • Installed Simulink 3D Animation (former named Virtual Reality Toolbox).
  • Actual Windows, Mac OS or Linux operating system.
  • Approximately 24 MB of free disk space.
  • When using the joystick input: Joystick with at least three axes and six buttons. Force feedback optional.
  • For smooth real-time image analysis we recommend at least a 1GHz processor with 1024 MB RAM.

Download

To freely download the Lemming Toolbox, please visit SOMEWHERE. All program files are included as Matlab m-files and Simulink mdl-files, thus no additional source code files have to be provided. For (downloadable) examples, please see below.

Examples

Tracking the E. lemming from Saved Images

Screenshot of the model in the joystick input version.
This example shows how to continuously load saved microscope files from the disk, and to detect and track the cells on them. Furthermore the user can select one cell for which the movement direction is visualized and for which the path is plotted. This model is available as a joystick input and a keyboard input version.


Simulating the E. lemming

This model exemplifies how to use the "molecular model" and the "movement model" block to stochastically generate possible paths of the E. lemming based on the light inputs. The user can manually input the light signals either with the joystick or the mouse or activate a controller which forces the E. lemming to a user defined direction. For every time-step a microscope look-alike image is generated and visualized. This model is available as a joystick input and a keyboard input version.

Simulating and Detecting the E. lemming

Same as the previous example, only that this time not the outputs of the "movement model" block are directly used to determine the position. Instead, the generated image for the visualization is also used as the input for the "cell detection" and the "cell tracking" block. The detected position of the E. lemming is then used for visualization and as an input for the controller. This version requires more sophisticated user inputs. This model is also available as a joystick input and a keyboard input version.

Controller Design Model

This model represents the model which was used to design and evaluate the different controllers used to force the E. lemming on the user defined direction. For speed reasons, only a simple graphical output is required. Furthermore no user input is needed during the simulation.

E. lemming 2D (game)

Here, the user has to directly control the red and far-red light inputs to the "molecular model" block. In a slightly modified graphical visualization he thus has to "hunt" other E. coli cells. When close enough, the user can release photons to eliminate other cells. For more details, see here. This model is available as a joystick input and a keyboard input version.

References

[1] Spiro et al: A model of excitation and adaptation in bacterial chemotaxis. PNAS 1997 94;14;7263-7268.

[2] Mello & Tu: Perfect and Near-Perfect Adaptation in a Model of Bacterial Chemotaxis. Biophysical Journal 2003 84;5;2943-2956.