Team:XMU-China/Content4
From 2013.igem.org
Line 15: | Line 15: | ||
<body> | <body> | ||
- | <div id="wrapper3"> | + | <div id="wrapper3" style="margin-top: 40px"> |
<style> | <style> | ||
#wrapper2 {background:#fccccc} | #wrapper2 {background:#fccccc} |
Revision as of 17:18, 25 September 2013
We coded two softwares by MATLAB related our experiment.
First one is Gene OS, the model of oscillation which simulates our circuit and compares various results with different initial conditions. This gave us a deeper understanding about the mechanism.
The other one is ImageMe which offers batch processing function and reduces much of time in analyzing the microfluidic images.
Software & Function Introduction
Based on the DDEs,“Gene oscillate simulator” has two main modes of simulations. The basic simulation is designed for the oscillate circuit with LuxI, aiiA and LuxR, while the advanced simulation adds the effect of ndh gene. In each of the modes, users can make a series of graphs though designing the different parameters. The numbers of graphs mainly depend on the different parameters and the modes.
The meaning of each parameter can be displayed when click each parameter or right click each input box. For the people first use this software, we designed the “one example” function which can set the parameters suitably in a single time.
To get an idea about the different conditions in which oscillations could occur, we created a function which allows users to enter the range in which the variables should be varied and compare their results in the results. Due to the arithmetic speed, we finally apply this function in fluid flow speed and cell density, which are the most important parameters in the model. For example, people can set the cell density range from 0.1 to 0.9 with the step 0.2 by not selecting the “Fix the cell density” item.
A white noise system was coded to simulate the noisy environment in the medium. This function makes the model closer to the actual environment. Users can set the strength by clicking “add white noise” box and inputting the decibels.
A script calculates amplify and period of the oscillation is also added as an additional function. This allows our software detect and compare the characteristic of certain oscillation.
After setting all the parameters, users can save and output these settings into a standard 2003 excel file through the file menu. Loading is also supported which makes more convince for transmitting the parameters.
Before draw the graphs users need to choose the plot mode when range parameters exist. For example, when set the cell density the software will ask user to draw separately or put curves with different cell density together.
Then clicking the “draw” button, the software iterates over the values and plots graphs of all combinations possible for that range of values. After calculating, at most 3 kinds of graphs can be given, (1) concentration alteration of four main protein (2) fluorescence alteration under different cell density and fluid flow speed (3) amplify and period alteration under different cell density and fluid flow speed.
To protect the software and computer, we designed an error-stop system which could stop the simulation as soon as one error was detected. This system also is called when users click “cancel” button to stop the calculation. But different with error happened; this stop process takes about 1 min. The arithmetic speed of this software depends on the complexity of the parameters. Choosing both cell density range and fluid flow range to calculate can sometimes take more than 10 minutes. It is mainly because the large numbers of nested for-loops in the script and the slowly calculate speed about MATLAB core.
You can dawn load the MATLAB code here
Background
We usually got a great number of fluorescent images every time when we finished the 8-hours-long microfluidic experiment. However, to get the data we have to calculate each tray in each image though using the software. What’s worse, the software could only process one image each time. Obviously, a more humanized software is needed if we do not want to spend much time on the manual work.
Coding in MATLAB
As we have not found such software on the net, we decided to design our own software. Thus, we used MATLAB coding the script and designed the user interface again for easy use.
We called this one “ImageMe” which was related with our team name. The most advantage of ImageMe is that it can analyze all the trays in the all images once.
Arithmetic
Thanks to the powerful image processing ability of MATLAB, the main arithmetic is concise and efficient. First ImageMe changes the 256-color image to gray scale image and then uses edge processing to make the edge of each tray easier to detect. This process also reduces the negative effect of the background. The final step is to calculate the total gray level using numerical integration.
Software & function introduction
Comparing with the Gene OS, ImageMe has more concise interface arrangement and easier to use. Click “start” to enter the main interface.
This is the main interface of ImageMe. Here, users can load the images by clicking the “Load” bottom and then choose the images. Then, ImageMe will pre-read all the images with “.jpg” suffix in this root directory. Make sure that no other .jpg images exist in the same folder. Click “Remove” bottom before changing the images to be analyzed.
After clicking the “Begin” bottom, ImageMe will ask users to input two parameters (which are also the only two need to input through the whole process) to assist the analysis more correctly. The two parameters are very easy to get comparing with those in Gene OS. First one is the lines of the trays and the second one is the rows. To get correct and precise results, please do not change the view or magnification times while taking images.
It is common that some images are indistinct or the edges are difficult to detect. When these situations occur to one image, ImageMe will use fuzzy calculation to analyze this one and make sure the result has the most correctness.
The real time message will be written on the screen when some indistinct images are detected or some errors happened.
If the analysis finished successfully, the graphs will show on the screen automatically. At most 2 kinds of graphs can be given, (1) fluorescence strength change in each tray (2) fluorescence strength change in each line.
You can dawn load the MATLAB code here. A package of text images is included.