User:GMcArthurIV/GenoCAD

GenoCAD is an open source web application to design DNA constructs for genetic engineering using a rule-based methodology. GenoCAD is also considered a Computer Assisted Design (CAD) application for synthetic biology.

Features
The main features of GenoCAD can be organized into three main categories.
 * 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., tab delimited, FASTA).
 * 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).
 * 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 form context-free grammars.