Team:Bologna/Software

From 2009.igem.org

(Difference between revisions)
Line 99: Line 99:
<br>
<br>
Focus clustering is an automated routine that divides the candidate bacteria in clusters and selects only the individuals featuring high fluorescence and high cell numbers (???). The program marks with a yellow box the bacteria chosen after the morphology and focus tests and with a red box the others (Figure 5).
Focus clustering is an automated routine that divides the candidate bacteria in clusters and selects only the individuals featuring high fluorescence and high cell numbers (???). The program marks with a yellow box the bacteria chosen after the morphology and focus tests and with a red box the others (Figure 5).
-
<br>
+
<br><br>
[[Image:cluster.jpg|center|1000 px|thumb|<font size="2">Figure 5. Bacterium recognition: bacteria passing the morphology and focus tests are marked with a yellow box.</font>]]
[[Image:cluster.jpg|center|1000 px|thumb|<font size="2">Figure 5. Bacterium recognition: bacteria passing the morphology and focus tests are marked with a yellow box.</font>]]
 +
 +
<br><br>
 +
<font size="4"><b>Program output</b></font>
 +
<br>
 +
The program seeks the pixel fluorescence associated to each bacterium and then shows the fluorescence histogram per pixels (Figure 6.a)
 +
<br>
 +
{|align="center"
 +
|[[Image:pixels.jpg|center|thumb|450 px|<font size="2">Figure 6a. Fluorescence histograms per pixel.</font>]]
 +
|[[Image:rappbact.png|center|430 px|thumb|<font size="2">Figure 6b. Fluorescence histograms  per bacterium.</font>]]
 +
|}
 +
<br>
 +
For each recognized bacterium the program computes: the bacterium area in pixel and the bacterium fluorescence (mean over the bacterium pixel number). Data are stored on the 3 vectors (Pxzzz , Fzzz and Azzz where zzz is the name given to the dataset when the program starts). Vectors are used to plot the mean fluorescence histogram, boxplot of bacteria fluorescence (Figure 7 – left panel) and the area vs the fluorescence graph (Figure 8.b).

Revision as of 11:59, 21 October 2009

ProvaBol2.png
HOME TEAM PROJECT SOFTWARE MODELING WET LAB PARTS HUMAN PRACTICE JUDGING CRITERIA


"Part of the inhumanity of the computer is that, once it is competently programmed and working smoothly, it is completely honest."

I. Asimov



BASER
Best Sequence Research by Andrea and Elisa


Aims

BASER is a computer program developed to design synthetic DNA sequences whose transcribed RNAs: a) feature maximal free energy in the secondary structure (i.e. reducing the probability of its intra-molecular annealing); b) have minimal unwanted interactions with genomic mRNA; c) present a minimal probability of partial/shifted hybridization with complementary strands. These specifications are required for the proper engineering of the TRANS and CIS complementary sequences, whose functions are described in the T-ReX device.

Method
The BASER algorithm builds a 50 nucleotide-long sequence (start sequence), assembled by linking 10 blocks of 5 nucleotides each, randomly extracted from a basket file (BF), stored in a basket directory. The BF file can be either uniform (containing all the possible combinations of 2, 3 or 4 distinct nucleotides in the 5 available places) or non-uniform (containing each block a number of times that is inversely proportional to the appearance of that same block in the genomic DNA of E. coli).

After having generated a 50b-long sequence, BASER performs the Conformity test to check that the sequence does not contain: a) more than 5 adjacent repeats of the same nucleotide (to avoid transcription errors); b) restriction sites; c) RBS sequences. If one among these conditions occurs, a new sequence is generated until the Conformity test is passed. Thereafter the RBS sequence, chosen by the user, is linked downstream of its 3’ end to obtain what is called the “current” sequence. BASER thus calculates a score for the “current” sequence, derived from a combination of:
a) the self score: proportional to the minimum free energy of the corresponding RNA secondary structure [1,2]; b) the genomic score: the number of times that the sequence appears in the coding DNA with at least m adjacent nucleotides out of a total of n corresponding nucleotides; c) the shifted score: proportional to the best suboptimal pairing of the “current” sequence and its Watson and Crick complementary strand.
After score computation, five adjacent nucleotides in the “current” sequence are substituted with a randomly-picked block from the BF, originating a new sequence. The score of this new sequence is calculated and, if lower than the previous one, the new sequence will be considered as the “current” one in the next iteration (otherwise the previous one is maintained as the “current”). The algorithm tries to modify the “current” sequence until the number of total iterations N (N chosen by the user) has been reached. However, if the same sequence persists for more than K iterations (K<=N, K chosen by the user) without any improvement of its best score, this sequence is considered as candidate, so that BASER stops to go on, up to the number of total scheduled iterations. This same sequence, in its opposite 5’ to 3’ orientation will be the start sequence for a subsequent research by BASER. Candidate sequences are usually reached in less than 500 iterations (Fig. 1). All of them are reported at the end of the elaboration.

