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,