GenoCAD is a web-based application which allows for the construction of artificial gene networks and genetic constructs from functional blocks
called genetic parts (Czar et al, 2009). Parts are sequences of DNA corresponding to the subunits within a functional operon.
That is, promoters, Ribosome-binding sites, coding genes & terminators (Andrianantoandro et al, 2006). The ordering of these parts, together
with the cellular context in which the constructs are placed, as well as the relational dynamics between separate parts and/or constructs
allows for complex behaviors to be generated much like the manipulation of individual parts in constructing an electrical circuit. Software tools
which will allow for the creation of complex model plasmid systems with complex behaviors is thusly the main focus of my current
research. The sequences corresponding to these parts are derived from peer-reviewed publications and/or commercial sources and are maintained in
a curated database by the authors of the tool and other associated researchers.
Design of synthetic constructs using this program is based on two major components, context-free grammars and the aforementioned database.
Grammars in the simplest sense are a set of rules which constrain the structure of the synthetic sequence(s) created (Czar et al, 2009) to
biologically viable structures. The curated database represents the set of parts from which a user can design their synthetic constructs
according to the rules of the grammar. There also exist the ability to create user generated parts which can be added to a user "database" much
like the curated database available with the tool. There is however, a caveat. The tool only allows for the use of a single "database"
at a time, precluding the use of custom parts in conjunction with parts from the tool's database. The tool does provide the
option for importing its own parts database into users' custom databases. This however is cumbersome if the user is working with a large range
of parts and has to search through the entire database in order to determine the presence or absence of a particular part.
As mentioned earlier the grammars help to constrain the possible structure of the synthetic sequence being designed using GenoCAD. However, the
tool appears to have a rather strict set of rules concerning the allowable structures. For example, the control of a single gene by multiple
upstream promoters cannot be established using the grammars available. While this may be circumvented by creating a custom part that combines
multiple promoters that is subsequently recognized as a single promoter by GenoCAD, there will still be issues regarding importing of
parts to a user-generated parts "library".
The methodology used in design of synthetic sequences using this tool is partly abstraction and partly hierarchical.
By this it is meant that the exact sequences and/or mechanisms/ ordering and composition of functional synthetic construction are not necessarily
known and/or used by the users of the tool. It is hierarchical in the sense that users choose higher level parts which represent larger(physically),
more abstracted versions of the whole object being designed. That is to say that users begin by choosing a plasmid vector for example which then provides a number of options for the number of "expression cassettes" as well as the Biobrick prefix and suffix. The expression cassette itself can give rise to a number of options:
1. a promoter and cistron
2. A reverse cassette
3. dual expression cassettes
Each of these options give rise to further options before finally allowing the user to select the specific content of the structural parts
comprising the design. In essence, the design process resembles a tree diagram with the first step being at the top of the tree and branching out to form the options
the user's design requires.
N.B. Accurate as of June 2010