Team:UC Berkeley Tools

From 2008.igem.org

Revision as of 00:45, 28 October 2008 by Densmore (Talk | contribs)
Clotho Title small.png


With >700 available parts and >2000 defined parts in the [http://partsregistry.org/Main_Page MIT Registry of Standard Biological Parts], and doubtless more parts local to the lab, synthetic biologists are now faced with the challenge of organizing, sorting, and editing these parts from an ever-growing collection of DNA. Computational tools are becoming increasingly needed to assist biologists to do the job, and it is no secret that many tools are indeed wheeling out into the community to help serve these needs.

Clotho is a toolset designed in a platform-based-design paradigm to consolidate all these tools into one working, integrated toolbox. Clotho is based on a core-and-hub system which manages multiple connections, each connection performing tasks in some self-sufficient manner while connected to all other connections via the core. Examples of connections include sequence viewers/editors, parts database managers, sequence alignment GUIs, and much more. Computer-savvy biologists can create new connections which will then be integrated into Clotho. In this tool-consolidation and customization it is hoped that, in the future, biologists need not look further for a program that provides the answer to their needs.

Clotho Screenshots


Clotho Overview




Among other possible top-level explanations of Clotho, one of the simplest is the "Clotho Data Structure"-centric view. In this view, biological part data is passed back and forth between Clotho components and to files and databases outside Clotho. The possible flows of data are represented by the slew of arrows from the diagram above.

Local and standard databases vary from one lab to another, and the way to grab biological part data from one database may require a completely different route than another. The Clotho Data Structure, in essence, can be viewed as the Rosetta's stone of Clotho's environment. In a nutshell, it allows any developer to grab relevant information about a part from any given database. When a user wants to grab the sequence belonging to a particular Biobrick, for example, the Clotho Data Structure, once "bound" to a particular database, will be able to grab the sequence from the database and give it to Clotho. Want to know who owned the vector from jca1021 in database A and send that information to database B? Easy. Bind the data structure with both databases, grab the data from database A, and tell Clotho where in database B to place the data.

Each category above merits its own explanation, as each is vitally important to the project. Perhaps a good place to start are the views/functions. Here users are able to see and manipulate data, such as part information or the nucleotide sequence. Examples include the sequence view or the plate manager.

Not all views/functions are self-sufficient, and so another set of components, called interfaces, are involved in assisting these views/functions for functionality. Take for example the sequence view (a view many ApE lovers would recognize). How would the sequence view know how to highlight features or enzymes if Clotho didn't know what features or enzymes to look for? That's where the features library and enzyme library come in. In this particular example, the two interfaces store and manage information that the sequence view will have to frequent in order to perform vital operations. Other interfaces include a parts manager and database manager.

But what if you want to do more with your data you've manipulated? What if, after gathering all your parts, you want to calculate the optimal assembly scheme for a particular goal composite part? This is where the algorithm environment kicks in. The algorithm environment allows developers to make systems that take in quick one-liner inputs and spit out one-liner outputs. Let's say you wanted to program a partial matching utility into Clotho, where two sequences are given as inputs and a streamlined one-line primer match were spit back out. Algorithm manager provides you all the basic facilities to code such a utility.

Given all these features, there still need to be components that allow Clotho to connect to the outside world. Clotho connectors, so aptly named, perform this exact purpose. These components allow users to connect to databases through internet connections, or import and export data from existing files (think .gb, .ape, .str, etc).

But last, and certainly, certainly, not least, is the Clotho plug-in environment. This powerful environment allows developers both associated and not associated with the Clotho Project to create new and customized plug-ins to integrate with their versions of Clotho. Clotho was designed to be as fluid and flexible as possible! While the project is indeed open source, and users can always make new components by making new connections (see Project Technical), developers can now program personalized tools without knowing anything about the Clotho architecture, save the plug-in environment! Plug-ins are a bit of an intermediate between an algorithm and a component. It allows for relative customization, but also makes the programmer's life easier.

We have spent long and hard working hours to develop this tool, and we sure hope you enjoy it.

WELCOME TO CLOTHO!




Clotho Database Interaction

Clotho Database Interaction Models

A new concept we want to introduce to the synthetic biology community is this idea of database binding. This CAD-influenced concept provides software tools a way to understand biological part databases that can differ across content, ordering and/or architecture. Clotho understands a standard set of data by translating from unstandardized sets of data, and it remembers where unstandardized data came from. This allows Clotho to export unstandardized data to files understood by the community, or to simply take in unstandardized data, manipulate it under a standardized frame, and check in the edited information back to the unstandardized database. The figure to the right illustrates this.




Contact Us

For general information or to contribute: clothodevelopment AT googlegroups DOT com

For emails regarding any bugs: clothobugs AT googlegroups DOT com

For emails regarding any desired features: clothofeatures AT googlegroups DOT com

Sponsors

GSRC.png Chess.png