Team:Calgary Software/Project

From 2008.igem.org

Revision as of 23:40, 28 October 2008 by Ndimic (Talk | contribs)
Calgary banner01.png
Home The Team The Project Modeling Notebook
Evolutionary Algorithm Data Retrieval Modeling Graphical User Interface



Contents

Introduction

We use evolutionary and genetic strategies, which are useful modeling methods, especially when coupled with agent-based designs. We created EvoGEM, a design that is based on the registry of genetic parts provided by the iGEM competition.

This design uses the paradigm of evolution to select efficient designs and produce a product or output that is generated independently by the system. EvoGEM uses the strategies of genetics and evolution to simulate an environment inside of a prokaryotic cell. This entails various events and structures that are present inside of the organism, such as:

- RNA polymerase - messenger-RNA - ribosomes - transcription and translation.

The program assembles generations from a selection of parts - retrieved from the iGEM registry - and creates genetic circuits. The circuits proliferate in each generation, and the best possible combination of parts is selected. Eventually, the best circuit is obtained from the system and a desired functionality is returned. The powerful agent-based logic allows for minimal assumptions about the behavior of the system, when coupled with the empirically proven evolutionary design, creates a superb system that is able to both simulate and develop iGEM circuits.

EWe presented EvoGEM during the 2007 iGEM Jamboree, where it sparked a lot of interest amongst the different teams. This summer, our team has expanded EvoGEM by: - improving EvoGEM's fitness function. - introducing more complex pattern recognition. - testing the system under a much larger search space. Our goal was to create a system sophisticated enough to rebuild working designs from previous years' teams' projects, as well as intelligent enough to simulate successes and failures of working and non-working systems, respectively. We achieved our goals by: - building Perl scripts that support EvoGEM's requirements of a flat file registry - creating an Objective-C based graphical user interface (GUI) in order to make the software-user interaction easy - developing the EvoGEM code to include the behaviors specified before, and create a simulation of the processes in the cell such as transcription and translation.

Evolutionary Algorithm

Evolutionary Algorithm.PNG

Evolution involves the changes of inherited traits in a population from successive generations, one to another. Genetic information is carried through each generation and certain characteristics are expressed. Mutation enables manipulation of these traits as well as genetic recombination. Evolution is the result from the heritable traits becoming more prevalent or rare.

Agent-based modeling is a computational method of replicating the behavior and interaction of individuals within a network such that their overall effect on the system can be observed. This involves many different aspects, including game theory, evolutionary programming, complex, systems, and emergence. Multiple agents are simulated throughout an environment to emulate and hypothesize the actions of complex phenomena. Refer to Evolutionary Algorithm page for more details.


Data Retrieval and Storage

Perl logo.PNG
To improve EvoGEM as a model, organic compounds and biochemical reactions needed to be examined. Using a set of PERL scripts, key pieces of data is retrieved from the source information of the registry. For every part, the type must be known, its function, whether it codes for a protein, and how well the parts work. If a part codes for a protein, its DNA sequence is retrieved. The amino acid sequence is found (using the BLAST algorithm) from UniProt, which is a large database of proteins. If the protein has an associated prosthetic or a biochemical reaction, this is also examined. From there, additional information is retrieved from ChemSpider - a chemical database - to find the data that characterizes any compounds that are involved with that particular protein. Finally, the data is stored in a data base during run-time of EvoGEM. Refer to the Data Retrieval and Storage page for further details.

Modeling

Figure 3.0 - EvoGEM in its initial stages
Initially, EvoGEM used an RNA polymerase class as the single device that had the functionality of the RNA polymerase, mRNA, and ribosome, as seen in Figure 3.0. Objects of this class were able to transcribe and translate the DNA BioBricks directly into protein molecules. This had provided the necessary level of functionality earlier, but in order to more correctly simulate the processes in a cell, we needed to implement new mRNA and ribosome classes. In addition, another class known as mRBS was implemented to allow for simultaneous transcription and translation processes. Refer to the Modeling page for more details.


Graphical User Interface

Navigation

Evolutionary Algorithm Data Retrieval Modeling Graphical User Interface
Home The Team The Project Modeling Notebook