Literature DB >> 25957353

Gener: a minimal programming module for chemical controllers based on DNA strand displacement.

Ozan Kahramanoğulları1, Luca Cardelli2.   

Abstract

UNLABELLED: : Gener is a development module for programming chemical controllers based on DNA strand displacement. Gener is developed with the aim of providing a simple interface that minimizes the opportunities for programming errors: Gener allows the user to test the computations of the DNA programs based on a simple two-domain strand displacement algebra, the minimal available so far. The tool allows the user to perform stepwise computations with respect to the rules of the algebra as well as exhaustive search of the computation space with different options for exploration and visualization. Gener can be used in combination with existing tools, and in particular, its programs can be exported to Microsoft Research's DSD tool as well as to LaTeX.
AVAILABILITY AND IMPLEMENTATION: Gener is available for download at the Cosbi website at http://www.cosbi.eu/research/prototypes/gener as a windows executable that can be run on Mac OS X and Linux by using Mono. CONTACT: ozan@cosbi.eu.
© The Author 2015. Published by Oxford University Press.

Entities:  

Mesh:

Substances:

Year:  2015        PMID: 25957353      PMCID: PMC4547617          DOI: 10.1093/bioinformatics/btv286

Source DB:  PubMed          Journal:  Bioinformatics        ISSN: 1367-4803            Impact factor:   6.937


1 Introduction

One of the goals of synthetic biology is constructing information processing systems for controlling biochemical systems at the molecular level. Such an achievement would pave the way for applications, e.g. to smart therapeutic devices that are capable of sensing their environments (Amir ; Douglas ). Within a broad spectrum, various technologies are being developed to address different aspects of this vision. Applications in DNA nanotechnology aim at harnessing the complexity of biochemical dynamics to control active molecular devices in vivo (Zhang and Seelig, 2011). Technologies based on DNA strand displacement algebras, in particular, the double-stranded architecture with nicks on one strand (Phillips and Cardelli, 2009) is proving to be effective also in wet lab implementations of formally designed experiments (Chen ). The double-stranded DNA strand displacement algebras perform computations as a result of the interactions between single and double-stranded DNA structures: the single-stranded structures act as signals that are processed by double-stranded structures that act as gates. The mechanism with which the signals are processed by the gates is toehold-mediated branch migration and strand displacement (Yurke and Mills, 2003; Zhang and Winfree, 2009). By using this machinery, one can program, e.g. systems of chemical reaction networks that operate at the molecular level (Dalchau ; Soloveichika ). In this setting, a single chemical reaction step is emulated by a sequence of DNA-strand displacement operations. Because an increase in additional steps introduces more opportunities for errors in design, simpler schemes for designing these molecular programs become more favorable. In this respect, two-domain DNA strand displacement scheme provides a good platform for developing molecular programs as it is minimal in design while being sufficiently expressive for describing chemical reaction networks that are of interest from the point of view of molecular programming (Cardelli, 2013; Lakin ). Gener is a programming module that implements the two-domain DNA strand displacement algebra described in Cardelli (2013). With Gener, the user can write a two-domain strand displacement program, and test its stepwise computations. The programs can be analyzed by exhaustive search of the computation space, and the computations can be visualized in a tree representation with different options. Gener can be used in conjunction with Microsoft Research’s DSD tool for simulation and analysis purposes as Gener programs can be exported to DSD (Lakin , 2012), and computation traces can be exported to LaTeX for visualization. Gener contains introductory examples in its menu, which should be useful for a quick start. A manual is also available on the web.

2 Methods

Gener programs consist of single- and double-stranded DNA structures, which are entered in the DNA Soup field at the top of the GUI. Gener aims at designing DNA displacement systems on the high abstract level, and uses the previously established notations (Fig. 1). Gener can be used to observe the computations of the input DNA program. In the default setting, the user can choose from all the possible instances of the reduction rules by reducing the input, and proceed by applying the rules incrementally to observe a possible computation trace of the DNA soup. At each step, the resulting strands and the computed derivation are displayed. An example derivation is shown in Figure 1. At each step during reduction, the user can perform a ‘backtrack’ action by clicking the corresponding button of the GUI to return to the previous step.
Fig. 1.

A screenshot of a reduction performed on the built-in Example 1 that implements a transducer as in Cardelli (2013). The single strands consist of two domains, composed by ‘.’. One of the two composed domains can be a short domain, denoted with ‘t’. Any other string consisting of letters denotes a long domain. Complemented double strands are written in angle brackets ‘<’ and ‘>’, and they denote double strands consisting of strands and their Watson–Crick complements. We denote nicks on double strands with ‘^’, which are the interruptions on one side of the double strand that make the interactions between the signals and gates possible

