OpenWetWare:Software/Flexible Science Databases

{| cellspacing="3" width="712px" class="green1" cellpadding="3"

Overview
There is a need for a flexible database system in the sciences. Databases exist, but how many of us want to learn the messy SQL syntax, or put more than 20 records in an unwieldy Excel spreadsheet? We all have needs for a really simple way to create a database, the way that makes sense to us for our projects, not the way that is shaped by a specific tool, originally built for another purpose. We would also like really simple ways to enter that data. Those two features combined would enable all of the scratching in the lab notebooks and envelopes to be put together digitally - indexing, searching, sharing, extending - they all become trivial.

This page is a brainstorming forum for how to shape such a tool - what it should be able to do, how to make it, what it could be used for, etc. The first major hurdle in building a tool is to come up with a concrete concept - the hope is that we can achieve this through discussion and this forum.

Your contribution is vital! You are the scientists and end-users. All of your comments will shape whatever comes out of this discussion. Please post ideas on the discussion page, eventually they will be migrated over here as things take shape. Keep following the progress - it will be fun to see how your individual contributions are weaved together!

Announcements
Lucks 20:04, 14 April 2006 (EDT): I have completed the basic outline and content of this page - I look forward to hearing from all of you!

The Idea
The goal is some flexible framework where it is easy to create and modify databases on the fly, with nice user interfaces for database entry. Flexible online databases, customizable and maintained by a big group of people with little computer knowledge - but expert knowledge on the subject covered by the database would add an enormous value to OWW, and the scientific community as a whole. One can also envision some sort of peer evaluation for the validity of the entries (i.e. something along the lines of what they use for stories and comments, over at digg.com).

Features

 * Easy to use database creation.
 * Easy to specify database design - especially variable codings. We would like a way to store a variable in the database in a machine-understandable way (for example an NCBI accession number), but display it in a human-understandable way (the gene name).

Possible Uses

 * Your own fully-customizeable literature database that would be able to store literature references and associated information, exactly how you wanted. (For an example and an implementation that sparked this discussion, see the Pica Literature Database).


 * Quick and dirty literature searches where you want to extract just a few pieces of information from each reference, then search through them later. (For an example, see PubMed Searches for Phage Gene Expression, which is implemented with Wufoo).

Implementation Ideas
A web-based implementation seems to make the most sense since it will allow powerful data sharing, synchronization, distribution, etc. It will also allow integration with the many new types of information that will be available with the Web 2.0. To that end, there are several possibilities:


 * An XML grammer designing scheme whereby user input is translated into an XML grammer. Some sort of form is filled out, and the record is stored as flat XML.
 * Frontend to a serious database. Here the full gamut of relational databases could be used (without the user knowing).
 * Wiki template pages - the database design could come in the form of designing a wiki template. Records are entered by filling out the template similar to the OWW Calendar.  After all, Mediawikis are just user interfaces for database entry of content pages.

Sources of Inspiration

 * Wufoo has many of the features we would want with some shortcomings. It does look really nice though!
 * Ruby on Rails Screencasts: one look at Creating a Weblog in 15 Minutes will make you realize that the only step not done by Rails is the original database creation!

Want to get this going?
If you are interested in more than contributing to this wiki page, see Lucks for contact information.
 * }
 * }