Team:Berkeley Software/Project
From 2009.igem.org
{{Template:BerkeleySoftwareProject |video=
|rightSideBox= Data Model
|title= Our Project
|intro= [[Image:ClothoNew.png|200px|right|thumb|Clotho] In any design process there exists a hierarchy of design activities. Higher level activities build upon lower level activities leading to two design approaches: bottom up design and top down design. Bottom up design begins with primitive elements. These elements are combined to form more complex designs. This process is driven by a number of local objective functions. These objectives are abstracted at each level until at the end of the process, a large global objective is met. Top down design, starts with a specification and global objectives. The problem is decomposed into smaller sub-problems each with their own local objectives. This continues until all the primitive elements are specified. As synthetic biology moves toward a more engineering oriented discipline we see a hierarchy appearing as well. This consists of:
- System - collections of devices whereby large system behavior can be simulated and analyzed
- Device - the composition of primitive parts to produce specific functionality
- Part - the encapsulation of DNA sequence information along with information for composition with other parts
Each level has a number of design activities associated with it. A sample of these are shown on the right hand side in the figure below. With this hierarchy in place it now becomes a task of creating software tools which span this hierarchy. It is not enough to just put tools in place at each level however. They must be unified such that design flows are enabled which allow both top down and bottom up design activities.
Our project attempts to do just that. By beginning with the Clotho design environment as our foundation, we focused on device level activities with Eugene, Spectacles and Kepler. In addition, we strengthened part level development by totally revamping Clotho's core data model and associated APIs. Clotho now is a much more developer and user friendly. The image and sections below provide a brief introduction to each of the various sub-projects we focused on. For more in-depth information we invite you to visit the individual project pages. Enjoy!
|content=
Contents |
#1 Data Management
The key challenges in data management are: storing data, retrieving data, using data, and sharing data. These challenges in synthetic biology are made more difficult by the relative infancy of the field coupled with the vast number of differing interpretations regarding data organization and data relationships. As registries such as MIT's registry of standardized biological parts focus on storing data, we focus on making data retrieval, data usage, and data sharing easier.
In keeping with a the major achievement of Clotho, we continue to allow flexibly database support. Now however, we have provided a much more consistent interface to designers. This involves the standardization of two APIs:
- Communication API
- Data API
The communication API provides a way for Clotho tools to "talk" to one another much more easily. In addition, all Clotho tools now all extend a basic ClothoTool object which essentially makes all tools "plug-ins". With this extension and simplified API, even those unfamiliar with Clotho can write their own tools easily.
The data API provides Clotho Tools a very simple way of looking up data. The API, combined with a "keyword" list allows tools to be written without complex queries or an understanding of how the underlying database is organized. Getting and saving data now simply relies on a basic "datum" object.
#2 Specification
#3 Construction
#4 Physical Assembly
#5 Design Flows
}}