A screenshot of a reduction performed on the built-in Example 1 that implements a transducer as in Cardelli (2013). The single strands consist of two domains, composed by ‘.’. One of the two composed domains can be a short domain, denoted with ‘t’. Any other string consisting of letters denotes a long domain. Complemented double strands are written in angle brackets ‘<’ and ‘>’, and they denote double strands consisting of strands and their Watson–Crick complements. We denote nicks on double strands with ‘^’, which are the interruptions on one side of the double strand that make the interactions between the signals and gates possible Alternatively, the user can perform an exhaustive search of the computation space and choose from the available traces for displaying it. This is done by choosing the search option from the settings menu of the GUI. A search can be performed with further options: a simple search (without any further options being chosen) displays an enumeration of the available terminal computations of the strand structures by pruning the redundancies in the search space, and prompts a dialog window for the choice of the trace to be displayed. Choosing the all paths option for the search enables the enumeration of the computations with alternative paths, and the variations option includes to the enumeration also those paths with the same terminal as another path, but with an alternative trajectory. Along with the search, the user can display the search tree, and with this, all the intermediate computations are listed in a reserved field. In the displayed search tree graph, different rules are denoted with different colors, which are listed in a legend. Choosing the equal nodes option includes a visualization of the nodes that result in the same DNA strand structures, which are connected with dashed gray lines in the search tree. The screenshot of a search tree visualization with an example is depicted in Figure 2.
Fig. 2.

A screenshot of a search performed on an example. For the search, ‘all paths’ option is chosen together with the display options ‘search tree’ and ‘equal nodes’. The gray lines between the nodes denote equal nodes

A screenshot of a search performed on an example. For the search, ‘all paths’ option is chosen together with the display options ‘search tree’ and ‘equal nodes’. The gray lines between the nodes denote equal nodes By using the file menu, Gener DNA strand displacement programs can be exported to Microsoft Research’s DSD language for simulation and analysis, and computation trajectories can be exported to LaTeX for typesetting.

3 Discussion

Gener is developed for performing in silico experiments in design and debugging of DNA strand displacement systems. Potential applications include designing DNA sequences from desired DNA domain structures (Zadeh ). The search feature is useful for verification and analysis of reachable states of the designed systems. The sequences can then be ordered from Integrated DNA Technologies (IDT) and executed in a basic wet lab with a fluorometer for reading the output (Chen ). The features of Gener are only limited by its minimalistic design, avoiding duplication of effort, and imagination. We thus foresee extensions as they will be required. Conflict of Interest: none declared.
  10 in total

1.  A logic-gated nanorobot for targeted transport of molecular payloads.

Authors:  Shawn M Douglas; Ido Bachelet; George M Church
Journal:  Science       Date:  2012-02-17       Impact factor: 47.728

2.  Nucleic acid sequence design via efficient ensemble defect optimization.

Authors:  Joseph N Zadeh; Brian R Wolfe; Niles A Pierce
Journal:  J Comput Chem       Date:  2010-08-17       Impact factor: 3.376

3.  A programming language for composable DNA circuits.

Authors:  Andrew Phillips; Luca Cardelli
Journal:  J R Soc Interface       Date:  2009-06-17       Impact factor: 4.118

4.  Control of DNA strand displacement kinetics using toehold exchange.

Authors:  David Yu Zhang; Erik Winfree
Journal:  J Am Chem Soc       Date:  2009-12-02       Impact factor: 15.419

5.  DNA as a universal substrate for chemical kinetics.

Authors:  David Soloveichik; Georg Seelig; Erik Winfree
Journal:  Proc Natl Acad Sci U S A       Date:  2010-03-04       Impact factor: 11.205

Review 6.  Dynamic DNA nanotechnology using strand-displacement reactions.

Authors:  David Yu Zhang; Georg Seelig
Journal:  Nat Chem       Date:  2011-02       Impact factor: 24.427

7.  Visual DSD: a design and analysis tool for DNA strand displacement systems.

Authors:  Matthew R Lakin; Simon Youssef; Filippo Polo; Stephen Emmott; Andrew Phillips
Journal:  Bioinformatics       Date:  2011-10-07       Impact factor: 6.937

8.  Programmable chemical controllers made from DNA.

Authors:  Yuan-Jyue Chen; Neil Dalchau; Niranjan Srinivas; Andrew Phillips; Luca Cardelli; David Soloveichik; Georg Seelig
Journal:  Nat Nanotechnol       Date:  2013-09-29       Impact factor: 39.213

9.  Design and analysis of DNA strand displacement devices using probabilistic model checking.

Authors:  Matthew R Lakin; David Parker; Luca Cardelli; Marta Kwiatkowska; Andrew Phillips
Journal:  J R Soc Interface       Date:  2012-01-04       Impact factor: 4.118

10.  Universal computing by DNA origami robots in a living animal.

Authors:  Yaniv Amir; Eldad Ben-Ishay; Daniel Levner; Shmulik Ittah; Almogit Abu-Horowitz; Ido Bachelet
Journal:  Nat Nanotechnol       Date:  2014-04-06       Impact factor: 39.213

  10 in total

北京卡尤迪生物科技股份有限公司 © 2022-2023.