Team:TU Munich/Software

From 2010.igem.org

Revision as of 13:28, 24 October 2010 by Sgude (Talk | contribs)

Navigation:

Home →  Software

iGEM MainPage

Contents


Motivation

As described in the project section, our vision is to provide a system that allows to connect various BioBricks. It is further descirbed that, such a system reuires logic gates that can be interconnected. The major goal of this and future work is to optimize the design of these switches.
Although we have not yet been able to create a reliable and robust switch, we still want to demonstrate the power and simplicity of our approuch: The following program (written as a Java Applet) will allow the user to put together a network of logical gates and BioBricks as input and output. Here, we give the user the choice between a few input and ouput BioBricks. In principle, any (of at least 200) transcription-regulating BioBrick can be used as an input, and any gene can serve as an output. After entering the network, the software uses our current designs for AND, OR and NOT gates to generate one single DNA plasmid that contains your custom network - including all logical elements.
This is what we want the future to be like: Put in your network and get out your DNA!

Program

Click here to start the program (loading may take a few seconds during which an empty wiki page is displayed).


If you use the software for the first time, you might want to take a look at the tutorial or the step-by-step examples on how to use the program.

Please feel free to download the source code of this program.

Biological background

The plasmid generated is based on the pSB1A3 backbone which is a frequently-used plasmid carrying an ampicilin resistence. The design used for the logic gates are based on the His-Terminator design (see project for details). If required for output proteins the ribosome binding site B0034 was used. For the constitutive promoter, positioned upstream of every logic gate, the software uses the J23100 promoter. Details about input and output Biobricks are supplied within the program.

Tutorial

The program consists of three modules: Design, Check and Turn-to-DNA. The first allows the user to enter inputs, whereas the second and third supply the user with information about his network.


Design: Is the first module for the user to provide the inputs and outputs as well as the logic relations (AND, OR, NOT) to build the logic network to 'connect' input and output. The nods of the network correspond with the logic relations and the edges with the values 'true' or 'false'.

Check: This module illustrates in the colors green for true and red for false which nods and relations are assigned the values 'true' or 'false'.

Turn-to-DNA: This module assigns the abstract logic network concrete sequences, e.g. terminator sequences, generates random sequences and provides all the genetic information to rebuild the network.

The different modules are described in detail below.

1. Design a logic network

Read more

A logic network can be designed by adding logical devices (via double clicking) and interconnecting them.

There are five different types of logical devices: inputs, outputs, AND-gates, OR-gates and NOT-gates. The type of a local device can be change by clicking on the combo box on the device and selecting a different type. Logical devices can be interconnected by selecting (via clicking inside the area of a device) two devices and then pressing the C key (for connect). A complete logic network has to have at least one input, at least one output, and at least one gate (AND, OR, NOT). Different devices may require different numbers of ingoing and outgoing connections (e.g. a NOT-gate requires one ingoing connection and allows for a arbitrary number of outgoing connections, whereas the AND-gate requires two ingoing connections and allows for a arbitrary number of outgoing connections; an input may not have an incoming connection, an output no outgoing connection). In addition the logic network may not include loops.

The user has to assign DNA sequences (either custom RNA sequences or sequences coding for proteins) to all input and output devices by clicking on the "Set input" button of the devices.


Invalid inputs (e.g. a letter different from G, C, T, A or N in a nucleotide sequence; loop(s) in the logic network; no sequences assigned to input(s)/output(s); input or output sequences that are too similar) are reported back to the users as error messages providing a description of the errors and advices to correct the errors. The Check and Turn-to-DNA modules can only be entered when the network contains no errors.

Close

2. Check the logic network

Read more

The logic network designed in step 1 can now be verified.

Logical values are represented by colors (green = true, red = false). Thus a green box represents a devices (e.g. an AND-gate) with the logical value true, a red box a devices with the logical value false. The flow of logical value can be followed by following the colored edges between the boxes.

The logical value(s) of the input(s) can be manipulated by clicking on their checkbox(es).

Close


3. Turn the logic network into DNA

Read more

A set of genetic devices (categorized as input elements, switch elements and output elements) representing the logical network designed in step 1 is calculated and displayed.

All elements consist of an promoter, a ribosome binding site, up to two switches, one output sequences and a terminator.

Close

Examples

A simple NOT-gate

Read more

After starting the program it looks like this

Close

An AND-gate

Read more

AND

Close

Common mistakes

Read more

COMMON MISTAKES

Close

Disclaimer

Software

THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
(Inspired by: BSD license)

Biology

THIS SOFTWARE IS FOR DEMONSTRATION PURPOSES ONLY. THE WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE, INCLUDING THE DESIGN OF FUNCTIONAL GENE CIRCUITS, IS DISCLAIMED. ESPECIALLY DO NOT USE THE SOFTWARE IN THE PROCESS OF DESIGNING REAL EXPERIMENTS OR ORDERING GENETIC DEVICES / SEQUENCES.