Figure 1. Sequence Score vs Number of Iterations. In this example, when a sequence is found to have the same score for more than 150 iterations, it is considered a candidate sequence. Then, to restart the searching procedure, it is read in the opposite 5’ to 3’ orientation.


CIS and TRANS sequences

The CIS-repressing (RNA secondary structure in Fig. 2) sequence chosen by BASER to be assembled upstream of the target protein-coding sequence in T-REX resulted:

AACACAAACTATCACTTTAACAACACATTACATATACATTAAAATATTACAAAGAGGAGAAA
(RBS in italic)

Figure 2.


Its complementary TRANS-repressor sequence, with a RBS cover in two versions of different length, was:

either

CCTCTTTGTAATATTTTAATGTATATGTAATGTGTTGTTAAAGTGATAGTTTGTGTT
with a 7b-long RBS cover in green (RNA secondary structure in Fig. 3a)

or

CTTTGTAATATTTTAATGTATATGTAATGTGTTGTTAAAGTGATAGTTTGTGTT
with a 4b-long RBS cover in green underlined (RNA secondary structure in Fig. 3b)

Figure 3a
Figure 3b



1. Wuchty, S., Fontana, W., Hofacker, I., and Schuster, P. (1999). Complete suboptimal folding of RNA and the stability of secondary structures. Biopolymers 49, 145–165
2. Matthews, D., Sabina, J., Zuker, M., and Turner, D. (1999). Expanded sequence dependence of thermodynamic parameters improves prediction of RNA secondary structure. J. Mol. Biol. 288, 911–940.




VIFluoR

(Very Inexpensive Fluorescence Reader)


In Synthetic Biology, the quantification of protein synthesis using fluorescent reporters is an established practice. Fluorescence intensity can be assessed by two different methods: i) the measure of total fluorescence produced by populations of cells; ii) the acquisition of images by an optical microscope to obtain information on single-cell fluorescence. We have developed a Matlab code (VIFluoR) to estimate, by imaging analysis, the fluorescence emitted by a single bacterium. To validate the program, we compared the fluorescence determined using micro-images with the fluorescence measured in the same bacterial culture using a fluorimeter.


Images Selection

Single cell fluorescence in a bacterial population exhibits large variability, also depending on the cell cycle phase. To obtain a significant representation of bacterium fluorescence, it is necessary to acquire several images, each one reporting a sufficient number of bacterial cells (Figure 1). Our program can process more images at once. In addition, the images to be processed are selected when the program is running (Figure 2).

Figure 1 - Image of E. coli (Magnification 400x)


Pick.jpg



Bacterial cell recognition
VIFluoR firstly operates the image segmentation and then recognises the bacterial cells (Figure 3) evaluating two properties of segmented objects: the morphology, assuming an elliptical shape for the bacterium, and the focus. The user can select the bacterium morphology by setting the eccentricity (from 0 to 1), and the values for minimum and maximum area (in pixel). The program aids the user to set these parameters by showing the eccentricity and the area histograms of the candidate bacteria (Figure 4).

Figure 3. Image segmentation. All the candidate bacteria are marked with red boxes.


Figure 4a. Bacterial eccentricity distribuction.
Figure 4b. Bacterial area distribuction.


Focus clustering is an automated routine that divides the candidate bacteria in clusters and selects only the individuals featuring high fluorescence and high cell numbers (???). The program marks with a yellow box the bacteria chosen after the morphology and focus tests and with a red box the others (Figure 5).

Figure 5. Bacterium recognition: bacteria passing the morphology and focus tests are marked with a yellow box.



Program output
The program seeks the pixel fluorescence associated to each bacterium and then shows the fluorescence histogram per pixels (Figure 6.a)

Figure 6a. Fluorescence histograms per pixel.
Figure 6b. Fluorescence histograms per bacterium.


For each recognized bacterium the program computes: the bacterium area in pixel and the bacterium fluorescence (mean over the bacterium pixel number). Data are stored on the 3 vectors (Pxzzz , Fzzz and Azzz where zzz is the name given to the dataset when the program starts). Vectors are used to plot the mean fluorescence histogram, boxplot of bacteria fluorescence (Figure 7 – left panel) and the area vs the fluorescence graph (Figure 8.b).