[Biojava-l] SequenceDBInstallation

Thomas Down td2@sanger.ac.uk
Tue, 4 Jul 2000 15:08:54 +0100


On Mon, Jul 03, 2000 at 08:22:28PM +0200, Gerald Loeffler wrote:
> Hi!
>
> We need factories for SequenceDB objects and we need managers for
> SequenceDB objects such that e.g. there is only exactly one SequenceDB
> object that accesses the SwissProt flat file /data/sprot/sprot.dat.

Good point.  In general, BioJava doesn't have very much
to say about where SequenceDBs come from, right now.
The SequenceDBInstallation seems a nice design for basic
SequenceDB factory.  Anyone else have comments on this
interface?  Otherwise, it would be nice to get it checked
in before the 1.0 release.

But maybe this is the right time to start a slightly wider
debate: it's becoming increasingly clear that a LOT of
bioinformatics is about naming and directory services.
It would be nice if different parts of BioJava could provide
some consistant interfaces for looking at directories of
biological information.

There are already a few piecemeal attempts in place to
provide consistant naming frameworks for objects in BioJava:

  - The Sequence interface has a URN property.  There
   are some suggested schemes giving URNs like:
 
           urn:sequence/embl:U32766

    For databases like EMBL and Swissprot which have
   reasonably stable sequence IDs, and are widely
   mirrored with local installations at many sites,
   URNs like this could be a good answer to a lot of
   Sequence-discovery issues.  Right now, there isn't
   a URN resolver in BioJava, but this could change.
   Interfaces like SequenceDBInstallation could provide
   a lot of the support necessary to make a URN scheme
   like this really practical.

  - In the latest version of the ACeDB access framework,
   every database is now defined by a URL, and it is possible
   to write a URL for any class, object, or tag in any ACeDB
   database.

I'd like to see a continued push towards URI-like naming
schemes.

I'm also starting to wonder if it might not be time to look
into the Java Naming and Directories Interface (JNDI) which
is included in JDK1.3, and available as an optional package for
earlier Javas.  The big API for this has always scared me a little
bit, but I've been and had another look today, and perhaps it's
not as bad as it first looks, at least for simple applications.
In the medium term, I'd be happy to look into writing a biological
JNDI service provider, maybe as an optional add-on on top of the
BioJava core.

Any other views on this?

Thomas.
-- 
He looked up with big brown eyes.  ``They're really only
tiny little A-bombs, honest.''
                                     -- David Brin.