From OpenWetWare
Revision as of 10:05, 11 February 2013 by Kevin Baldridge (talk | contribs)
Jump to: navigation, search


Computer-Aided Design (CAD) tools are software packages which are created to help in designing and engineering new systems. In traditional engineering fields, these programs have long been used to aid in optimizing production processes, modeling chemical reactions, and creating new products. Graphical User Interfaces (GUIs) act as the human-readable visualization of computer languages which are designed to assemble components into useful products or devices. Many of these programs include capabilities for simulating the outcome of a given assembled device as well as automating the assembly with a specific goal in mind. The field of synthetic biology is advancing to the point where high throughput automated design of synthetic biological devices will be necessary to realize the potential of the discipline.

Synthetic Biology CAD Tools

Vector Editor representation of an annotated plasmid sequence
Screen grab from TinkerCell software. A genetic NOR gate is pictured, with the accompanying basic model summary, plot and parameter input forms

Synthetic Biology CAD tools are programs which help to create novel biological constructs. At the most basic, these programs are essentially enhanced DNA editors which provide a user interface to facilitate easier manipulation of the basic “parts” which comprise biological devices. Some of the more advanced programs have a variety of functions including visualization, asserting validity of constructs, and simulations of metabolic networks. In general, CAD programs for synthetic biology should comply with SBOL to facilitate use with the Parts Registry and sharing of parts with other researchers.

Basic Design and Alignment Tools

In the majority of CAD programs for biology, the basic program is a GUI for editing and annotating DNA sequences. The interface often provides a way to edit the sequence for parts and devices, in addition to annotating various regions of the DNA. Most programs have, at the very least, a sequence/part editor which will output the information according to various standards for exchanging biological parts, i.e. SBOL. Many also contain visualization features which show the parts assembled into a vector or plasmid in a compact way, as in VectorEditor[1] or Ape. Others also include improved design features such as codon optimization (i.e. Gene Designer 2.0[2]).

BLAST (Basic Local Alignment Search Tool) is a web-based utility which aligns genetic sequences to a reference sequence. This tool is a basic requirement for almost all synthetic biology research, as it is used to verify that the sequencing results of a given part or device match the expected composition for the design.

Assembly Tools

A complex part (genetic toggle switch) comprised of simple parts (promoters, repressors, reporter) which can assembled and validated in Eugene

Several of the more advanced CAD programs provide features which aid in the assembly of simple biological parts into more complex features and devices. In some cases, the framework provides a way to compile various simple parts into more complex features with error checking to validate the composition of a component. For example, the complex device at right (genetic toggle switch[3]), which is composed of several simple parts (i.e. promoter), can be error-checked using the Eugene Language[4] to validate a functional composition. More advanced algorithms automate the assembly of components by checking the entire set of permutations containing a given group of parts for valid constructs, returning only those designs which are likely to be functional for the desired task. There are also tools such as Genome Compiler which are designed to facilitate the assembly of much larger devices from simple and complex parts.

Full Featured Tools

There are a several larger packages which take all of these tools into consideration. From importing large sets of parts in spreadsheet format (i.e. Clotho) to simulating the metabolite levels from a network containing synthetic devices (i.e. Tinker Cell[5]), these integrated packages aim to provide the entire toolbox of CAD capabilities to synthetic biologists. In addition to these full featured packages, some programs are designed solely for the purpose of modeling metabolic networks (i.e. SynBioSS[6]).

j5 is a web-based tool that has multiple design features. It features automated assembly of scar-free devices from multiple biological parts. j5 can perform a variety of assembly protocols, including Gibson, Golden Gate, and circular polymerase extension cloning. j5 also features some more engineering-related features such as cost optimization, enforcing design specification rules, and automated construction of combinatorial libraries.[7]

Database Tools

Several software programs are designed for maintaining records of biobricks or other synthetic constructs. These programs are primarily focused on providing accessibility to collections of parts which are available. One example is the Joint BioEnergy Institute's JBEI GD-ICE program, which is a web-based tool for creating and maintaining a "Inventory of Composable Elements" for a lab group. The tool is primarily designed for creating private databases within a smaller group of researchers, but JBEI also maintains a public database of parts. Clotho also has built-in capability for maintaining a local database of biological parts within a lab group or institution.

Standardizing Representation of Synthetic Biology Designs

TinkerCell representation of parts in a lactose-inducible GFP part

