14.06.2013 Views

Databases and Systems

Databases and Systems

Databases and Systems

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

273<br />

database the class Map refers to the genetic map of the chromosome. To facilitate the<br />

composition of queries, John McCarthy, Gary Aochi <strong>and</strong> Aarun Aggarval added to<br />

the Acedb graphic interface two helpful tools, Query-builder <strong>and</strong> Query-by-example<br />

which prompt the user for the correct fields <strong>and</strong> the correct syntax. Once written, the<br />

queries can be named, saved, reused <strong>and</strong> may contain positional runtime parameters.<br />

This language, which acts like a SQL Select statement, is complemented by Table-<br />

Maker, a graphical tool that leads the user through the steps of creating a tabular view<br />

of a portion of the database. Table-Maker allows the gathering of data from multiple<br />

object classes into a summary report for the purposes of visualization or data<br />

exportation. The table definition can then be saved <strong>and</strong> reused. In graphic mode, the<br />

complete table must be held in memory, <strong>and</strong> on normal machines this limits the<br />

length of the returned table to a few thous<strong>and</strong> lines. But after several rounds of<br />

optimization, the current acedb_4.5 release can export in text-only mode arbitrarily<br />

long tables without using much memory. Release 4.7 will incorporate a fuzzy logic<br />

layer which greatly accelerates the selection of rare objects <strong>and</strong> is the result of many<br />

years of discussions with Otto Ritter.<br />

The present system is efficient, expressive <strong>and</strong> well tested, but it is non-st<strong>and</strong>ard,<br />

<strong>and</strong> the table definitions are hard to compose outside of the graphic interface. In the<br />

meantime, the 02 group has developed the object query language OQL[5] which was<br />

adopted as a st<strong>and</strong>ard by the Object Definition Management Group ODMG. OQL is<br />

a large system, with nice features like the dynamic construction of new objects, but it<br />

is often clumsy; for example the syntax of a query differs if a field is single or<br />

multivalued, <strong>and</strong> OQL does not support well the recursivity of the Acedb schema.<br />

Other proposals, like Lorel [6], are closer to Acedb. Following those ideas, Richard<br />

Durbin started last year the design of a new query language for Acedb, which may be<br />

available by the end of 1998. This should simplify the querying of the database from<br />

external clients <strong>and</strong> allow more general questions.<br />

Client server<br />

Acedb is mostly used as a st<strong>and</strong>alone single user program, <strong>and</strong> indeed it runs well<br />

even on a low-end system. For example, the full C. elegans database is very useable<br />

even on a 133 MHz PC laptop running Linux. However, we have also developed a<br />

TCP/IP-based client/server architecture intended for heavy multi-user applications<br />

<strong>and</strong> Web-based interfaces. The server runs as a Unix network daemon, listening for<br />

requests from incoming clients, <strong>and</strong> replying with textual or graphical representations<br />

of objects (the latter are returned as binary GIF images). Data can be imported into<br />

the server locally or remotely in the form of .ace files, or bulk-loaded from FASTA<br />

files (nucleotide <strong>and</strong> protein sequences only).<br />

Several clients are defined: a simple dialog interface called aceclient, which has a<br />

very small overhead <strong>and</strong> is convenient to use interactively over a slow network or to<br />

embed within a shell script; a simplified restricted interface called jade2ace, which<br />

we use to communicate with Java clients, a complete Perl interface called AcePerl<br />

which is convenient for scripting, <strong>and</strong> finally a fully graphic client called xclient,

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!