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
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 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 or Ape. Others also include improved design features such as codon optimization (i.e. Gene Designer 2.0).
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), which is composed of several simple parts (i.e. promoter), can be error-checked using the Eugene Language 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), 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).
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.
Standardizing Representation of Synthetic Biology Designs
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 . The core specification of this system has been developed as an RFC . 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 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.
- Ham TS, Dmytriv Z, Plahar H, Chen J, Hillson NJ, and Keasling JD. . pmid:22718978.
Design, implementation and practice of JBEI-ICE: an open source biological part registry platform and tools.
- Villalobos A, Ness JE, Gustafsson C, Minshull J, and Govindarajan S. . pmid:16756672.
Gene Designer:a synthetic biology tool for constructing artificial DNA segments
- Gardner TS, Cantor CR, and Collins JJ. . pmid:10659857.
Construction of a genetic toggle switch in Escherichia coli
- Bilitchenko L, Liu A, Cheung S, Weeding E, Xia B, Leguia M, Anderson JC, and Densmore D. . pmid:21559524.
Eugene--a domain specific language for specifying and constraining synthetic biological parts, devices, and systems
- Chandran D, Bergmann FT, and Sauro HM. . pmid:19874625.
TinkerCell: modular CAD tool for synthetic biology
- Weeding E, Houle J, and Kaznessis YN. . pmid:20639523.
SynBioSS designer: a web-based tool for the automated generation of kinetic models for synthetic biological constructs
- Galdzicki M, Rodriguez C, Chandran D, Sauro HM, and Gennari JH. . pmid:21390321.
Standard biological parts knowledgebase
Synthetic Biology Open Language (SBOL) Version 1.0.0