The Synthetic Biology Open Language is an open-source standard for representing designs consisting of both DNA sequence information and higher level annotation of parts with defined roles and behaviors [8]. The core specification of this system has been developed as an RFC [9]. Several different synthetic biology CAD software programs use this format. Representation at this higher level of parts can be visualized and simulated in some of these systems (e.g., TinkerCell).

The Eugene Language[4] is an open-source human-readable language designed to facilitate automatic creation of new devices from a collection of parts. Eugene includes a standardized format for specifying devices and parts as well as constraints on how they can be assembled into higher level devices (i.e. genetic toggle switch). Eugene also features functions for automatic generation of functional assemblies into complex devices. Eugene does not support visualization of constructs.

iGEM Software Tools Development

The iGEM competition for development of software tools is designed to promote creation of publicly available CAD programs for synthetic biology. Similar to the Registry for Standard Biological Parts, the software tools entered into the competition must adhere to certain standards of interoperability and data format in order to facilitate reuse and ease of collaboration among researchers. There are several categories developers can pursue, including specific modular CAD frameworks (i.e. Clotho) as well as sharing data and interfacing with the Parts Registry. iGEM hosts a repository of these open source software packages from past competitions, which is freely available.

Future Directions


  1. Ham TS, Dmytriv Z, Plahar H, Chen J, Hillson NJ, and Keasling JD. Design, implementation and practice of JBEI-ICE: an open source biological part registry platform and tools. Nucleic Acids Res. 2012 Oct;40(18):e141. DOI:10.1093/nar/gks531 | PubMed ID:22718978 | HubMed [VectorEditor2012]
    Design, implementation and practice of JBEI-ICE: an open source biological part registry platform and tools.
  2. Villalobos A, Ness JE, Gustafsson C, Minshull J, and Govindarajan S. Gene Designer: a synthetic biology tool for constructing artificial DNA segments. BMC Bioinformatics. 2006 Jun 6;7:285. DOI:10.1186/1471-2105-7-285 | PubMed ID:16756672 | HubMed [GeneDesigner2006]
    Gene Designer:a synthetic biology tool for constructing artificial DNA segments
  3. Gardner TS, Cantor CR, and Collins JJ. Construction of a genetic toggle switch in Escherichia coli. Nature. 2000 Jan 20;403(6767):339-42. DOI:10.1038/35002131 | PubMed ID:10659857 | HubMed [Togglepaper2000]
    Construction of a genetic toggle switch in Escherichia coli
  4. Bilitchenko L, Liu A, Cheung S, Weeding E, Xia B, Leguia M, Anderson JC, and Densmore D. Eugene--a domain specific language for specifying and constraining synthetic biological parts, devices, and systems. PLoS One. 2011 Apr 29;6(4):e18882. DOI:10.1371/journal.pone.0018882 | PubMed ID:21559524 | HubMed [Eugene2011]
    Eugene--a domain specific language for specifying and constraining synthetic biological parts, devices, and systems
  5. Chandran D, Bergmann FT, and Sauro HM. TinkerCell: modular CAD tool for synthetic biology. J Biol Eng. 2009 Oct 29;3:19. DOI:10.1186/1754-1611-3-19 | PubMed ID:19874625 | HubMed [TinkerCell2009]
    TinkerCell: modular CAD tool for synthetic biology
  6. Weeding E, Houle J, and Kaznessis YN. SynBioSS designer: a web-based tool for the automated generation of kinetic models for synthetic biological constructs. Brief Bioinform. 2010 Jul;11(4):394-402. DOI:10.1093/bib/bbq002 | PubMed ID:20639523 | HubMed [SynBioSS2010]
    SynBioSS designer: a web-based tool for the automated generation of kinetic models for synthetic biological constructs
  7. doi:10.1021/sb2000116 [j52011]
    j5 DNA Assembly Design Automation Software
  8. Galdzicki M, Rodriguez C, Chandran D, Sauro HM, and Gennari JH. Standard biological parts knowledgebase. PLoS One. 2011 Feb 24;6(2):e17005. DOI:10.1371/journal.pone.0017005 | PubMed ID:21390321 | HubMed [Galdzicki2011]
    Standard biological parts knowledgebase
  9. [SBOLRFC]
    Synthetic Biology Open Language (SBOL) Version 1.0.0
All Medline abstracts: PubMed | HubMed