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 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 or Ape. Others also include improved design features such as codon optimization (i.e. Gene Designer 2.0). More advanced transcription/translation optimizer software is also available commercially (GeneOptimizer), and includes considerations such as mRNA secondary structure and GC content in choosing the most productive device design.
Many of the basic DNA editors also allow for the design of primers for traditional cloning. In light of more recent advances in large-scale cloning techniques, some newer programs such as Gibthon provide automated design of primers for Gibson cloning and other new cloning strategies.
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.
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 downloadable tools such as Genome Compiler or Gene Composer and web-based tools such as DNAWorks or GeneDesign 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).
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.
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
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.
The current state of understanding for how DNA parts come together to make a functional biological device is lacking. Advances are coming swiftly with the advent of high-throughput technologies, but Computer Aided Design programs have yet to catch up. Specifically, it is not fully understood how a part changes its function when placed in different devices, so it has proven difficult to create a fully functional, complete language for combining parts efficiently while maintaining their expected functionality. Whereas we are currently capable of modeling metabolic networks to study the effects of a single step in the pathway of synthesis of a relevant material (i.e. biofuel), one can envision a time in the future where the software tools will advance to the point of being able to create de novo networks for the synthesis of completely new products (i.e. non-protein/nucleic acid polymers) within the context of a cell. In the coming years, synthetic biology CAD programs will be able to facilitate the rapid advancement of completely new engineered biological devices.
- 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
j5 DNA Assembly Design Automation Software
- 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
- Hoover DM and Lubkowski J. . pmid:12000848.
DNAWorks: an automated method for designing oligonucleotides for PCR-based gene synthesis.
- Richardson SM, Wheelan SJ, Yarrington RM, and Boeke JD. . pmid:16481661.
GeneDesign: rapid, automated design of multikilobase synthetic genes.