GenoCAD is one of the earliest computer assisted design tools for synthetic biology.[1] The software is a bioinformatics tool developed and maintained by GenoFAB, Inc.. GenoCAD facilitates the design of protein expression vectors, artificial gene networks and other genetic constructs for genetic engineering and is based on the theory of formal languages.[2]
History
GenoCAD originated as an offshoot of an attempt to formalize functional constraints of genetic constructs using the theory of formal languages. In 2007, the website genocad.org (now retired) was set up as a proof of concept by researchers at Virginia Bioinformatics Institute, Virginia Tech. Using the website, users could design genes by repeatedly replacing high-level genetic constructs with lower level genetic constructs, and eventually with actual DNA sequences.[2]
On August 31, 2009, the National Science Foundation granted a three-year $1,421,725 grant to Dr. Jean Peccoud, an associate professor at the Virginia Bioinformatics Institute at Virginia Tech, for the development of GenoCAD.[3] GenoCAD was and continues to be developed by GenoFAB, Inc., a company founded by Peccoud (currently CSO and acting CEO), who was also one of the authors of the originating study.[2]
Source code for GenoCAD was originally released on SourceForge in December 2009.[4]
GenoCAD version 2.0 was released in November 2011 and included the ability to simulate the behavior of the designed genetic code. This feature was a result of a collaboration with the team behind COPASI.[5]
In April, 2015, Peccoud and colleagues published a library of biological parts, called GenoLIB,[6] that can be incorporated into the GenoCAD platform.[7]
compiler capable of translating DNA sequences into mathematical models in order to predict the encoded phenotype
collaborative workflow environment which allow to share parts, designs, fabrication resource
means to forward the results to the user community through an external advisory board, an annual user conference, and outreach to industry
Features
The main features of GenoCAD can be organized into three main categories.[9]
Management of genetic sequences: The purpose of this group of features is to help users identify, within large collections of genetic parts, the parts needed for a project and to organize them in project-specific libraries.
Genetic parts: Parts have a unique identifier, a name and a more general description. They also have a DNA sequence. Parts are associated with a grammar and assigned to a parts category such a promoter, gene, etc.
Parts libraries: Collections of parts are organized in libraries. In some cases part libraries correspond to parts imported from a single source such as another sequence database. In other cases, libraries correspond to the parts used for a particular design project. Parts can be moved from one library to another through a temporary storage area called the cart (analogous to e-commerce shopping carts).
Searching parts: Users can search the parts database using the Lucene search engine. Basic and advanced search modes are available. Users can develop complex queries and save them for future reuse.
Importing/Exporting parts: Parts can be imported and exported individually or as entire libraries using standard file formats (e.g., GenBank, tab delimited, FASTA, SBML).
Combining sequences into genetic constructs: The purpose of this group of features is to streamline the process of combining genetic parts into designs compliant with a specific design strategy.
Point-and-click design tool: This wizard guides the user through a series of design decisions that determine the design structure and the selection of parts included in the design.
Design management: Designs can be saved in the user workspace. Design statuses are regularly updated to warn users of the consequences of editing parts on previously saved designs.
Exporting designs: Designs can be exported using standard file formats (e.g., GenBank, tab delimited, FASTA).
Design safety: Designs are protected from some types of errors by forcing the user to follow the appropriate design strategy.
Simulation: Sequences designed in GenoCAD can be simulated to display chemical production in the resulting cell.[10]
User workspace: Users can personalize their workspace by adding parts to the GenoCAD database, creating specialized libraries corresponding to specific design projects, and saving designs at different stages of development.
Theoretical foundation
GenoCAD is rooted in the theory of formal languages; in particular, the design rules describing how to combine different kinds of parts and form context-free grammars.
[2]
A context free grammar can be defined by its terminals, variables, start variable and substitution rules.[11] In GenoCAD, the terminals of the grammar are sequences of DNA that perform a particular biological purpose (e.g. a promoter). The variables are less homogeneous: they can represent longer sequences that have multiple functions or can represent a section of DNA that can contain one of multiple different sequences of DNA but perform the same function (e.g. a variable represents the set of promoters). GenoCAD includes built in substitution rules to ensure that the DNA sequence is biologically viable. Users can also define their own sets of rules for other purposes.
Designing a sequence of DNA in GenoCAD is much like creating a derivation in a context free grammar. The user starts with the start variable and repeatedly selects a variable and a substitution for it until only terminals are left.[2]
Alternatives
The most common alternatives to GenoCAD are Proto, GEC and EuGene[12]
Tool
Advantages
Disadvantages
GEC
Designer only needs to know basic part types and determine constraints [12]
^ abBeal, Jacob; Phillips, Andrew; Densmore, Douglas; Cai, Yizhi (2011). "High-Level Programming Languages for Biomolecular Systems". In Koeppl, Heinz; Densmore, Douglas; Setti, Gianluca; di Bernardo, Mario (eds.). Design and Analysis of Biomolecular Circuits. New York Dordrecht Heidelberg London: Springer. p. 241. doi:10.1007/978-1-4419-6766-4. ISBN978-1-4419-6765-7.
^ abcde
Cai Y; Hartnett B; Gustafsson C; Peccoud J (2007). "A syntactic model to design and verify synthetic genetic constructs derived from standard biological parts". Bioinformatics. 23 (20): 2760–7. doi:10.1093/bioinformatics/btm446. PMID17804435.
^
Wilson ML; Hertzberg R; Adam L; Peccoud J (2011). "A Step-by-Step Introduction to Rule-Based Design of Synthetic Genetic Constructs Using GenoCAD". Synthetic Biology, Part B - Computer Aided Design and DNA Assembly. Methods in Enzymology. Vol. 498. pp. 173–88. doi:10.1016/B978-0-12-385120-8.00008-5. ISBN9780123851208. PMID21601678.
^Sipser, Michael (2013). Introduction to the Theory of Computation, Third edition. Boston, MA, USA: Cengage Learning. p. 104. ISBN978-1-133-18779-0.
^ abcdefghHabibi, N., Mohd Hashim, S. Z., Rodriguez, C. A., & Samian, M. R. (2013). A Review of CADs, Languages and Data Models for Synthetic Biology. Jurnal Teknologi, 63(1).
^Pedersen, M. (2010). Modular languages for systems and synthetic biology.